打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
TFTLCD原理与驱动与指令介绍

一,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_VDDBL_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,选中ILI93413,根据读/写数据,将置RD/WR置低

4-1.读数据:在RD的上升沿, 读取数据线上的数据(D[15:0])

4-2.写数据:在WR的上升沿,使数据写入到ILI9341里面

五,ILI9341驱动的几个重点时序

1,读ID低电平脉宽(trdl) ID指LCD的ID号trdl低电平最小持续时间需要45ns2,读ID高电平脉宽(trdh)trdl低电平最小持续时间需要90ns

3,读FM低电平脉宽(trdlfm) FM指帧缓存,即:GRAM读取FM低电平脉宽最小持续时间trdlfm需要355ns4,读FM高电平脉宽(trdhfm)读取FM高电平脉宽最小持续时间trdlfm需要90ns结论: 读FM低电平时速度比较慢,高电平和读ID相同都是90ns5,写控制低电平脉宽(twrl)写LCD低电平最小持续时间15ns6,写控制高电平脉宽(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,为00H4,RS=1数据,WR=1为读取,在RD上升沿读取参数3,为93H5,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和ECSC和EC是列地址的起始值和结束值,所以SC必须小于ECLCD分辨率是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-勘误-修改错别字,及部分逻辑

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何快速驱动一款LCD屏
STM32学习笔记一一TFTLCD 显示
Stm32的TFT LCD显示器控制学习笔记
彻底搞定STM32F103VE-FSMC
TFT液晶显示模组(1)
玩转12864液晶:3串行驱动 -- 在路上
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服