MCU-LCD屏与RGB-LCD屏主要区别在于显存的位置:
RGB-LCD的显存是由系统内存充当的,因此其大小只受限于系统内存的大小,这样RGB-LCD可以做出较大尺寸,像现在4.3只能算入门级,而MID中7、10的屏都开始大量使用。
MCU-LCD的设计之初只要考虑单片机的内存较小,因此都是把显存内置在LCD模块内部。然后软件通过专门显示命令来更新显存,因此MCU屏往往不能做得很大。同时显示更新速度也比RGB-LCD慢。
MUC接口主要又可以分为:
MUC接口主要又可以分为8080模式和6800模式,这两者之间主要是时序的区别;数据位传输有8位,9位,16位,18位,24位; 连线分为:CS/,RS(寄存器选择),RD/,WR/,再就是数据线了。
6800模式
有一个 8 位双向数据总线,一个可以寻址 64 KB 内存的 16 位地址总线。
因为6800这极大地方便了扩展,使其后面应用在很多通信领域,但6800和8080扩展接口的控制方式有所区别:一个“读使能(RE)”和“写使能(WE)”,另外一个“总使能(E)”和“读写选择(W/R)”
M6800模式支持可选择的总线宽度 8/9/16/18-bit (默认为8位),其实际设计思想是与I80的思想是一样的,主要区别就是该模式的总线控制读写信号组合在一个引脚上(/WR),而增加了一个锁存信号(E)数据位传输有8位,9位,16位和18位。
8080模式
LCD 8080接口
液晶显示模组中带有一个液晶控制器,这个控制器中通常会支持8080模式。
8080接口通常有这些信号:
-
/RES:复位
-
DB0~DB7:双向数据
-
D/I:数据/指令选择(1:数据读写,0:命令读写)
-
CS:片选信号
-
/WR:写入数据控制信号
-
/RD:读入数据控制信号
读写数据
读时序图
通用时序图如下:
读数据的过程:
- CS 拉低,选中
- DC/RS 为高(读数据)
- WR 为高,禁止写
- 在RD的上升沿,读线上的数据(D[0:7]),假设8位 8080并口
- CS 拉高,取消片选
伪代码:
LCD_CS = 0; //开始片选
LCD_DC = 1; //读数据
LCD_WR = 1; //禁止写
LCD_RD = 0; //开始读
data = DATAIN();//读取数据
LCD_RD = 1; //结束读
LCD_CS = 1; //结束片选
写入数据
写时序图
写数据的过程:
- CS为低,选中
- RD为高, 禁止写
- DC/RS为高(写数据,写命令拉低)
- 在WR的上升沿,使数据写入到 驱动 IC 里面
- CS为高,结束一组数据读取
伪代码:
LCD_CS = 0; //开始片选
LCD_RD = 1; //禁止读
LCD_DC = 1; //写数据
DATAOUT(Data); //输出数据 ,先准备好数据,然后上升沿一次性更新到lcd
LCD_WR = 0; //写入开始
LCD_WR = 1; //写入结束
LCD_CS = 0; //结束片选