STM32F10x的LCD(ILI9320)显示

发布时间:2016-12-10 18:53:43 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"STM32F10x的LCD(ILI9320)显示",主要涉及到STM32F10x的LCD(ILI9320)显示方面的内容,对于STM32F10x的LCD(ILI9320)显示感兴趣的同学可以参考一下。

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

上一篇:索骥馆-科普常识之《漫话哲学》全彩版[PDF]
下一篇:部署第一个域:Active Directory系列之二

相关文章

相关评论