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

news/2024/11/26 4:50:11/

文章目录

    • TFT屏幕介绍
    • LCD控制器
    • ILI9341控制器内部框图
    • ILI9341时序详解
    • RGB565数据格式


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屏幕中的每个像素点颜色。


http://www.ppmy.cn/news/83459.html

相关文章

Docker高级(完结)

一、DockerFile DockerFile简介 Docker是用来构建Docker镜像文件,由一条条docker指令和参数构成的脚本。 DockerFile构建过程 小总结 从应用软件的角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段, Dockerfile是…

持续集成——web自动化测试集成实战

文章目录 一、Web自动化测试持续集成的好处二、环境准备三、Jenkins节点挂载四、节点环境的配置1、JDK2、Chrome 浏览器3、chromedriver4、Python3环境5、allure-commandline工具6、allure插件 五、本地运行待测代码(保证代码没有问题)六、库文件的导出七、Jenkins上运行代码配…

为什么mac插入了u盘没反应 苹果mac插上usb后怎么找到

U盘使用简单,便于携带,几乎每个mac用户都有一个u盘。使用新的u盘的时候,你有没有遇到过mac插入了u盘没反应的情况呢?如果你是初次接触Mac电脑,使用u盘可能会手足无措,因为Mac系统和Windows存在差异&#xf…

Java 遍历 Map 的 5 种方式

https://www.cnblogs.com/shoufeng/p/11774640.html 目录 1 通过 keySet() 或 values() 方法遍历2 通过 keySet 的 get(key) 获取值3 通过 entrySet 遍历4 通过迭代器 Iterator 遍历5 通过 Lambda 表达式遍历6 总结 - 遍历 Map 的实践建议版权声明 Java 中遍历 Map 有多种方法…

【2451. 差值数组不同的字符串】

来源:力扣(LeetCode) 描述: 给你一个字符串数组 words ,每一个字符串长度都相同,令所有字符串的长度都为 n 。 每个字符串 words[i] 可以被转化为一个长度为 n - 1 的 差值整数数组 difference[i] &…

10 款最常用的Sketch在线插件!

Sketch 是一款高效、小巧的界面设计工具,在设计领域广受设计团队喜爱,帮助设计师创造了许多令人惊叹的作品。在使用 Sketch 时,辅助使用一些插件可以更高效地完成设计任务。Windows 也能用的「协作版 Sketch」即时设计,可作为网页…

Python竖版大屏 | 用pyecharts开发可视化的奇妙探索2

你好!我是马哥python说,一名10年程序猿,正在试错用pyecharts开发可视化大屏的非常规排版。 以下,我用8种ThemeType展示的同一个可视化数据大屏,可视化主题是分析淄博烧烤现象。 1、SHINE主题 2、LIGHT主题 3、MACARO…

uniapp 实现手写签字组件

前言: 在移动应用中,手写签名是一项非常方便和实用的功能。本文将介绍如何使用 Uniapp 实现一个手写签字组件,并支持在 APP、小程序和 Web 应用中使用。 实现思路: 创建一个空白画布; 监听画布上的鼠标或触摸事件&a…