STM32驅動LCD原理

TFTLCD即薄膜晶體管液晶顯示器。它與無源TN-LCD、STN-LCD的簡單矩陣不一樣,它在液晶顯示屏的每個像素上都設置有一個薄膜晶體管(TFT),可有效地克服非選通時的串擾,使顯示液晶屏的靜態特性與掃描線數無關,所以大大提升了圖像質量。app

▲驅動流程spa

0一、使用FSMC驅動LCD

關於FSMC,把數據寫入相應的地址,FSMC就會把地址從FSMC_A出去,寫入的數據會會從FSMC_D發出去。至於片選等信號線都是自動的。讀的話,直接讀相應的地址,就會拿到改地址上的數據。教程

FSMC驅動外部SRAM時,外部SRAM的控制通常有:接口

  • 地址線(如A0~A25)內存

  • 數據線(如D0~D15)文檔

  • 寫信號(WE,即WR)get

  • 讀信號(OE,即RD)it

  • 片選信號(CS)io

若是SRAM支持字節控制,那麼還有UB/LB信號。class

 

而TFTLCD的信號包括:RS(命令數據標誌位)、D0~D1五、WR、RD、CS、RST和BL等,其中真正在操做LCD的時候須要用到的就只有:

  • CS

  • WR

  • RS

  • D0~D15

  • RD

其操做時序和SRAM的控制徹底相似,惟一不一樣就是TFTLCD有RS信號,可是沒有地址信號。

 

TFTLCD經過RS信號來決定傳送的數據是數據仍是命令,本質上能夠理解爲一個地址信號,好比咱們把RS接在A0上面,那麼當FSMC控制器寫地址0的時候,會使得A0變爲0,對TFTLCD來講,就是寫命令。而FSMC寫地址1的時候,A0將會變爲1,對TFTLCD來講,就是寫數據了。這樣,就把數據和命令區分開了,他們其實就是對應SRAM操做的兩個連續地址。固然RS也能夠接在其餘地址線上。

所以,能夠把TFTLCD當成一個SRAM來用,只不過這個SRAM有2個地址,這就是FSMC能夠驅動LCD的原理。

 

0二、標準8080接口

8080總線又叫Intel總線,大體來講,Intel總線的控制線有四根,RD寫使能,WR讀使能,ALE地址鎖存,CS片選。

8080中:有RD(read),WR(Write)腳,RD,WR能夠同時爲高,不能同時爲低!!RD爲低時表示要從LCD中讀出數據在D0-D7腳上,WR爲低時表示:將當前D0-D7上的數據寫入LCD

模塊的8080並口讀/寫的過程爲:

先根據要寫入/讀取的數據的類型,設置RS爲高(數據)/低(命令),而後拉低片選,選中液晶IC,接着咱們根據是讀數據,仍是要寫數據置RD/WR爲低,而後:

1.讀數據:在RD的上升沿,讀取數據線上的數據(D[15:0]);

2.寫數據:在WR的上升沿,使數據寫入到液晶IC裏面;

▲8080並口寫時序

▲8080並口讀時序

在NXP的UsingFlexIO to Drive 8080 Bus Interface LCDModule文檔中一樣也提到了8080接口(P6),我找到的介紹8080接口的官方文檔,就只有NXP這個文檔。文檔下載連接見問末尾。

▲寫時序

▲讀時序

0三、使用FSMC驅動8080接口

▲讀時序

▲寫時序

0四、顏色模式

4.1RGB565

每一個像素用16比特位表示,佔2個字節,RGB份量分別使用5位、6位、5位

4.1RGB888

每一個像素用8比特位表示,佔1個字節,注意:在內存中RGB各份量的排列順序爲:BGRBGR BGR ......

 

點擊查看本文所在的專輯,STM32F207教程

 

文檔下載連接:

連接:https://pan.baidu.com/s/1oYThPiVnc-_WSAyVy_vG2Q   提取碼:i4vu

相關文章
相關標籤/搜索