我們采用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模塊就可以了。
-
控制器
+關注
關注
112文章
16448瀏覽量
179479 -
STM32
+關注
關注
2272文章
10924瀏覽量
357603 -
LCD模塊
+關注
關注
0文章
11瀏覽量
7852
原文標題:STM32F10x的LCD(ILI9320)顯示
文章出處:【微信號:changxuemcu,微信公眾號:暢學單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
【NUCLEO-F412ZG試用體驗】實驗二 MBED驅顯12864黑白串口LCD
stm32 mini板TFTLCD顯示模塊源程序
stm32 mini板TFTLCD顯示模塊源程序
TFTLCD模塊的使用流程
TFTLCD驅動原理是什么
云尚通信之高端商顯
利用STM32連接ALIENTEK TFTLCD模塊實現TFTLCD模塊的顯示
點陣LCD的驅動顯控原理
LCD模塊與點陣LCD驅動與顯控原理及實踐全解析
![<b class='flag-5'>LCD</b><b class='flag-5'>模塊</b>與點陣<b class='flag-5'>LCD</b>驅動與<b class='flag-5'>顯</b>控原理及實踐全解析](https://file.elecfans.com/web2/M00/4A/14/pYYBAGKhvJWAUqweAAA3PLNxI70300.png)
ATK TFTLCD電容觸摸屏模塊的資料和基于STM32的C語言源代碼免費下載
![ATK <b class='flag-5'>TFTLCD</b>電容觸摸屏<b class='flag-5'>模塊</b>的資料和基于STM32的C語言源代碼免費下載](https://file.elecfans.com/web1/M00/A6/CD/o4YBAF2BpyGAN1DKAAJUJdGsyo0979.png)
ATK-7 TFTLCD電容觸摸屏模塊資料和STM32應用的C語言代碼免費下載
![ATK-7 <b class='flag-5'>TFTLCD</b>電容觸摸屏<b class='flag-5'>模塊</b>資料和STM32應用的C語言代碼免費下載](https://file.elecfans.com/web1/M00/A7/2E/pIYBAF2B6cuABQY6AAM0aSrpcwM517.png)
【STM32】TFTLCD驅動原理
![【STM32】<b class='flag-5'>TFTLCD</b>驅動原理](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論