<!--插入廣告JS代碼--> |
引言
液晶顯示器件(LCD)由于具有顯示信息多、體積小、重量輕、功耗低、壽命長、價格低、接口控制方便等優點,正在測量及控制領域被廣泛地推廣和應用。液晶顯示器按其功能可分為筆段式和點矩陣式兩種。后者又可以分成字符點陣式和圖形點陣式,圖形點陣式液晶顯示器不僅可顯示數字、字符等內容,還能顯示漢字和任意圖形。
目前用于圖形液晶模塊的控制器很多。本文以T6963C為例簡單介紹一下液晶顯示模塊與CPU的接口以及軟件編程問題。
圖1 內置T6963C的點陣圖形液晶顯示模塊原理圖
圖2 接口部分硬件原理圖
圖3 非自動寫命令/數據流程圖
圖4 非自動讀數據流程圖
圖5 自動寫數據程序流程圖
圖6 漢字顯示流程圖
T6963C及其構成的
液晶顯示模塊
T6963C 是圖形點陣式液晶顯示控制器,能直接與80 系列的8 位微處理器接口。字符字體可由硬件或軟件設置,字體有4 種:5×8、 6×8 、7×8、8×8。
在內置T6963C 的液晶顯示模塊上已經實現了T6963C 與行、列驅動器及顯示緩沖區RAM 的接口,同時也已用硬件設置了數據傳輸方式、顯示窗口長度、寬度等。內置T6963C 的單屏點陣圖形液晶顯示模塊結構如圖1所示。
此模塊的初始化設置一般由管腳設置完成,所以初始化時,由軟件編寫的指令就集中在顯示功能的設置上。T6963C的指令可帶一個、兩個參數,或無參數。若指令中含有參數,則每條指令執行時均須先送入參數,再送入指令代碼。由于狀態位作用不一樣,因此執行不同指令必須檢測不同狀態位。
液晶顯示模塊與單片機的接口電路
在本例中以80C320為CPU。另外,在此設計中,不是將CPU與液晶顯示模塊直接相連,而是通過PSD813F1連接的。PSD813F1是由WSI公司研制的新一代可編程微控制器系統外圍器件,具備完整的在系統可編程特性。不僅功能比較強大,通過PSD還可以連接其他的器件和模塊,比如數據采集模塊、鍵盤等,便于在原有基礎上進行功能擴展。
將CPU的地址/數據線AD0~AD7及A8~A15與PSD813F1的AD0~AD15連接起來,由PSD的PB口輸出信號來片選LCD和數據緩沖器74LS245。同時CPU的地址/數據線AD0~AD7也接到74LS245的A端A0~A7上,其B端B0~B7的輸出連接到液晶顯示模塊的數據輸入端DO0~DO7。接口電路如圖2所示。
軟件設計
狀態位檢測與數據/指令讀寫程序
在本例中,采用C語言來編程。
狀態位檢測
由于LCD指令的執行是一個不斷地檢測狀態、寫指令及讀寫數據的過程,因此可把它們編寫成通用的函數,以便隨時調用。液晶顯示控制器T6963C的狀態位從低到高分別是STA0~STA7。進行狀態位檢測時,先從T6963C的狀態寄存器中讀取狀態字,然后提取對應的狀態值,通過判斷決定下一步的操作。
數據/指令的讀寫程序
讀寫數據和命令可以分為自動和非自動兩種情況。由于非自動寫命令或數據的步驟基本類似,均是在檢測狀態字的STA0和STA1兩位是否準備好的情況下來決定寫命令或數據到輸出口,這里就把非自動寫命令或數據流程圖綜合在一起,如圖3所示。非自動讀數據的流程圖如圖4所示,也是在檢測STA0和STA1已經準備好的基礎上由輸入口讀取數據的,然后將此數據返回,以便于別的程序調用。圖5是自動寫數據的程序流程圖,它僅需要檢測狀態字的STA3即可。當然,自動讀數據時只須檢測STA2,但自動讀數據在本例中用的較少,其流程圖在此省略。
模塊化設計
鑒于T6963C的特點,設計中采用模塊化結構。這里主要介紹初始化、英文字符顯示、漢字顯示等幾個模塊。
初始化模塊
在T6963C中內嵌有128種字符點陣的CGROM(字符發生器ROM),同時T6963C還可管理一定大小的顯示緩沖區。顯示緩沖區RAM的具體大小由不同顯示尺寸的模塊決定,點陣越大RAM越多,本設計采用的240×128模塊帶有16KB的RAM。該顯示緩沖區分為文本顯示區、圖形顯示區和CGRAM區。文本顯示區和圖形顯示區是兩個不同性質的使用區域,是本設計使用的重點。CGRAM區是用戶為方便制作特殊符號而在顯示緩沖區內任意設置的一個區域,它可作為外擴的字符發生器。對T6963C初始化時,在關閉顯示后應該先確定采用哪種方式進行顯示(文本/圖形),再來設置顯示緩沖區中圖形區的首地址、寬度和文本區的首地址、寬度。此后可選擇光標的形狀,繼而進行顯示開關設置。
英文顯示模塊
英文顯示模塊程序編制的任務是把欲顯示的字符代碼送入和行列位置對應的文本顯示緩沖區中。只需定位首字符地址,設置使LCD控制器的地址指針自動增1,然后連續往LCD的數據口送入顯示數據即可。
漢字顯示模塊
本設計采用直接在圖形方式下顯示漢字的方式。顯示字符可以直接從T6963C自帶的CGROM中選取,而要顯示漢字則要建立漢字字模。其建立方法有多種,可采用從UCDOS的漢字點陣字庫中提取所需要漢字的16點陣字模,進而生成漢字庫以備選取漢字之用。漢字字模在此漢字庫中以一定的順序存放,每一個漢字有一個對應的順序號,該順序號以變量HZH表示。圖6是漢字顯示的程序流程。
結語
T6963C液晶顯示控制器在應用中可以與各種型號的微控制器接口,實現控制和現場過程的動態顯示。本系統可靈活地嵌入各種大型設備或大規模系統中,用于顯示必要的數據,或執行參數設定。