1、TFTLCD简介

TFTLCD即薄膜晶体管液晶显示屏。它与无源TN-TLCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),可以有效的克服非选通时的串扰,使液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。

TFTLCD具有:亮度好、对比度高、层次感强、颜色鲜艳等特点。目前是最主流的LCD显示器。广泛应用于电视、电脑、手机、平板等各种电子产品。

2、ALINETEK 2.8寸TFTLCD模块特点

(1)240*320分辨率 (2)16位真彩显示 (3)自带电阻触摸屏 (3)自带背光电路

注意:模块是3.3V供电的,不支持5V电压的MCU,如果是5V电压的MCU,必须在信号线串接120Ω电阻使用。

3、ALINETEK 2.8寸TFTLCD接口说明(16位80并口)

注意:DB1~DB8,DB10~DB17,总是按顺序连接MCU的D0~D15

·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,触摸屏接口信号

4、ALINETEK 2.8寸 TFTLCD 16位80并口驱动简介

模块的8080并口读/写的过程为:

先根据要写入/读取的数据类型,设置RS为高(数据)/低(命令),然后拉低片选,选中ILI9341,接着根据读数据/写数据置RD/WR为低,然后:(1)读数据:在RD的上升沿,读取数据线上的数据(D【15:0】);(2)写数据:在WR的上升沿,使数据写入到ILI9341里面;

并口时序图为例:CS拉低片选,选中ILI9341;WR产生脉冲;RS反应是命令还是数据;D【0:15】为我们要写入的数据;因为是“写”,RD一直为高(同理“读”的时候WR一直为高)

5、ILI9341驱动时序

ILI9341 8080并口时序图

重点时序:读ID低电平脉宽(trdl)读ID高电平脉宽(trdh)读FM低电平脉宽(trdlfm) 读FM高电平脉宽(trdhfm) 写控制低电平脉宽(twrl) 写控制高电平脉宽(trwh)

注意:ID指LCD的ID号,FM指帧缓存,即:GRAM。

6、LCD驱动流程

(1)硬复位(2)初始化序列(3)设置坐标(4)画点和读点(写GRAM指令与读GRAM指令)

7、指令简介

(1)RGB565格式说明

比如:0XF800为红色(D15~D11五个位都是1显示红色,其它位都是0没有颜色)

(2)ILI9341指令格式说明

ILI9341所有指令都是8位的(高8位无效),且参数除了读写GRAM的时候是16位,其它操作参数都是8位。

ILI9341的指令很多,举例6条指令:0XD3   0X36   0X2B   0X2A   0X2C   0X2E。

1)0XD3指令:读ID4指令,用于读取LCD控制器的ID。因此,同一个代码,可以根据ID的不同,执行不同的LCD驱动初始化,以兼容不同的LCD屏幕。

第一行指令先发生指令0XD3,高八位无效(D15~D8),WR为上升沿,写指令。参数1~4为写指令,RD为上升沿,读出四个参数。第一个参数无效(X),第二个参数是0(00H),第三个参数是93(93H),第四个参数是41(41H)。读出9341,驱动ILI9341。

2)0X36指令:存储访问控制指令,控制ILI9341存储器的读写方向,即在连续写GRAM的时候,可以控制GRAM指针的增长方向,从而控制显示方式(读GRAM同此)。

先发指令0X36,跟一个参数,参数低8位有效,D7~D5是关键位,这三个位控制GRAM自增方向。

3)0X2A指令:列地址指令,在从左到右,从上到下(默认)的扫描方式下,该指令可用于设置横坐标(X坐标)

在默认扫描方式时,该指令用于设置X坐标,该指令带有4个参数,实际上是2个坐标值:SC和EC,即列地址的起始值和结束值,SC必须小于等于EC,且0<=SC/EC<=239。一般在设置X坐标的时候,我们只需带两个参数即可,也就是设置SC即可,因为如果EC没有变化,我们只需设置一次即可,从而提高速度。

4)0X2B指令:页地址设置指令,在从左到右,从上到下(默认)扫描方式下,该指令可用于设置纵坐标(Y坐标)

在默认扫描方式时,该指令用于设置Y坐标,该指令有4个参数,实际上是2个坐标值:SP和EP,即页地址的起始值和结束值,SP必须小于等于EP,且0<=SP/EP<=319。一般在设置Y坐标的时候,我们只需要带2个参数即可(设置SP),因为如果EP没有变化,我们只需设置一次即可,从而提高速度。

(开窗的时候,SC EC SP EP 都要用到)

5)0X2C指令:写GRAM指令,在发送该指令后,我们便可以往LCD的GRAM里面写如颜色数据了,该指令支持连续写(地址自动递增)

在收到指令0X2C之后,有效位宽变为16位,我们可以连续写入LCD GRAM值,而GRAM的地址将根据MY/MX/MV的扫描方向进行自增。例如:假设设置的是从左到右,从上到下的扫描方式,那么设置好起始坐标(通过SC,SP设置)后,每写入一个颜色值,GRAM地址将会自动自增1(SC++),如果碰到EC,则回到SC,同时SP++,一直到坐标:EC,EP结束,其间无需再次设置坐标,从而大大提高写入速度。

6)0X2E指令:读GRAM指令,用于读取ILI9341的显存(GRAM),同时0X2C指令支持连续读(地址自动递增)

ILI9341在收到该指令后,第一次输出的是dummy数据(无效),第二次开始读取到的才是有效的GRAM数据(从坐标:SC,SP开始),输出规律为:每个颜色分量占8个位,一次输出两个颜色分量。比如:第一次输出是R1G1,随后的规律是:B1R2—>G2B2—>R3G3—>B3R4—>G4B4—>R5G5以此类推。

STM32——LCD—TFTLCD原理与配置介绍相关推荐

  1. STM32学习——TFTLCD原理

    STM32学习--TFTLCD原理 一.TFTLCD 简介 TFT-LCD 即薄膜晶体管液晶显示器(Thin Film Transistor-Liquid Crystal Display) TFT-L ...

  2. stm32-mini学习笔记-LCD-TFTLCD原理与配置介绍

    目录 TFTLCD特点 接口说明 并口读写过程 使用流程​ ILI9341 的几个重要命令 0xD3指令 0x36指令​ 0x2A指令​ 0X2B 指令​ 0X2C 指令​ 0X2E 指令​ 我们将通 ...

  3. LCD-TFTLCD原理与配置介绍

    TFTLCD即薄膜晶体管液晶显示器.它与无源TN-LCD.STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性 ...

  4. STM32——SPI接口原理与配置

    一.SPI接口简介 SPI是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口,是Motoroal首先在其MC68HCXX系列处理器上定义的. SPI是一种 ...

  5. STM32输入捕获原理与配置

    目录 一.输入捕获原理 二.输入捕获过程 1.设置输出捕获滤波器(通道1为例) 2.设置输入捕获极性 3.设置输入捕获映射通道 4.设置输入捕获分频器 5.捕获到有效信号可以开启中断 6.工作工程 三 ...

  6. STM32——CAN控制器原理与配置

    一.CAN控制器简介 STM32自带了基本扩展CAN外设,又称bxCAN,bxCAN的特点如下: 1.支持CAN协议2.0A和2.0B主动模式 2.波特率最高达1Mbps 3.支持时间触发通信 4.具 ...

  7. STM32芯片IO口的配置以及上拉下拉电阻介绍(一)

    STM32芯片IO口的配置以及上拉下拉电阻介绍(一) IO口常见的配置方式 推挽输出 开漏输出 STM32芯片做硬件研发的朋友们都知道.但是还是有很多做硬件的新朋友"只知其然而不知其所然&q ...

  8. IPv6基础介绍--IPv6路由基础--DHCPv6原理与配置——总结

    一.IPv6基础介绍 1.IPv6是Internet工程任务组(IETF)设计的一套规范,它是网络层协议的第二代标准协议,也是IPv4(Internet Protocol Version 4)的升级版 ...

  9. 【STM32】IO引脚复用器和映射原理与配置

    IO引脚复用器和映射原理与配置 什么是端口复用,STM32引脚怎么复用? STM32有很多的内置外设(把RTC,ADC,看门狗等外设都集中在芯片里面了),这些外设的外部引脚都是与GPIO复用的.也就是 ...

最新文章

  1. 设计模式05-建造者模式
  2. 机器视觉 · 网络相机
  3. 软件工程小组第三次正式会议
  4. 【学会如何学习系列】从婴儿到大学——学习的本质从未改变过
  5. 数据库大咖解读“新基建”,墨天轮四重好礼相送!
  6. 【图论】【启发式搜索】【二分查找】[POJ 3897]Maze Stretching
  7. Python实现局域网内屏幕广播的技术要点分析
  8. Linux系统各文件、目录介绍
  9. mysql 字段值保留2位小数
  10. 【java】中缀表达式转后缀表达式 java实现
  11. 各大Asp木马的万能密码
  12. html5 apple 没有声音,通过AppleALC,轻松解决黑苹果没声音问题
  13. python——问题解决:读取excel文件字符串,写入txt时乱码
  14. android 指纹识别驱动 win10,win10怎么添加指纹识别?Win10 Windows Hello指纹登录设置教程...
  15. 001-前端课程介绍
  16. 计算机windows7桌面管理,win7自带桌面整理,win7系统怎么改回自带桌面
  17. 敏捷-《如何准备ACP考试》知识图谱
  18. 计算机安装固态硬盘后启动不稳定,完美解决win7系统安装固态硬盘后开机慢的解决方法...
  19. 信道特征(码元、比特、波特率等概念)
  20. 自动给ssh输入密码(python使用pty模块,或者script命令)

热门文章

  1. 产品价格变动带来的结算金额处理逻辑 lead/lag函数的使用
  2. C++之3|静态成员与友元
  3. HBuilder:推开前端开发App的大门
  4. Java:类名的命名规则
  5. 计算机系统中位和字节表示的含义,计算机存储单位 位、字节、字、KB、MB 分别是什么含义...
  6. Hash函数与生日攻击
  7. c++文件读写函数eof()会错误的问题
  8. sts java配置tomcat_Java Web入门学习(一) STS与Tomcat配置
  9. 【论文代码】VIBE 基于视频的人体3D形状和姿态估计
  10. 如何在自己的电脑上复现开源论文里的代码