一,TFTLCD简介
TFTLCD : 薄膜晶体管液晶显示器
在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT)
克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,提高图像质量
TFTLCD优点:
亮度好,对比度高,层次感强,颜色鲜艳,是目前最主流的LCD显示器
广泛用于电视,手机,电脑,平板等各种的电子产品
二,ALINETEK 2.8寸 TFTLCD模块介绍
240*320分辨率
16位真彩显示(65536色)
自带电阻触摸屏
自带背光电路
三,ALINETEK 2.8寸 TFTLCD模块原理图
1,2.8寸LCD引脚
2,TFTLCD 为对外接口,引出2*17排针
3,电阻触摸屏驱动XPT2046
4,触摸屏信号控制
TFT2.8 12-15引脚 X+ Y+ X- Y- 为电阻触摸屏信号,连接到XPT2046,再由TFTLCD引出
5,LCD的兼容处理
IM0:兼容不同LCD的兼容处理,由于2.8寸屏不支持8或16位设置,所以此处R1,R2未焊接
LEDA为LCD背光控制,背光电压可以选择3.3V或来自BL_VDD
BL_VDD来自TFTLCD的BL_VDD,可不接,开发板上接5V
此处R3焊接,R4未焊接,所以BL_VDD无用,LEDA=3.3V
6,LCD背光控制电路
通过TFTLCD的BL_CTR引脚,控制S8050三极管,从而控制背光是否点亮,R6-R9为限流电阻
三,ALINETEK 2.8寸 TFTLCD对外接口说明(16位80并口)
LCD_CS:LCD片选信号
LCD_WR:LCD写信号
LCD_RD:LCD读信号
DB[17:1]:16位双向数据线。
LCD_RST:硬复位LCD信号
LCD_RS:命令/数据标志 (0:命令,1:数据)
BL_CTR:背光控制信号
T_MISO/T_MOSI/T_PEN/T_CS/T_CLK,触摸屏接口信号
注意:DB1~DB8,DB10~DB17,共16引脚,总是按顺序连接MCU的D0~D15
如果我们只是要点亮LCD,不使用触摸屏可不接相关引脚(29-34)
四,ALINETEK 2.8寸 TFTLCD 16位80并口驱动
模块的8080并口读/写的过程为:
1,先根据要写入/读取的数据的类型,设置RS为高(数据)/低(命令)
2,拉低片选CS,选中ILI9341
3,根据读/写数据,将置RD/WR置低
4-1.读数据:在RD的上升沿, 读取数据线上的数据(D[15:0])
4-2.写数据:在WR的上升沿,使数据写入到ILI9341里面
五,ILI9341驱动的几个重点时序
1,读ID低电平脉宽(trdl) ID指LCD的ID号
trdl低电平最小持续时间需要45ns
2,读ID高电平脉宽(trdh)
trdl低电平最小持续时间需要90ns
3,读FM低电平脉宽(trdlfm) FM指帧缓存,即:GRAM
读取FM低电平脉宽最小持续时间trdlfm需要355ns
4,读FM高电平脉宽(trdhfm)
读取FM高电平脉宽最小持续时间trdlfm需要90ns
结论:
读FM低电平时速度比较慢,高电平和读ID相同都是90ns
5,写控制低电平脉宽(twrl)
写LCD低电平最小持续时间15ns
6,写控制高电平脉宽(twrh)
写LCD高电平最小持续时间15ns
结论:
写LCD速度较快
4个读时序(主要用于配置FSMC的读时序)和2个写时序(主要用于配置FSMC的写时序)
如果开发板没有FSMC,可以使用IO模拟的方式实现,此时不需要关注时序,因为一定会大于最小时间
六,TFTLCD驱动流程
硬复位:
1,连接到MCU复位引脚,随MCU一起复位
2,连接到MCU的IO引脚,先拉低,延迟,再拉高实现复位
初始化序列:
由LCD厂家提供,不同厂家不同型号都不相同
写GRAM:
0X2C指令,详见后续
读GRAM:
0X2E指令,详见后续
七,TFTLCD驱动原理-指令
1,RGB565
模块对外接口采用16位并口,颜色深度为16位,格式为RGB565
2,ILI9341指令
指令格式:
ILI9341所有的指令都是8位(高8位无效)
参数除了读写GRAM的时候是16位,其他操作参数也都是8位的
重要指令
1,0XD3-读ID4指令
读取LCD控制器ID,可根据ID执行不同的LCD驱动初始化,实现多屏幕兼容
1,RS=0命令,RD=1为写入,在WR上升沿写入指令0xD3,高8位无效
2,RS=1数据,WR=1为读取,在RD上升沿读取参数1,为无效参数
3,RS=1数据,WR=1为读取,在RD上升沿读取参数2,为00H
4,RS=1数据,WR=1为读取,在RD上升沿读取参数3,为93H
5,RS=1数据,WR=1为读取,在RD上升沿读取参数4,为41H
结论:由参数3和参数4,组成LCD控制器ID-9341,确定执行9341的驱动代码
2,0X36-储存访问控制指令
可以控制ILI9341控制器的读写方向,即GRAM指针自增方向,从而控制显示
1,RS=0命令,RD=1为写入,在WR上升沿写入指令0x36,高8位无效
2,RS=1数据,RD=1为写入,在WR上升沿写入参数数据,高8位无效
参数D5-D7位,控制GRAM自增方向,配置如下:
3,0X2A-列地址(X轴)设置指令
用于设置横坐标,默认从左到右,从上到下,由0x36指令设置储存访问控制
发送一个指令0X2A+四个参数确定两个坐标分别是SC和EC
SC和EC是列地址的起始值和结束值,所以SC必须小于EC
LCD分辨率是240*320,所以SC/EC不能大于240(0-239)
一般设置X坐标值,EC无变化(初始化已设置),只需设置SC(参数1和参数2)即可
4,0X2B-页地址(Y轴)设置指令
用于设置纵坐标,默认从左到右,从上到下,由0x36指令设置储存访问控制
与列地址设置指令相似:
发送一个指令0X2B+四个参数确定两个坐标分别是SP和EP
SP和EP是页地址的起始值和结束值,所以SP必须小于EP
LCD分辨率是240*320,所以SC/EC不能大于320(0-319)
一般设置Y坐标值,EP无变化(初始化已设置),只需设置SP(参数1和参数2)即可
应用:使用0X2A和0X2B指令可以在LCD屏进行开窗
5,0X2C指令-写GRAM指令
发送该指令后可向LCD-GRAM写入颜色数据,支持连续写入,地址自增,由0x36指令设置储存访问控制
1,RS=0命令,RD=1为写入,在WR上升沿写入指令0x2C,高8位无效,随后可以写入颜色数据
2,RS=1数据,WD=1为写入,在WR上升沿可连续写入n个颜色参数,参数长度为16为即RGB565
6,0X2E指令-读GRAM指令
用于读取ILI9341的显存GRAM,支持连续读取,地址自增,由0x36指令设置储存访问控制
1,RS=0命令,RD=1为写入,在WR上升沿写入指令0x2E,高8位无效,随后可以读取颜色数据
2,ILI9341收到0x2E指令后,第一次输出为dummy,即无效参数,从第二次开始为有效GRAM数据
3,RS=1数据,WR=1为读取,在RD上升沿可连续读取n个颜色参数,参数长度为16为即RGB565
如图所示,输出规律:
如:第一次输出R1G1,第二次输出B1R2->G2B2->R3G3->B3R4...
修改记录:
20161210-勘误-修改错别字,及部分逻辑
上一篇:STM32定时器中断实验
下一篇:意法半导体推出下一代安全微控制器
推荐阅读最新更新时间:2024-11-17 14:26
设计资源 培训 开发板 精华推荐
- 具有宽范围 VDD 输入的 LTC2945IMS 宽范围电源监视器的典型应用
- LT3970IMS-5 5V、2MHz 降压转换器的典型应用
- FAN6224 用于反激和正向续流整流的同步整流控制器的典型应用
- 当 LTC2377HMS-18 中启用数字增益压缩时,使用 LT6350 的典型应用被配置为接受 ±10V 输入信号,同时运行一个 5.5V 单电源
- DM160222、CAP1188 评估套件为评估和开发各种电容式触摸感应应用提供了一个简单的平台
- 【ART-Pi】基于RTT空气质量监测-525354A
- 使用 Panasonic 的 NN30321A 的参考设计
- ADR395A 5 Vout 微功率、低噪声精密电压基准的典型应用
- niudingzuoye
- MIKROE-3814,基于 SPV1050 超低功率能量收集器和电池充电器的 Peltier Click Board
- 有奖直播|安森美高能效产品在 EV-Charger 市场的应用
- ADI有奖直播:储能系统助力电动汽车快充站的建设 8月31日上午10:00-11:30 为您揭晓!
- 恩智浦无线MCU应用征集+100套开发套件申请
- 月度原创精选评选2018年2月(总第2期)
- 下载《TI MCU与无线连接技术研讨会讲座实录》更多惊喜等着你!
- 是德科技有奖问答活动之三,极限温度测试示波器探头方案,答题闯关赢好礼!
- 直播已结束【通过集成隔离数据和电源 IC 降低辐射】
- Microchip直播:单片机编程不再难, 利用MPLAB®代码配置器(MCC)实现快速开发
- EEworld新春感恩回馈之ST新出道“高富帅”STM32F746G-DISCO 199元包邮