我们采用LCD模块为显尚光电的DST2001PH TFTLCD,它的控制器为ILI9320,它采用26万色的TFT屏,分辨率为320×240,采用16位的80并口与外部连接。
该模块的80并口有如下一些信号线:
CS/PC9:TFTLCD片选信号。 片选拉低时,表示选中。
RS/PC8:命令/数据标志(0,读写命令;1,读写数据)。
WR/PC7:向 TFTLCD写入数据。在WR的上升沿,使数据写入到LCD芯片里;
RD/PC6:从 TFTLCD读取数据。 在RD的上升沿,使数据锁存到数据线上;
D[15:0]:16位双向数据线。
RST:硬复位TFTLCD。
RST信号线,是直接接到 STM32的复位脚上,并不由软件控制,这样可以省下来一个IO端口。
另外,还需要一个背光控制线来制TFTLCD的背光。所以,总共需要的IO口数目为21个。
控制器自带显存,其显存总大小为172820(240*320*18/8),即18位模式(26万色)下的显存量。
模块的16位数据线与显寸的对应关系为565方式,如下图所示:
最低5位代表蓝色,中间6位为绿色,最高5位为红色。数值越大,表示该颜色越深。
接下来,介绍一下ILI9320的几个重要命令,因为ILI9320的命令很多,不可能一一介绍。
有兴趣的大家可以找到ILI9320的Datasheet看看,里面对这些命令有详细的介绍。
这里我们要介绍的命令列表如下:
R0,这个命令,有两个功能,如果对它写,则最低位为 OSC,用于开启或关闭振荡器。而如果对它读操作,则返回的是控制器的型号。
R3,入口模式命令。我们重点关注的是 I/D0、I/D1、AM 这 3 个位,因为这 3 个位控制了屏幕的显示方向。
AM:控制 GRAM 更新方向。当 AM=0 的时候,地址以行方向更新。当 AM=1 的时候,地址以列方向更新。
I/D[1:0]:当更新了一个数据之后,根据这两个位的设置来控制行地址和列地址计数器自减或自增。
R7,显示控制命令。该命令 CL 位用来控制是 8 位彩色,还是 26 万色。为 0 时 26 万色,为 1 时八位色。D1、D0、BASEE 这三个位用来控制显示开关与否的。当全部设置为 1 的时候开启显示,全 0 是关闭。我们一般通过该命令的设置来开启或关闭显示器,以降低功耗。
R32,R33,设置 GRAM 的行地址和列地址。R32 用于设置列地址(X 坐标,0~239),R33 用于设置行地址(Y坐标,0~319)。当我们要在某个指定点写入一个颜色的时候,先通过这两个命令设置到改点,然后写入颜色值就可以了。
R34,写数据到 GRAM 命令,当写入了这个命令之后,地址计数器才会自动的增加和减少。该命令是我们要介绍的这一组命令里面唯一的单个操作的命令,只需要写入该值就可以了,其他的都是要先写入命令编号,然后写入操作数。
R80~R83,行列 GRAM 地址位置设置。这几个命令用于设定你显示区域的大小,我们整个屏的大小为 240*320,但是有时候我们只需要在其中的一部分区域写入数据,如果用先写坐标,后写数据这样的方式来实现,则速度大打折扣。此时我们就可以通过这几个命令,在其中开辟一个区域,然后不停的丢数据,地址计数器就会根据 R3 的设置自动增加/减少,这样就不需要频繁的写地址了,大大提高了刷新的速度。
TFTLCD显示需要的相关设置步骤如下:
1)设置STM32与TFTLCD模块相连接的IO端口。
这一步,先将我们与TFTLCD模块相连的IO端口设置为输出,具体使用哪些IO端口,需要根据连接电路以及TFTLCD模块的设置来确定。
2)初始化TFTLCD模块。
通过向 TFTLCD写入一系列的设置,来启动TFTLCD的显示。为后续显示字符和数字做准备。
3)通过函数将字符和数字显示到TFTLCD模块上。
这里就是通过我们设计的程序,将要显示的字符送到TFTLCD模块就可以了。
上一篇:STM32F10x中的端口寄存器
下一篇:STM32F10x中的串口寄存器
推荐阅读最新更新时间:2024-10-28 11:15
设计资源 培训 开发板 精华推荐
- NCV8606 典型应用 可调版本典型应用 (Vout = 1.25 V)
- 使用 ON Semiconductor 的 FAN7085_GF085 的参考设计
- AZ7023ZTR低压指示检测器典型应用电路
- EVB-USB2640,使用 USB2640 USB 2.0 的评估板,2 端口集线器,带超快速闪存媒体控制器
- 使用 Analog Devices 的 LTC1595BIS8 的参考设计
- LR8N3GP003 高输入电压、可调线性稳压器的典型应用
- 基于attiny85的春节“烟花”(炸电容)
- LTC1858、8 通道、14 位、100 ksps SoftSpan A/D 转换器的典型应用
- DER-508 - 4.75W 双输出电源
- LTC1334 单路 5V RS232/RS485 多协议收发器的典型应用
- 救火车和你一起学ARM系列活动
- 有奖直播:助力AI算力,下一代GPU服务器中卡缘高速互连解决方案哪里找?
- 【社区大讲堂】顶嵌与你一起:动手做嵌入式产品
- 100%获奖,EE新年福利!
- 汽车VCU知识问答第二站:了解VCU开发流程和任务分解、岗位需求
- ADI & WT ·世健 MCU 痛点问题探索季 ——第二站:直播 | MCU应用难题全力击破!
- 是德科技有奖问答活动之二,小信号测试的示波器方案,答题闯关赢好礼!
- 有奖直播|TI 毫米波雷达传感器在智能家居及智能安防中的应用
- 下载、评论赢双重好礼|PI 邀您跟littleshrimp一起拆解小米最新二合一充电宝
- 【EE团】TI M4开发板超低价尝鲜体验,分享心得赢百元返现!