没买LCD屏,没有上机实践,只是学习了理论。
大部分图片来源:正点原子HAL库课程
专栏目录:记录自己的嵌入式学习之路-CSDN博客
目录
1 屏幕接口
2 屏幕驱动的基本步骤
3 8080时序的各信号线
4 8080的读和写
5 屏幕的常用指令
5.1 读ID
5.2 访问控制
5.3 列地址设置
5.4 页地址设置
5.5 写GRAM指令
5.6 读GRAM指令
5.7 注意事项
1 屏幕接口
MCU屏接口由于自带SRAM,驱动简单,大部分单片机都能驱动!
MCU接口也是前面OLED章节中说到的8080接口。
2 屏幕驱动的基本步骤
3 8080时序的各信号线
4 8080的读和写
注意⚠️!读数据的ram = LCD_DATA_IN需要写在上升沿产生过程中,如上图所示,若写在产生完毕,则无效。
5 屏幕的常用指令
5.1 读ID
读指令主要是为了读取LCD的控制器ID,不同的控制器有不同的初始化参数,读取它就是为了后续配置不同控制器的初始化函数。
发送D3指令后,会返回四个参数,具体的看下图,其中参数1为假读参数,没用的,参数3、4代表了驱动的型号9341。
5.2 访问控制
5.3 列地址设置
一般在最开始就设置一下范围,就是整个X轴范围,后面就仅需设置起始坐标就可以了。这里结束坐标主要就是用于后面写GRAM指令的自增机制,后面详解。
5.4 页地址设置
一般在最开始就设置一下范围,就是整个Y轴范围,后面就仅需设置起始坐标就可以了。这里结束坐标主要就是用于后面写GRAM指令的自增机制,后面详解。
5.5 写GRAM指令
X、Y轴的结束坐标就是为了此处参数的连续写入的,在发送指令后连续写入的参数会按照访问控制中设置的方向进行自增写入,而像素的坐标边界则由列地址设置和页地址设置中的结束坐标进行指定,从而完全实现连续的写入。
5.6 读GRAM指令
与写GRAM指令相同,也支持连续读的模式,从而使得效率加快。
5.7 注意事项
为了更高的刷新率,可使用寄存器操作代替屏幕操作中的HAL库操作。