历史上的今天
今天是:2025年04月17日(星期四)
2018年04月17日 | STM32 FSMC 驱动80总线液晶屏的方法的解释
2018-04-17 来源:eefocus
这里先看TFT液晶屏所谓的80时序图:
当我们对比之后发现STM32的FSMC的SRAM时序和80总线很相近,也可以套用:
在这里只要把地址线当成RS就可以相当于80时序了,具体实现方法是这样的:
把A0连接到RS,那么当我对0地址进行读写方式的时候A0将会输出0,这也就相当于命令的读写,当我地1地址进行读写的时候,那就相当于对数据的读写,这样就巧妙的避开了地址的问题,因为液晶是地址数据复用的,我们在代码里也可以看到这个结构体:
typedef struct
{
vu16 LCD_REG;
vu16 LCD_RAM;
} LCD_TypeDef;
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A10作为数据命令区分线
//注意设置时STM32内部会右移一位对其!
#define LCD_BASE ((u32)(0x6C000000 | 0x000007FE))
#define LCD ((LCD_TypeDef *) LCD_BASE)
从这里可以看到液晶的寄存器确实是在液晶的数据前面,当给LCD_REG赋值的时候对液晶来说相当于命令的写,当然读取这个地址的时候就相当于读命令,LCD_RAM就是数据的读写,仔细分析能够发现LCD_REG和LCD_RAM其实都是在数据区的地址,也就说明,根本就没有任何地址区的操作,千万不要混淆这些概念。
下面是原子自己的解释:
史海拾趣
|
感谢论坛好友对我第一个问题回答。 问题: VIVI启动后,我根据其手册上load的用法,做了如下事情: load ram 0x30008000 0x6000 x 发送一个system.bin(由arm fromELF生成的 plain binnary文件) 我的思路是不用从FLASH中加载到RAM中,我自己把 ...… 查看全部问答> |
|
eboot系列问题--------------请教EBOOT.BIB和CONFIG.BIB中的内容! config.bib: ; 8000.0000 -+ ; | Bootloader Stack (64KB) ; 8001.0000 -+ ; | Bootloader RAM (64KB) ; 8002.0000 -+ ; &nb ...… 查看全部问答> |
|
华禹工控及移动微平台介绍 华禹工控原是深圳市华禹高科技有限公司的一个行业应用事业部,从08年底独立运作,11年4月正式独立于华禹高,注册公司为深圳市华禹工控科技有限公司,独立地址运作办公。 华禹工控的独立转型做行业应用,也算是深 ...… 查看全部问答> |
|
我采用的是ICCAVR7.22进行编译,AVRStudio4.18进行调试,仿真器为JTAG_MKII 编写的程序不是很复杂,包括串口中断、AD中断和定时器中断在硬件仿真时出现问题 计算乘法时,计算数据错误,如下: double A double B unsigned int C C=(unsinged ...… 查看全部问答> |
|
这是一个锂电池充电电路,请问下图这部分是不是负责监测是否充满的电路,充满绿灯亮,充电中红灯亮? 还有一个问题,TL43是稳压电路,Q2应该就是频繁的开关管,充电的,但是R2与Q2之间的连接原理是什么? \0\0\0eeworldpostqq… 查看全部问答> |




