我們采用LCD模塊為顯尚光電的DST2001PH TFTLCD,它的控制器為ILI9320,它采用26萬色的TFT屏,分辨率為320×240,采用16位的80并口與外部連接。
該模塊的80并口有如下一些信號線:
CS/PC9:TFTLCD片選信號。 片選拉低時,表示選中。
RS/PC8:命令/數(shù)據(jù)標(biāo)志(0,讀寫命令;1,讀寫數(shù)據(jù))。
WR/PC7:向 TFTLCD寫入數(shù)據(jù)。在WR的上升沿,使數(shù)據(jù)寫入到LCD芯片里;
RD/PC6:從 TFTLCD讀取數(shù)據(jù)。 在RD的上升沿,使數(shù)據(jù)鎖存到數(shù)據(jù)線上;
D[15:0]:16位雙向數(shù)據(jù)線。
RST:硬復(fù)位TFTLCD。
RST信號線,是直接接到 STM32的復(fù)位腳上,并不由軟件控制,這樣可以省下來一個IO端口。
另外,還需要一個背光控制線來制TFTLCD的背光。所以,總共需要的IO口數(shù)目為21個。
控制器自帶顯存,其顯存總大小為172820(240*320*18/8),即18位模式(26萬色)下的顯存量。
模塊的16位數(shù)據(jù)線與顯寸的對應(yīng)關(guān)系為565方式,如下圖所示:
最低5位代表藍(lán)色,中間6位為綠色,最高5位為紅色。數(shù)值越大,表示該顏色越深。
接下來,介紹一下ILI9320的幾個重要命令,因?yàn)镮LI9320的命令很多,不可能一一介紹。
有興趣的大家可以找到ILI9320的Datasheet看看,里面對這些命令有詳細(xì)的介紹。
這里我們要介紹的命令列表如下:
R0,這個命令,有兩個功能,如果對它寫,則最低位為 OSC,用于開啟或關(guān)閉振蕩器。而如果對它讀操作,則返回的是控制器的型號。
R3,入口模式命令。我們重點(diǎn)關(guān)注的是 I/D0、I/D1、AM 這 3 個位,因?yàn)檫@ 3 個位控制了屏幕的顯示方向。
AM:控制 GRAM 更新方向。當(dāng) AM=0 的時候,地址以行方向更新。當(dāng) AM=1 的時候,地址以列方向更新。
I/D[1:0]:當(dāng)更新了一個數(shù)據(jù)之后,根據(jù)這兩個位的設(shè)置來控制行地址和列地址計(jì)數(shù)器自減或自增。
R7,顯示控制命令。該命令 CL 位用來控制是 8 位彩色,還是 26 萬色。為 0 時 26 萬色,為 1 時八位色。D1、D0、BASEE 這三個位用來控制顯示開關(guān)與否的。當(dāng)全部設(shè)置為 1 的時候開啟顯示,全 0 是關(guān)閉。我們一般通過該命令的設(shè)置來開啟或關(guān)閉顯示器,以降低功耗。
R32,R33,設(shè)置 GRAM 的行地址和列地址。R32 用于設(shè)置列地址(X 坐標(biāo),0~239),R33 用于設(shè)置行地址(Y坐標(biāo),0~319)。當(dāng)我們要在某個指定點(diǎn)寫入一個顏色的時候,先通過這兩個命令設(shè)置到改點(diǎn),然后寫入顏色值就可以了。
R34,寫數(shù)據(jù)到 GRAM 命令,當(dāng)寫入了這個命令之后,地址計(jì)數(shù)器才會自動的增加和減少。該命令是我們要介紹的這一組命令里面唯一的單個操作的命令,只需要寫入該值就可以了,其他的都是要先寫入命令編號,然后寫入操作數(shù)。
R80~R83,行列 GRAM 地址位置設(shè)置。這幾個命令用于設(shè)定你顯示區(qū)域的大小,我們整個屏的大小為 240*320,但是有時候我們只需要在其中的一部分區(qū)域?qū)懭霐?shù)據(jù),如果用先寫坐標(biāo),后寫數(shù)據(jù)這樣的方式來實(shí)現(xiàn),則速度大打折扣。此時我們就可以通過這幾個命令,在其中開辟一個區(qū)域,然后不停的丟數(shù)據(jù),地址計(jì)數(shù)器就會根據(jù) R3 的設(shè)置自動增加/減少,這樣就不需要頻繁的寫地址了,大大提高了刷新的速度。
TFTLCD顯示需要的相關(guān)設(shè)置步驟如下:
1)設(shè)置STM32與TFTLCD模塊相連接的IO端口。
這一步,先將我們與TFTLCD模塊相連的IO端口設(shè)置為輸出,具體使用哪些IO端口,需要根據(jù)連接電路以及TFTLCD模塊的設(shè)置來確定。
2)初始化TFTLCD模塊。
通過向 TFTLCD寫入一系列的設(shè)置,來啟動TFTLCD的顯示。為后續(xù)顯示字符和數(shù)字做準(zhǔn)備。
3)通過函數(shù)將字符和數(shù)字顯示到TFTLCD模塊上。
這里就是通過我們設(shè)計(jì)的程序,將要顯示的字符送到TFTLCD模塊就可以了。
-
控制器
+關(guān)注
關(guān)注
112文章
16382瀏覽量
178323 -
STM32
+關(guān)注
關(guān)注
2270文章
10904瀏覽量
356348 -
LCD模塊
+關(guān)注
關(guān)注
0文章
11瀏覽量
7820
原文標(biāo)題:STM32F10x的LCD(ILI9320)顯示
文章出處:【微信號:changxuemcu,微信公眾號:暢學(xué)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論