这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 平民玩示波器来个全家福shangziyun ARM开发板DIY进程帖

共62条 4/7 |‹ 2 3 4 5 6 7 跳转至
专家
2012-04-14 10:04:56     打赏
31楼
24C02 EEPROM读写,超级终端显示



源码在下面

源码包括主函数、I2C函数、串行数据、配置、输入输出、目标函数等

——回复可见内容——

专家
2012-04-14 23:52:06     打赏
32楼
上班时间发到您手里

专家
2012-04-15 13:44:37     打赏
33楼
引用halibote523的原贴

STM中FSMC的讲解

对于TFT液晶的驱动理解会更加深刻

大家可能在STM中看到FSMC,那么STM是什么呢??他有什么好处呢??
现在就我的一些理解简单的讲解一下!

FSMC翻译过来就是灵活的静态存储器控制器,是用来驱动外部总线的。
关于外部总线,你可以想象一下51的外部总线,STM32的FSMC实际上跟51的外部总线是一样的,只不过性能更好,速度更快。
至于总线的优势,可以举个51外部总线的例子,51单片机驱动1864或者1602液晶,如果用IO口模拟液晶的时序,需要用指令分别控制RS,WR,EN控制线还有数据线;但是如果用的是外部总线,从汇编指令上来讲,只需要一条MOVX指令就解决问题了。二者的速度一目了然!

在一些TFT液晶的操作用经常用得到,并且非常的好用!(以一个TFT为例)
TFT的数据接口为:D0-D15或者D0-D8.
TFT的控制线有:复位信号RST,片选CS,输出使能RD(读信号),写信号WE以及RS信号。
于STM32连线为: RST->GPIO, CS->NEx, RD->NOE, WE->RW, RS->A0(或者其他任何一条地址线)
关键的一点就在于这个RS信号(我只说关键的这一点):
一般TFT的地址线只有1个RS.
以控制芯片的TFT为例.RS=0的时候一般是写命令,RS=1的时候是写数据,把TFT作为只有2个地址的存储器对待.
RS接到哪一个地址线都是可以的。假如RS接到A0,而片选为NE4,总线宽度8位.
那么可以定义
#define Bank1_SRAM4_ADDR    ((u32)0x6C000000)
#define LCD_DATA_ADDR (Bank1_SRAM4_ADDR + 1)
#define LCD_CMD_ADDR  (Bank1_SRAM4_ADDR + 0)

那么写命令数据就是直接往LCD_CMD_ADDR写数据:(假设cmd,data为16位,而我的TFT数据接口是8位)
LCD_WRITE_CMD(unsigned short cmd)     //写命令到TFT,16位要写2次
{
*(vu8*)LCD_CMD_ADDR=(cmd>>8);
*(vu8*)LCD_CMD_ADDR=(cmd);
}
写数据就是直接往LCD_DATA_ADDR写数据:
LCD_WRITE_DATA(unsigned short Data) //写数据到TFT
{
*(vu8*)LCD_DATA_ADDR=(Data>>8);
*(vu8*)LCD_DATA_ADDR=(Data);
}

至于RD,WE,RS,CS信号都已经是FSMC控制器自动产生的,不用理会,不过当然是FSMC及GPIO初始化要正确.而RST信号还是需要通过操作GPIO来完成的.

这是最基本的2个操作。而那些什么设置X,Y,设置窗口,设置亮度,设置。。。。都是由这2个操作组合完成的。

72M HZ,320*240刷单色屏速度在 32fps左右.


专家
2012-04-16 07:22:26     打赏
34楼
下一步,ADC实验

专家
2012-04-22 18:59:45     打赏
35楼
        花了快一个星期,查阅参考书,参阅网上相关程序,终于弄出了ADC的实验
        试验用到了STM32的PC3口,也就是ADC_IN13,在这里要晾一晾我发现的PCB板上的一个小错误(硬件上没太大影响)。在PCB板上画圈的那个地方


本来PC0—PC3应该和ADC_IN10—ADC_IN13一一对应的,但,PCB板的丝印却成了图上的那样,再来看看原理图


所以说,这里有一点小小的问题,还好,我查了下PCB,没有太大的问题,但要注意一点:实际的电路板虽然把丝印给搞混了,但真正的PC0—PC3没有标错,也就是只要把PCB板上的ADC_IN10——ADC_IN13给反序标到PCB板上即可

专家
2012-04-23 07:09:10     打赏
36楼
您的意思是......

专家
2012-04-23 10:19:36     打赏
37楼
昨天没来得及上实验结果,今天补上



面包板上搭一个电位器,中间抽头连电阻限流






可变电阻器两端接到3.3V和地




ADC输入接到PC3也就是ADC_IN13(这个在电路板上是ADC_IN10,板子上的小错误)




测量的数字量化值串口读取




改变模拟输入电压




改变输入电压后在串口输出的量化值,明显数值变大了


专家
2012-04-24 10:44:27     打赏
38楼
正在逐步进行,这不时间又加了一个月,应该够了

专家
2012-04-24 10:45:43     打赏
39楼
这句话从何而来?

专家
2012-04-25 16:56:44     打赏
40楼

——回复可见内容——


实验步骤同http://forum.eepw.com.cn/thread/207716/7#61


共62条 4/7 |‹ 2 3 4 5 6 7 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]