历史上的今天
今天是:2025年07月17日(星期四)
2020年07月17日 | STM32单片机TFTLCD显示实验:TFTLCD简介
2020-07-17 来源:eefocus
STM32单片机TFTLCD显示实验学习笔记
1、TFTLCD模块接口图
以2.8寸的TFTLCD为例,采用16位的并方式与外界进行连接,模块接口图如下所示:

具有如下一些信号线:
CS:TFTLCD片选信号
WR:向TFTLCD写入数据
RD:从TFTLCD读取数据
D[15:0]:16位双向数据线
RST:硬复位TFTLCD,直接连接到stm32的复位引脚上
RS:命令/数据标志(0,读写命令;1,读写数据)
2、ILI9341控制器
ILI9341控制器是TFTLCD的驱动芯片,在16位的模式下,ILI9341采用RGB565格式储存颜色数据,下面为16位数据与显存的对应关系,最低5位代表蓝色,中间六位代表绿色,最高5位代表红色,数值越大,颜色越深。

另外,ILI9341的所有指令都是8位的(高8位无效),并且参数除了读/写GRAM的时候是16位的,其它操作参数都是8位的。
接下来介绍ILI9341的几个重要命令,分别是:0XD3、0X36、0X2A、0X2B、0X2C、0X2E()
(1)0XD3:读ID4的指令,用于读取LCD控制器的ID,通过该指令可以判断出所用的LCD驱动器是什么型号,我的的代码就可以根据控制器的型号去执行对应驱动IC的初始化代码,从而兼容不同驱动IC的屏,使得一个代码支持多款LCD。

由上图可知,0XD3指令后面跟了4个参数,最后两个参数读出来是0X93和0X41,刚好是控制器ILI9341的数字部分。
(2)0X36:存储访问控制指令,可以控制ILI9341存储器的读/写方向,0X36指令描述如下所示。

方向的扫描主要是根据MY、MX、MV值的设置,MY、MX、MV值的设置与扫描方向的关系如下图所示:

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

指令有4个参数,实际上是两个坐标值:SC和EC,即列地址的起始值和结束值,SC必须小于等于EC,且0<=SC/EC<=239。
(4)0X2B:页地址设置指令,在从左到右,从上到下的扫描方式下,用于设置纵坐标y,指令描述如下:

指令有4个参数,实际上是两个坐标值:SP和EP,即列地址的起始值和结束值,SP必须小于等于EP,且0<=SP/EP<=319。
(5)0X2C:写GRAM指令,发送指令后,我们便可以往LCD的GRAM里面写入颜色数据了,指令支持连续写,指令描述如下:

(6)0X2E,读GRAM指令,用于读取ILI9341的显存(GRAM)。
3、TFTLCD模块的使用流程

4、用TFTLCD显示字符和数字
首先,设置STM32F1与TFTLCD模块相连接的I/O,用到的是FSMC.
然后,初始化TFTLCD模块
最后,通过函数将字符和数字显示到TFTLCD模块上,通过上图左侧的流程,这只是一个点的处理,要显示字符和数字,就要多次使用这个步骤。
史海拾趣
|
步进电机定位控制系统VHDL程序与仿真 library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity step_motor is port (reset:in STD_LOGIC; --系统复位信号 ...… 查看全部问答> |
|
我就在EBOOT的OEMPlatformInit函数中增加了对一个GPIO的设置,导致不能正常运行,提示如下。 好像是改变了分区表,请问这种情况是什么问题? Microsoft Windows CE Bootloader Common Library Version 1.4 Built Nov 20 2009 14:01:11 Microsof ...… 查看全部问答> |
|
求救!help! WTP WSP 发送MMS 如何使用WTP SAP切割 用WTP协议的分割调用PDU来发送MMS文件,但是不知道怎么编码。 请知道的高手指导指导。。。。。。。。。。… 查看全部问答> |
|
在网上找了一下这个问题的答案,找到了DragDropListCtrl类,这个类在VC下是可以用的.但到eVC下不支持拖曳产生image,我修改了一下,能用于拖曳记录了,但就是拖动到相邻的记录上时,不会高亮显示,要等拖到其他记录上,再拖回来才高亮显示,也就是说相邻记录 ...… 查看全部问答> |
|
在proteus 上仿真arm7 但对好多管脚不懂,比如 dbgsel 干什么用的啊。为什么接高电平啊, 还有rtck? 还有为什么会有那么多的vss和vdd啊?… 查看全部问答> |
|
资料也多,调试也很方便,果然没选错啊。真后悔当初没买两块。 电压3.5V,发射模块可以直接使用,方便。 下午把发送模式刚刚调好,很是激动啊,明天开始调接收,嘿嘿 [ 本帖最后由 shower.xu 于 2011-10 ...… 查看全部问答> |
|
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第二十四章 DAC实验 第二十四章 DAC实验 上两章,我们介绍了STM32的ADC使用,本章我们将向大家介绍STM32的DAC功能。在本章中,我们将利用按键(或USMART)控制STM32内部DAC模块的通道1来输出电压,通过ADC1的通道1采集DAC的输出电压,在LCD ...… 查看全部问答> |




