采用內存接液晶顯示模塊設計
點(diǎn)陣式液晶接口簡(jiǎn)單,能以點(diǎn)陣或圖形方式顯示出各種信息,因此在各種電子設計中得到廣泛應用。但是,它的接口必須遵循一定的硬件和時(shí)序規范,根據不同的液晶驅動(dòng)器,可能需要發(fā)出不同的命令進(jìn)行控制才能顯示數據。而且命令的執行需要耗費一定時(shí)間,在系統大量的實(shí)時(shí)數據的情況下,如果直接控制液晶顯示,可能會(huì )消耗過(guò)多的時(shí)間,從而影響數據的處理。因此,由于某種需要必須采用不同的液晶模塊,這就需要修改軟件。為了解決這些問(wèn)題,文提出采用內存接口的液晶顯示模塊,在現有點(diǎn)陣式液晶顯示屏上附加一個(gè)MCU(Micro-Controller Unit微處理器)及相關(guān)器件,利用內存與外部控制器進(jìn)行接口,從而解決了統一接口和顯示速度的問(wèn)題。
本文引用地址:http://dyxdggzs.com/article/168668.htm1 系統設計
1.1 設計思想
我們知道,人眼有視覺(jué)暫留現象,每0.1秒時(shí)間內變化一次的影像看上去會(huì )認為是連續的,而且只在0.1秒之內變化的影像人眼很難察覺(jué)到。根據這一物理現象,我們采用內存與外部控制器接口設計一種液晶接口模塊,外部控制器將欲顯示的數據直接寫(xiě)入接口內存,根據接口刷新液晶的顯示。刷新率在每秒10次以上,就可達到連續顯示的目的。當然,刷新率越高人眼就越能感覺(jué)圖像變化的連續與流暢。
1.2 硬件設計
采用內存與外部控制器接口,具有統一的硬件接口規范。因為外部控制器和模塊內的MCU需要同時(shí)讀寫(xiě)內存,接口內存采用帶有BUSY線(xiàn)的2K雙RAM IDT 7132,MCU選用常用的AT89C51,液晶模塊為市面普及的采用HITACHI公司HD61202液晶控制器的單5V供電的128×64點(diǎn)陣液晶。液晶顯示模塊的設計必須具備很強的通用性,可以被廣泛應用到各種系統中。目前系統一般為3V電平或5V電平系統,因此液晶顯示模塊的設計也必須同時(shí)考慮應用于這兩種系統。液晶顯示模塊硬件結構框圖如圖1所示。外部控制器將欲顯示的數據寫(xiě)入雙口RAM,MCU則不斷掃描內存,根據內存中的數據進(jìn)行相應的處理,不斷刷新液晶顯示屏上的顯示。綜合考慮液晶和系統操作的時(shí)序,AT89C51單片機運行在12MHz時(shí)鐘下,設計系統的刷新率達到每秒18次。
外部控制器的數據、地址、控制總線(xiàn)通過(guò)接插件引入液晶顯示模塊。因為雙口RAM IDT7132的輸入輸出為T(mén)TL電平,BUSY信號為開(kāi)漏極輸出,因此無(wú)論是3V還是5V的系統,地址和控制總線(xiàn)可以直接引入。而數據總線(xiàn)因為是雙向系統,如果直接與雙口RAM連接,在雙口RAM輸出數據的時(shí)候可能會(huì )對3V系統造成損害,因此設計一個(gè)總線(xiàn)驅動(dòng)器,采用74LVC245進(jìn)行總線(xiàn)電平轉換。 74LVC245在3V供電時(shí),輸入5V的電壓信號這樣就實(shí)現了與3V和5V電平系統的接口。
雙口RAM的BUSY信號是用來(lái)標示雙口RAM的兩個(gè)口同時(shí)在訪(fǎng)問(wèn)相同的內存單元,而且至少有一個(gè)口處于寫(xiě)該單元狀態(tài)。雙口RAM通過(guò)仲裁邏輯使后訪(fǎng)問(wèn)該單元的BUSY信號有效,并屏蔽該口的操作,直到?jīng)]有訪(fǎng)問(wèn),競爭BUSY信號才變?yōu)闊o(wú)效。通過(guò)檢測BUSY信號可有效地確保內存讀寫(xiě)的安全。
模塊內采用27C040保存16×8的256個(gè)ASCII字符點(diǎn)陣的16×16點(diǎn)陣的漢字庫,方便用戶(hù)使用。
考慮到液晶背光電流較大,加入了液晶背光的控制,可根據需要開(kāi)關(guān)背光。
1.3 軟件設計
軟件部分涉及接口操作、點(diǎn)陣操作及液晶操作等,這里僅對接口有關(guān)部分進(jìn)行介紹。
1.3.1 接口內存分配
接口內存的分配如表1所示。
表1 接口內存分配表
液晶屏幕上共有128×64=8192點(diǎn),每個(gè)點(diǎn)用內存中的一位為0或1來(lái)表示點(diǎn)亮或熄滅。在雙口RAM中分配0000H~03FFH的內存用來(lái)直接與屏幕上的點(diǎn)相對應,稱(chēng)為直接顯示映射區。這樣,用戶(hù)只需將欲顯示的點(diǎn)陣寫(xiě)入內存中的指定地址,就可在屏幕上指定位置直接顯示出來(lái)。
另外,為方便使用,還設計了簡(jiǎn)單的命令接口,分配0400~0507H的空間作為命令接口的內存,具體分配詳見(jiàn)表1。其中,0400H~04FEH的內存也作為字符顯示映射區,在設置了顯示模式后,將欲顯示的字符寫(xiě)入該區域的指定地址,即可在屏幕指定位置顯示出該字符。
1.3.2 命令接口簡(jiǎn)介
外部控制器將命令按照預定格式寫(xiě)入命令接口的內存。顯示模塊的單片機檢測到有命令時(shí),首先將命令讀出,將命令字地址內容變?yōu)?0H,并將該命令字最高位置為 1寫(xiě)入命令結果地址內,表示該命令正在被執行。當命令執行完后,命令執行的結果(規定最高位為0)寫(xiě)入命令結果地址。這樣,外部控制器可以通過(guò)檢測命令字地址的內容和命令執行結果來(lái)確認顯示模塊當前的工作狀態(tài),發(fā)布命令?;久钭秩绫?所示,當然根據具體應用還可增加如繪制各種圖形、填充等的命令字。
表2 命令字及其參數
1.3.3 接口模塊工作方式
設計了兩種顯示模式:顯示模式1和顯示模式2。在顯示模式1時(shí),MCU不斷掃描顯示映射區并檢查雙口RAM中用戶(hù)寫(xiě)入的命令。在顯示模式2時(shí),MCU不斷監測字符顯示映射區的變化,將用戶(hù)寫(xiě)入的字符轉化成點(diǎn)陣,寫(xiě)入直接顯示映射區,然后掃描顯示映射區進(jìn)行顯示。此時(shí)MCU只執行改變顯示模式或初始化命令。其它的命令一概忽略。這樣外部控制器就不需要了解具體的液晶操作,操作液晶像讀寫(xiě)內存一樣簡(jiǎn)單快捷,因此外部控制器可以處理大量的實(shí)時(shí)數據,并進(jìn)行實(shí)時(shí)顯示。
2 應用實(shí)例
液晶顯示模塊在我們設計的一套藍牙系統中得到了成功應用,藍牙模塊采用Ericsson Rok 101,主控制器采用TI公司的MSP430F149。通過(guò)藍牙傳送的動(dòng)畫(huà)和所有控制信息均在液晶顯示模塊上顯示,效果很流暢,達到了設計要求。
本文提出的液晶顯示模塊采用內存和外部控制器進(jìn)行接口,具有統一的接口規范。外部控制器將欲顯示的內容直接寫(xiě)入液晶顯示模塊提供的內存接口即可實(shí)現顯示,不需要直接進(jìn)行繁復費時(shí)的液晶控制和點(diǎn)陣處理操作,有利于控制器對大量數據進(jìn)行實(shí)時(shí)處理。目前市面上有大屏幕的彩色液晶采用了類(lèi)似方案,但價(jià)格昂貴。對一般應用來(lái)說(shuō),本文提出的液晶顯示模塊具有很強的通用性,而且增加的硬件成本不到單獨購買(mǎi)一塊點(diǎn)陣式液晶的20%,因此可廣泛應用。
評論