ILI9341控制器六条关键指令说明

ILI9341是液晶控制器的一种,其自带172800(4032018/8)的显存,即18位模式(6万色)的显存量。在16位模式下,ILI9341采用的是RGB565格式进行颜色数据的存储,16位数据从低到高依次代表蓝色、绿色、红色,其中蓝色占了最低的5位,红色占了最高的5位,中间6位为绿色。其中数值越大表示该处颜色越深。该驱动器和其他驱动器相比有一点不同:其所有指令都是低8位有效,高8位无效,且参数除了读写GRAM的时候是16位,其他操作参数都是8位。
以下部分介绍该款液晶控制器6个常用的命令。
1、0XD3  这个指令的作用是读取ID4,也就是用于读取LCD控制器的ID。指令表如下:
ILI9341控制器六条关键指令说明_第1张图片
在该指令表中可以看出,0XD3指令后面有4个参数,最后两个参数:0XD3和0X41,是控制器ILI9341的数字部分。因此,通过这条指令我们就可以判断所用的LCD驱动器是什么型号,在编程时就可以根据控制器的不同型号去执行对应IC的初始化代码,做到同时兼容不同IC的各类屏幕,使得一个代码可以支持多款LCD。
2、0X36(存储访问控制指令)  该指令在连续写/读 GRAM 的时候,可以控制 GRAM 指针的增长方向,从而控制显示方式。该指令的指令表:
ILI9341控制器六条关键指令说明_第2张图片
通过对该指令表中MY,MX,MV三个参数的设置,可以控制整个ILI9341的扫描方向。
ILI9341控制器六条关键指令说明_第3张图片
设置好扫描方向后,我们只需要设置一次坐标,然后不停的往LCD里面填充颜色即可,这样可以大大提高显示速度。
3、0X2A(列地址设置指令)  默认扫描方式:从左到右,从上到下,该指令用于设置横坐标。指令表如下:
ILI9341控制器六条关键指令说明_第4张图片
该指令带有四个参数,实际上是两个坐标值:SC 和 EC,即列地址的起始值和结束值。
4、0X2B(页地址设置指令)默认扫描方式:从左到右,从上到下,该指令用于设置纵坐标。指令表如下:
ILI9341控制器六条关键指令说明_第5张图片
该指令带有四个参数,实际上是两个坐标值:SP 和 EP,即页地址的起始值和结束值。
5、0X2C(写 GRAM 指令) 发送该指令之后,可以往LCD的 GRAM 里面写入颜色数据,该指令支持连续写。指令表如下:
ILI9341控制器六条关键指令说明_第6张图片
收到指令 0X2C 之后,数据有效位宽变为 16 位,可以连续写入 LCD GRAM 值,而 GRAM 的地址将根据 MY/MX/MV 设置的扫描方向进行自增。
6、0X2E(读 GRAM 指令) 用于读取 ILI9341 的显存(GRAM)。指令描述:
ILI9341控制器六条关键指令说明_第7张图片
ILI9341 在收到该指令后,第一次输出的是dummy数据,也就是无效的数据,第二次开始,读取到的才是有效的 GRAM 数据(从坐标:SC,SP 开始),输出规律为:每个颜色分量占 8 个位,一次输出 2 个颜色分量。比如:第一次输出是 R1G1,随后的输出规律为:B1R2→G2B2→R3G3。。。

你可能感兴趣的:(程序员人工智能机器人)