藏经阁(八)LCD控制器 ILI9341 解析


TFT屏幕介绍

LCD(Liquid CrystalDisplay)的全称是液晶显示器,是现在用的比较多的手机屏幕材料,特点是价格便宜,使用普及广泛,在显示的时候需要有背光的支持。
LCD 拥有不同显示技术包括:TFT、 IPS、SLCD、UFB、SNT、NOVA等,常见的就有今天要介绍的TFT屏。
TFT屏,又称薄膜场效应管液晶屏。 液晶屏内每个像素点都是由薄膜晶体管来驱动,每个像素点相对独立,并可以连续控制,可以精准控制显示色阶层。


LCD控制器

LCD控制器就是驱动TFT-LCD显示器的关键,它可以将接收到的信号转换的信号转成TFT-LCD屏需要的信号。控制器一般都集成在TFT-LCD模组内。


ILI9341控制器内部框图

在这里插入图片描述
RESX: 复位信号线
CSX: 片选信号线
D/CX: 数据与命令信号线
WRX: 写使能信号
RDX: 读使能信号线
DB[17:0]: 数据总线,支持8/9/16/18位
GRAM用于存放屏幕数据


ILI9341时序详解

ILI9341写时序:
在这里插入图片描述
1、片选CSX拉低(选中芯片)
2、数据与命令信号线D/CX拉低(发送命令)
3、写使能信号WRX拉低(写使能)
4、发送写命令数据(主机发送给LCD)
5、数据与命令信号线D/CX拉高
6、写使能信号WRX拉低(写使能)
7、发送数据(主机发送给LCD)

ILI9341读时序:
在这里插入图片描述
1、片选CSX拉低(选中芯片)
2、数据与命令信号线D/CX拉低(发送命令)
3、写使能信号WRX拉低(写使能)
4、发送写命令数据(主机发送给LCD)
5、数据与命令信号线D/CX拉高
6、读使能信号RDX拉低(读使能)
7、读取数据(LCD发送给主机)注:读出的第一个数据无效,第二个数据开始才是有效数据


RGB565数据格式

RGB565指的是红绿蓝(RGB)三原色在D[15:0]16位数据中的位数分布。
16位数据描述像素点的三原色比例为R:G:B=5:6:5

数据传输宽度:16位
红色:D11 - D15
绿色:D5 - D10
蓝色:D0 - D4
任何颜色都可以用三原色进行组合生成。可以组成25*26*2^5种颜色。

举例:
显示纯红色:0b11111 000000 00000
显示纯绿色:0b00000 111111 00000
显示纯蓝色:0b00000 000000 11111
显示纯黑色:0b00000 000000 00000
显示纯白色:0b11111 111111 11111

程序中只要控制每个像素点的D[15:0]16位数据值就能控制TFT屏幕中的每个像素点颜色。


相关命令详解

1、读芯片ID号 (0xD3)

在这里插入图片描述
1、先发命令0xD3
2、连续获取获取4个16位数据(注:读到的第一个16bit数据是无效的)

2、内存访问控制(0x36)

在这里插入图片描述
1、先发命令0x36
2、发送数据

Bit 名字描述
MY横地址顺序控制MUC读写内存的方向
MX列地址顺序
MV横/列地址交换
ML垂直刷新顺序LCD垂直刷新方向控制
BGRRGB-BGR顺序颜色选择开关控制
(0=RGB滤色器面板;1=BGR滤色器面板)
MH水平刷新顺序LCD水平刷新方向控制

控制屏幕刷新顺序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、横向窗口地址设置(2Ah)

此命令用于定义MCU可以访问的帧内存区域。
在这里插入图片描述
(1)先发命令0x2A
(2)发送窗口第一个横向坐标值的高8位 SC[15:8]
(3)发送窗口第一个横向坐标值的低8位 SC[7:0]
(4)发送窗口第二个横向坐标值的高8位 EC[15:8]
(5)发送窗口第二个横向坐标值的低8位 EC[7:0]

SC[15:0]和EC[15:0]定义
在这里插入图片描述

注:SC[15:0]必须等于或小于EC[15:0]。
当SC[15:0]或EC[15:0]大于00EFh(当MADCTL的B5 = 0)或013Fh时(当MADCTL的B5 = 1时),超出范围的数据将被忽略。

4、页地址设置(2Bh)

此命令用于定义MCU可以访问的帧内存区域。
在这里插入图片描述
(1)先发命令0x2B
(2)发送窗口第一个纵向坐标值的高8位 SP[15:8]
(3)发送窗口第一个纵向坐标值的低8位 SP[7:0]
(4)发送窗口第二个纵向坐标值的高8位 EP[15:8]
(5)发送窗口第二个纵向坐标值的低8位 EP[7:0]

在这里插入图片描述
注:SP[15:0]总是等于或小于EP [15:0]
当SP(15:0)或EP(15:0)大于013Fh(当MADCTL’s B5 = 0)或00EFh(当MADCTL’s B5 = 1)超出范围的数据将被忽略。

5、写内存(2Ch)

该命令用于将数据从MCU传输到帧内存。
当这个命令被接受时,列寄存器和页寄存器被重置到开始列/开始页的位置。然后将D[17:0]存储在帧存储器中,列寄存器和页寄存器加1。
发送任何其他命令都可以停止帧写入。
在这里插入图片描述
(1)先发命令0x2B
(2)连续发送需要显示的数据


实战应用

STM32F103 高级外设 —— TFT_LCD屏框架以及填充颜色 详解

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bazinga bingo

您的鼓励就是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值