TFT-LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。 TFT-LCD 与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提 高了图像质量,TFT-LCD 也被叫做真彩液晶显示器。
本实验,我们使用的是 1.44 寸的 TFTLCD 模块,该模块支持 65K 色显示,显示分辨率为 128×128, 接口为 SPI 4 线接口,TFTLCD 显示需要的相关设置步骤如下:
1)设置 ESP32 与 TFTLCD 模块相连接的 IO。
这一步,先将我们与 TFTLCD 模块相连的 IO 口进行初始化,以便驱动 LCD。
2)初始化 TFTLCD 模块。
使用 LCD 前,首先要复位 LCD,接着发送初始化序列,就是向 LCD 控制器写入一系列的设置值
(比如伽马校准),这些初始化序列一般 LCD 供应商会提供给客户,我们直接使用这些序列即可, 不需要深入研究。在初始化之后,LCD 才可以正常使用。
3)通过函数将字符和数字显示到 TFTLCD 模块上。
这一步的流程是:设置坐标 写 GRAM 指令 写 GRAM 来实现,但是这个步骤,只是一个点的处 理,我们要显示字符/数字,就必须要多次使用这个步骤,从而达到显示字符/数字的目的,所以需要 设计一个函数来实现数字/字符的显示,之后调用该函数,就可以实现数字/字符的显示了。
从图上我们可以看出,TFT 显示模块除了 SPI 接口后,对外还有背光接口,背光接口默认不控制的话,LCD 的背光是常亮状态,在硬件上,TFTLCD 模块与 ESP32 的 IO 口对应关系如下: RST:硬复位 OLED,连接 IO12。 DC:命令/数据标志(0,读写命令;1,读写数据),连接 IO13。 D0:串行时钟线,连接 IO14。
D1:串行数据线,连接 IO33。 LCD_BL(背光控制):背光常亮,不接 ESP32。
这些线的连接,ESP32 开发板的内部已经连接好了,我们只需要将 TFTLCD 模块插上去就好了。
使用PCtoLCD2002 完美版生成字库。
接着插入到的 font.h 里的数组“struct typFNT_GB162 hz16[]”里:
到这里为止,我们就增加了 4 个 16*16 点阵汉字,增加其他的汉字方法相同,增加汉字之后,就可 以使用函数 Gui_DrawFont_GBK16()显示增加的汉字了。
通过 USB 线给开发板供电,可以看到显示效果
最后推荐一款开发套件,可以手淘扫码查看。