笔记9:STM32F407之TFTLCD相关原理介绍

您所在的位置:网站首页 stm32控制tftlcd屏幕 笔记9:STM32F407之TFTLCD相关原理介绍

笔记9:STM32F407之TFTLCD相关原理介绍

2023-09-25 07:30| 来源: 网络整理| 查看: 265

一. 基本概念 1.三种显示器简介 (1) LCD: 液晶显示器,简称 LCD(Liquid Crystal Display),液晶是一种介于固体和液体之间的物质,本身不发光,因此在制作显示屏时需要背光源. (2). TFT-LCD:TFT-LCD 即薄膜晶体管液晶显示器。其英文全称为: Thin Film Transistor-Liquid CrystalDisplay。 TFT-LCD 与无源 TN-LCD、 STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。 TFT-LCD 也被叫做真彩液晶显示器。 (2) LED: LED点阵显示器,LED 点阵彩色显示器的单个像素点内 包含红绿蓝三色 LED 灯,我们见的最多的就是滚动的那种灯牌,每一个LED就是一个像素点(像素概念稍后介绍),这样会导致屏幕像素密度低,肉眼都能够看见每一个像素点。 LED灯牌 (3) OLED:与LED不同的是OLED是采用的像素单元是“有机发光二极管” (Organic Light Emitting Diode),所以像素密度比普通 LED 点阵显示器高得多,由于本身发光,因此不需要背光源。 2. 常见名词 (1) 像素 像素是组成图像的最基本单元要素,显示器的像素指它成像最小点. (2) 分辨率 一些嵌入式设备的显示器常常以“行像素值 x 列像素值”表示屏幕的分辨率。如分辨率 800x480 表示该显示器的每一行有 800 个像素点,每一列有 480 个像素点,也可理解为有 800 列, 480 行。 (3) 色彩深度 色彩深度指显示器的每个像素点能表示多少种颜色,一般用“位” (bit)来表示。如单色屏的每个像素点能表示亮或灭两种状态(即实际上能显示 2 种颜色),用 1 个数据位就可以表示像素点的所有状态,所以它的色彩深度为 1bit,其它常见的显示屏色深为16bit、 24bit。 常见的有RGB565,和RGB888两种格式: RGB888 表示红色用8bit表示(即0-255),绿色也是用8bit表示(0-255),蓝色也是8bit,RGB888存储时就需要3个字节 RGB565 表示红色用5bit表示(即0-31),绿色用6bit表示(0-63),蓝色用5bit表示,RGB565 存储时就需要2个字节 (3) 显示器尺寸 显示器的大小一般以英寸表示,如 5 英寸、 21 英寸、 24 英寸等,这个长度是指屏幕对角线的长度, 通过显示器的对角线长度及分辨率(就相当于长宽比)可确定显示器的实际长宽尺寸。 (4) 点距 点距指两个相邻像素点之间的距离, 它会影响画质的细腻度及观看距离,相同尺寸的屏幕,若分辨率越高,则点距越小,画质越细腻。 (5)帧 我们知道,动态画面都是由许多静态画面组成,那么每一个静态画面就叫做一帧。 (6)显存 液晶屏中的每个像素点都是数据,在实际应用中需要把每个像素点的数据缓存起来,再传输给液晶屏,一般会使用 SRAM 或 SDRAM 性质的存储器,而这些专门用于存储显示数据的存储器,则被称为显存。 二. 液晶控制原理 1.通常的显示屏由两种:PCB上带有液晶控制器的(外部可以看到)/芯片内部带有液晶控制器的(外部看不到) 在这里插入图片描述 2.8080并行接口模式连接 2.1 8086接口方式所需要的信号线: CS: OLED 片选信号。 WR:向 OLED 写入数据。 RD:从 OLED 读取数据。 D[7: 0]: 8 位双向数据线。 RST(RES):硬复位 OLED。 DC:命令/数据标志(0,读写命令; 1,读写数据)。 2.2 8086并口读写的过程及时序图

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 (SSD1306是一种驱动芯片)

2.3 读显存的时序图分析 在 8080 方式下读数据操作的时候,我们有时候(例如读显存的时候)需要一个假读命(Dummy Read),以使得微控制器的操作频率和显存的操作频率相匹配。在读取真正的数据之前,由一个的假读的过程。这里的假读,其实就是第一个读到的字节丢弃不要,从第二个开始,才是我们真正要读的数据。 在这里插入图片描述 三. ILI9341 液晶控制器介绍(自带显存) 3.1 ILI9341简介:ILI9341 液晶控制器自带显存,其显存总大小为 172800(24032018/8),即 18 位模式(26万色)下的显存量。在 16 位模式下, ILI9341 采用 RGB565 格式存储颜色数据。 18位9341总线,16位MCU数据,16位 LCD GRAM三者的对应关系 在这里插入图片描述 在LCD模块中,D12和D0位没有用到,其线也就没有引出来。特别注意 ILI9341 所有的指令都是 8 位的(高 8 位无效),且参数除了读写 GRAM 的时候是 16 位,其他操作参数,都是 8 位的,这个和 ILI9320 等驱动器不一样。 3.2 ILI9341液晶控制器重要指令

在这里插入图片描述 0XD3:从图中可以看出,指令后面跟着四个参数,参数1无效,参数2作用不大,参数3和参数4判别所用的 LCD 驱动器是什么型号。 在这里插入图片描述 0X36:从图中可以看出,指令后面只跟了一个参数,通过对D5-D7位的控制,便可控制整个 ILI9341 的全部扫描方向。 在这里插入图片描述 在这里插入图片描述 0X2A:SC 和 EC,即列地址的起始坐标值和结束坐标值(X值),SC必须小于EC,并且0≤SC/EC≤行分辨率 在这里插入图片描述 0X2B:SP和EP,即为页地址的起始值和结束值(Y值),SP必须小于EP,且0≤SP/EP≤列分辨率 在这里插入图片描述 0X2C:写GRAM指令,在收到指令 0X2C 之后,数据有效位宽变为 16 位,我们可以连续写入 LCDGRAM 值,而 GRAM 的地址将根据 MY/MX/MV 设置的扫描方向进行自增。 在这里插入图片描述 0X2E:该指令是读 GRAM 指令,用于读取 ILI9341 的显存(GRAM)。输出规律为:每个颜色分量占 8 个位,一次输出 2 个颜色分量。比如:第一次输出是 R1G1,随后的规律为: B1R2→G2B2→R3G3→B3R4→G4B4→R5G5… 以此类推。若想要读一个像素点的数值,到参数3就读完了。 在这里插入图片描述 四.TFTLCD常见使用流程 在这里插入图片描述 叠加方式与非叠加方式 叠加方式保留背景色,非叠加方式删除 背景色。

font.h里面只定义了1212,1616 和2424ASCII字符集点阵,如果想要写入其他数字大小,比如2020,就得自己生成20*20的ASCII字符集点阵然后写入到font.h中去!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3