采用LCD模块为显尚光电的DST2001PH TFTLCD

电子说

1.3w人已加入

描述

我们采用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模块就可以了。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分