0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

STM32是如何驅(qū)動LCD的?

GReq_mcu168 ? 來源:知曉編程 ? 作者:知曉編程 ? 2021-04-25 16:31 ? 次閱讀

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

5e890544-a4ba-11eb-aece-12bb97331649.png

▲驅(qū)動流程01

使用FSMC驅(qū)動LCD

關于FSMC,把數(shù)據(jù)寫入相應的地址,F(xiàn)SMC就會把地址從FSMC_A出去,寫入的數(shù)據(jù)會會從FSMC_D發(fā)出去。至于片選等信號線都是自動的。讀的話,直接讀相應的地址,就會拿到改地址上的數(shù)據(jù)。

FSMC驅(qū)動外部SRAM時,外部SRAM的控制一般有:

地址線(如A0~A25)

數(shù)據(jù)線(如D0~D15)

寫信號(WE,即WR)

讀信號(OE,即RD)

片選信號(CS)

如果SRAM支持字節(jié)控制,那么還有UB/LB信號。

而TFTLCD的信號包括:RS(命令數(shù)據(jù)標志位)、D0~D15、WR、RD、CS、RST和BL等,其中真正在操作LCD的時候需要用到的就只有:

CS

WR

RS

D0~D15

RD

其操作時序和SRAM的控制完全類似,唯一不同就是TFTLCD有RS信號,但是沒有地址信號。

TFTLCD通過RS信號來決定傳送的數(shù)據(jù)是數(shù)據(jù)還是命令,本質(zhì)上可以理解為一個地址信號,比如我們把RS接在A0上面,那么當FSMC控制器寫地址0的時候,會使得A0變?yōu)?,對TFTLCD來說,就是寫命令。而FSMC寫地址1的時候,A0將會變?yōu)?,對TFTLCD來說,就是寫數(shù)據(jù)了。這樣,就把數(shù)據(jù)和命令區(qū)分開了,他們其實就是對應SRAM操作的兩個連續(xù)地址。當然RS也可以接在其他地址線上。

因此,可以把TFTLCD當成一個SRAM來用,只不過這個SRAM有2個地址,這就是FSMC可以驅(qū)動LCD的原理。

02

標準8080接口

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

8080中:有RD(read),WR(Write)腳,RD,WR可以同時為高,不能同時為低?。D為低時表示要從LCD中讀出數(shù)據(jù)在D0-D7腳上,WR為低時表示:將當前D0-D7上的數(shù)據(jù)寫入LCD

模塊的8080并口讀/寫的過程為:

先根據(jù)要寫入/讀取的數(shù)據(jù)的類型,設置RS為高(數(shù)據(jù))/低(命令),然后拉低片選,選中液晶IC,接著我們根據(jù)是讀數(shù)據(jù),還是要寫數(shù)據(jù)置RD/WR為低,然后:

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

2.寫數(shù)據(jù):在WR的上升沿,使數(shù)據(jù)寫入到液晶IC里面;

5ef267b4-a4ba-11eb-aece-12bb97331649.png

▲8080并口寫時序

5f303ddc-a4ba-11eb-aece-12bb97331649.png

▲8080并口讀時序在NXP的UsingFlexIO to Drive 8080 Bus Interface LCDModule文檔中同樣也提到了8080接口(P6),我找到的介紹8080接口的官方文檔,就只有NXP這個文檔。

5f658eb0-a4ba-11eb-aece-12bb97331649.png

▲寫時序

5fc25dde-a4ba-11eb-aece-12bb97331649.png

▲讀時序

03

使用FSMC驅(qū)動8080接口

5fe7850a-a4ba-11eb-aece-12bb97331649.png

▲讀時序

6023c1a0-a4ba-11eb-aece-12bb97331649.png

▲寫時序04

顏色模式

4.1RGB565

每個像素用16比特位表示,占2個字節(jié),RGB分量分別使用5位、6位、5位

6050d6b8-a4ba-11eb-aece-12bb97331649.png

4.1RGB888

每個像素用8比特位表示,占1個字節(jié),注意:在內(nèi)存中RGB各分量的排列順序為:BGRBGR BGR 。..。..

60778786-a4ba-11eb-aece-12bb97331649.png

原文標題:STM32驅(qū)動LCD原理

文章出處:【微信公眾號:玩轉(zhuǎn)單片機】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • lcd
    lcd
    +關注

    關注

    34

    文章

    4429

    瀏覽量

    167783
  • LED顯示屏
    +關注

    關注

    36

    文章

    1825

    瀏覽量

    98910
  • STM32
    +關注

    關注

    2270

    文章

    10906

    瀏覽量

    356551
收藏 人收藏

    評論

    相關推薦

    基于FPGA的LCD1602液晶顯示模塊驅(qū)動設計

    本文通過以LCD1602液晶顯示模塊為基礎,介紹FPGA驅(qū)動LCD1602原理,詳細介紹硬件原理圖設計及FPGA驅(qū)動LCD1602軟件設計,
    的頭像 發(fā)表于 10-24 14:42 ?1516次閱讀
    基于FPGA的<b class='flag-5'>LCD</b>1602液晶顯示模塊<b class='flag-5'>驅(qū)動</b>設計

    利用MSP430的LCD外設驅(qū)動大型LCD

    電子發(fā)燒友網(wǎng)站提供《利用MSP430的LCD外設驅(qū)動大型LCD.pdf》資料免費下載
    發(fā)表于 10-22 09:22 ?0次下載
    利用MSP430的<b class='flag-5'>LCD</b>外設<b class='flag-5'>驅(qū)動</b>大型<b class='flag-5'>LCD</b>

    溫控表LCD驅(qū)動低電流LCD驅(qū)動芯片VKL144A/B

    產(chǎn)品品牌:永嘉微電/VINKA 產(chǎn)品型號:VKL144A/B 封裝形式:SSOP48/QFN48L 產(chǎn)品年份:新年份 VKL144A/B是一個點陣式存儲映射的LCD驅(qū)動器,可支持最大144點
    發(fā)表于 10-17 15:37

    物聯(lián)網(wǎng)系統(tǒng)中TFT_LCD屏主流驅(qū)動方案詳解

    物聯(lián)網(wǎng)系統(tǒng)中為什么要使用 TFT-LCD驅(qū)動 芯片 在物聯(lián)網(wǎng)系統(tǒng)中使用TFT-LCD(薄膜晶體管液晶顯示器)驅(qū)動芯片的原因主要可以歸納為以下幾點: 專業(yè)性與高效性 1、專業(yè)圖形處理:T
    的頭像 發(fā)表于 09-23 18:06 ?625次閱讀
    物聯(lián)網(wǎng)系統(tǒng)中TFT_<b class='flag-5'>LCD</b>屏主流<b class='flag-5'>驅(qū)動</b>方案詳解

    S1D15K01是一種混合LCD驅(qū)動器IC

    S1D15K01是一種混合LCD驅(qū)動器IC,可以直接連接到微控制器,使分段和點陣顯示可以同時顯示在單個LCD面板上。分段和點陣的專用驅(qū)動電路安裝在單個芯片上,消除了分段區(qū)域和點陣區(qū)域之
    的頭像 發(fā)表于 08-16 09:55 ?286次閱讀
    S1D15K01是一種混合<b class='flag-5'>LCD</b><b class='flag-5'>驅(qū)動</b>器IC

    在rtthread系統(tǒng)中STM32103VET6使用硬件FSMC驅(qū)動LCD刷屏速度慢怎么解決?

    STM32103VET6板子,使用rtthread系統(tǒng),用硬件FSMC驅(qū)動LCD(SSD1963)時,初始化時刷屏超級快,但進入線程中速度就變慢了,請教有無大佬遇到過這樣的情況,有解決思路么?
    發(fā)表于 07-16 07:00

    使用STM32MP135驅(qū)動2.4寸 LCD屏幕,刷新率巨低為什么?

    使用STM32MP135 驅(qū)動2.4寸 LCD屏幕,刷新率巨低; 測試條件:(HAL庫) 1、硬件SPI;2、IO操作使用寄存器配置;3、SPI時鐘達到16M; SPI配置如下: IO操作配置如下: 之前使用MCU操作,刷新
    發(fā)表于 05-20 06:51

    AiP31063L—80通道點陣LCD驅(qū)動電路

    AiP31063L—80通道點陣LCD驅(qū)動電路
    的頭像 發(fā)表于 05-16 09:32 ?401次閱讀
    AiP31063L—80通道點陣<b class='flag-5'>LCD</b>列<b class='flag-5'>驅(qū)動</b>電路

    STM32F429的LCD驅(qū)動驅(qū)動7寸屏,使用存在刷屏慢的現(xiàn)象怎么解決?

    最近有一個項目,對于人機交互采用7寸液晶屏,想選一款帶LCD驅(qū)動器的CPU,不知道大家是否用STM32F429的LCD驅(qū)動
    發(fā)表于 05-07 07:21

    80通道點陣LCD驅(qū)動電路AiP31063L芯片介紹

    AiP31063L是一款采用低功耗高壓CMOS技術(shù)的LCD驅(qū)動集成電路。該集成電路由40×2位雙向移位寄存器,40×2位數(shù)據(jù)鎖存和40×2位LCD驅(qū)動部分組成,該電路用作列
    的頭像 發(fā)表于 04-26 16:36 ?710次閱讀
    80通道點陣<b class='flag-5'>LCD</b>列<b class='flag-5'>驅(qū)動</b>電路AiP31063L芯片介紹

    32×4 LCD顯示驅(qū)動芯片VKL128數(shù)據(jù)手冊

    電子發(fā)燒友網(wǎng)站提供《32×4 LCD顯示驅(qū)動芯片VKL128數(shù)據(jù)手冊.pdf》資料免費下載
    發(fā)表于 04-22 14:09 ?1次下載

    STM8L052C6選擇內(nèi)部LCD內(nèi)部驅(qū)動電源,進入HALT,VLCD電壓消失,LCD不顯示怎么解決?

    STM8L052C6,選擇內(nèi)部LCD內(nèi)部驅(qū)動電源,進入HALT,VLCD電壓消失,LCD不顯示。請問如何解決 (選擇外部LCD驅(qū)動電源,當電
    發(fā)表于 04-15 07:33

    stm32G474VETx的芯片驅(qū)動LCD 8bit,讀不到LCD的ID,驅(qū)動不正常的原因?

    F103的板卡,用FSMC驅(qū)動LCD 8bit 沒有問題 現(xiàn)在用stm32G474VETx的芯片驅(qū)動同樣的屏,讀不到LCD的ID,
    發(fā)表于 04-10 08:02

    PC1621K LCD 驅(qū)動電路數(shù)據(jù)手冊

    電子發(fā)燒友網(wǎng)站提供《PC1621K LCD 驅(qū)動電路數(shù)據(jù)手冊》資料免費下載
    發(fā)表于 03-12 11:01 ?0次下載

    使用低速模式驅(qū)動LCD時,LCD不能正常顯示是為什么?

    如題,我在使用低速模式驅(qū)動LCD時遇到困難,LCD不能正常顯示,不應該顯示的部分也顯示出來了,調(diào)整對比度和刷新頻率也沒能消除該異常現(xiàn)象。而我在高速模式下顯示是正常的,請問我該如何定位該問題,有什么解決措施嗎?例外,低速模式
    發(fā)表于 02-22 06:29