目录

TFTLCD特点

接口说明

并口读写过程

使用流程​

ILI9341 的几个重要命令

0xD3指令

0x36指令​

0x2A指令​

0X2B 指令​

0X2C 指令​

0X2E 指令​


我们将通过 STM32 的普通 IO 口模拟 8080 总线来控制 TFTLCD 的显示。TFT-LCD 即 薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD 与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄 膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关, 因此大大提高了图像质量。TFT-LCD 也被叫做真彩液晶显示器。

TFTLCD特点

1,2.4’/2.8’/3.5’/4.3’/7’ 5 种大小的屏幕可选。

2,320×240 的分辨率(3.5’分辨率为:320*480,4.3’和 7’分辨率为:800*480)。

3,16 位真彩显示。

4,自带触摸屏,可以用来作为控制输入。

接口说明

并口读写过程

1.根据要写入/读取的类型设置RS为高(数据)/低(命令)。

2.根据是读数据还是写数据设置RD/WR为低。

读数据:在RD的上升沿 ,读取数据线上的数据(D【15:0】)

写数据:在WR的上升沿,使数据写入到ILI19341里

使用流程

初始化序列:厂家提供,无需手动输入

左边:画点

右边:读点

GRAM 作用:设置控制位后,后期只需写颜色代码,不需要再填写坐标。

总流程:先设置MCU输入指令配置扫描模式,再通过LCD GRAM写入颜色,最后显示。

RGB565

ILI9341 液晶控制器自带显存,其显存总大小为 172800(240*320*18/8),即 18 位模式(26 万色)下的显存量。在 16 位模式下,ILI9341 采用 RGB565 格式存储颜色数据,此时 ILI9341 的 18 位数据线与 MCU 的 16 位数据线以及 LCD GRAM 的对应关系如图 16.1.4 所示

MCU 的 16 位数据,最低 5 位代表蓝色,中间 6 位为绿色,最高 5 位为红色。数值越 大,表示该颜色越深。另外,特别注意 ILI9341 所有的指令都是 8 位的(高 8 位无效),且参数 除了读写 GRAM 的时候是 16 位,其他操作参数,都是 8 位的,这个和 ILI9320 等驱动器不一 样,必须加以注意。

例如:0xf800表示只有红色亮

ILI9341 的几个重要命令

0xD3指令

作用:兼容不同种类屏幕

0x36指令

0X36,这是存储访问控制指令,可以控制 ILI9341 存储器的读写方向,简 单的说,就是在连续写 GRAM 的时候,可以控制 GRAM 指针的增长方向,从而控制显示方式。从上表可以看出,0X36 指令后面,紧跟一个参数,这里我们主要关注:MY、MX、MV 这三个位,通过这三个位的设置,我们可以控制整个 ILI9341 的全部扫描方向。

0x2A指令

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

0X2B 指令

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

0X2C 指令

该指令是写 GRAM 指令,在发送该指令之后,我们便可以往 LCD 的 GRAM 里面写入颜色数据了,该指令支持连续写。

0X2E 指令

该指令是读 GRAM 指令,用于读取 ILI9341 的显存(GRAM), 该指令在 ILI9341 的数据手册上面的描述是有误的,真如表16.1.7所示。

ILI9341在收到该指令后,第一次输出的是dummy 数据,也就是无效的数据,第二次开始,读取到的才是有效的 GRAM 数据(从坐标:SC,SP 开始),输出规律为:每个颜色分量占 8 个位,一次输出 2 个颜色分量。比如:第一次输出是 R1G1,随后的规律为:B1R2→G2B2→R3G3→B3R4→G4B4→R5G5... 以此类推。如果我们只 需要读取一个点的颜色值,那么只需要接收到参数 3 即可,如果要连续读取(利用 GRAM 地址  自增,方法同上),那么就按照上述规律去接收颜色数据。

R1和G1后面的XX是无效的意思。一次读2个8位(总16位)三个8位组成一个颜色坐标。

stm32-mini学习笔记-LCD-TFTLCD原理与配置介绍相关推荐

  1. STM32——LCD—TFTLCD原理与配置介绍

    1.TFTLCD简介 TFTLCD即薄膜晶体管液晶显示屏.它与无源TN-TLCD.STN-LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),可以有效的克服非选通时的串 ...

  2. 华为HCIA-datacom 学习笔记11——AAA原理与配置

    华为HCIA-datacom 学习笔记11--AAA原理与配置 AAA原理与配置 1.AAA概述 认证(authentication):验证用户是否获得访问权,确定哪些用户可以访问网络 授权(auth ...

  3. STM32 FSMC学习笔记+补充(LCD的FSMC配置)

    STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD 转载于:https://www.cnblogs.com/LittleTi ...

  4. TI CC1101学习笔记:工作原理简单入门

    众所周知,在IOT的市场应用中,从通信协议细分的话,有SUB-1G,2.4G,3G, 4G,以及最新推出的5G,虽然5G通信协议已经在崭露头角,但是不同的通信协议在不同的应用领域之中还是占据着一定的重 ...

  5. Kotlin学习笔记(1)- 环境配置

    系列文章全部为本人的学习笔记,若有任何不妥之处,随时欢迎拍砖指正.如果你觉得我的文章对你有用,欢迎关注我,我们一起学习进步!kotlin学习笔记系列首发简书和CSDN Kotlin学习笔记(1)- 环 ...

  6. STM32系统学习——RCC(使用HSE/HSI配置时钟)

    ** STM32系统学习--RCC(使用HSE/HSI配置时钟) ** RCC :reset clock control 复位和时钟控制器.主要讲解时钟部分,特别是要着重理解时钟树,理解了时钟树,ST ...

  7. Windows驱动开发学习笔记(一)—— 环境配置第一个驱动程序

    Windows驱动开发学习笔记(一)-- 环境配置&第一个驱动程序 环境配置 第一个驱动程序 环境配置 安装VS2010:https://pan.baidu.com/s/1uZWWxCtB60 ...

  8. WebGL three.js学习笔记 6种类型的纹理介绍及应用

    WebGL three.js学习笔记 6种类型的纹理介绍及应用 本文所使用到的demo演示: 高光贴图Demo演示 反光效果Demo演示(因为是加载的模型,所以速度会慢) (一)普通纹理 计算机图形学 ...

  9. Linux+javaEE学习笔记之Linux网络环境配置

    Linux+javaEE学习笔记之Linux网络环境配置 网络知识简单介绍: Ip地址是:IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物 ...

  10. Linux学习笔记之——Linux系统内部相关介绍

    Linux学习笔记之--Linux系统内部相关介绍 摘要:主要记录一些比较有用的能够帮助理解和使用Linux的知识.比如一些相关概念.没兴趣的看看就好.知道有这么个东西.注意事项.和一些常用目录的作用 ...

最新文章

  1. 漫画 | Nature审了个稿,却卷进一桩诺贝尔奖的公案!
  2. 神经网络是存储了海量的信息还是将海量的关系映射存储在了一起(发挥了存储记忆功能),还是变成了看似是一个公式,实际是成千上万个规律的公式融合在一个式子中( 类似于正弦波的傅里叶分解成无限中频率的波的加和
  3. python字符串数组中最短的_python求解数组中两个字符串的最小距离
  4. php求平均值的函数_国二常用函数(二)
  5. POJ - 3926 Parade(单调队列优化dp)
  6. vue 获取请求url_vue 获取url里参数的两种方法小结
  7. Nexus协议,闲鱼一体化开发的幕后玩家
  8. C语言精度控制整形,C语言 凑算式 控制精度问题
  9. java二叉树算法_java构建二叉树算法
  10. leetcode题解102-翻转二叉树
  11. “火星人”马斯克推论:世界或是被编码而成,上帝可能是个程序员!
  12. redis key命名规范_公司内部 Redis 使用规范
  13. 使用scala使用fastjson将map转json报错
  14. abaqus -复合材料
  15. 【大模型迁移 2022】Exploring Visual Prompts for Adapting Large-Scale Models
  16. 透明网桥自学习转发帧解题记录
  17. python 实时股票行情_python 实时获取股票行情脚本
  18. JetBrain学生认证续费步骤
  19. linux系统bcast,Linux系统下取IP地址的几种方法
  20. (七)苏世民:我的经验和教训:决策(34)

热门文章

  1. windows错误代码0xc000000f进不了系统的解决方法
  2. vs + opencv + YOLO-Fastest 目标检测
  3. 充电桩 ( 原理图+源码+PCB+BOM+4G)
  4. npm 报错:`[HPM] Error occurred while trying to proxy request (ECONNREFUSED)`
  5. 爬虫解析是干嘛用的?为什么要解析?
  6. 小程序的 生命周期回调函数onLoad,onReady,onShow
  7. 基本数据类型和抽象数据类型的联系
  8. c语言中file作用,C语言中File的应用
  9. SOC与CPU的区别
  10. Python程序设计之列表