2.2 驅動層實現
接下來需要利用T6963C的指令來完成驅動層顯示功能的設置。其中部分基本指令的定義如表2所列。事實上,驅動層子函數的編寫都可通過調用寫命令、寫數據、讀狀態子函數來實現。
?
其液晶的初始化設置函數源代碼如下:
?
.3 漢字讀寫程序設計
初始化液晶后,就可設置顯示區域、顯示方式和顯示狀態。接下來應將待顯示字符的字模數據寫入顯示緩沖區,以便實現顯示功能。對于文本方式,可先將字模數據寫入顯示緩沖區并建立CGRAM,再由數據存儲位置確定字符代碼,然后通過寫人對應代碼即可顯示字符;對于圖形顯示方式,則需將字模數據逐個字節的寫入圖形顯示緩沖區來實現顯示功能。二者相比各有特點,其中文本模式顯示速度快。且內置CGROM中含128個ASCII字符,可直接調用,但需先建立CGRAM,而且容量有限,只能管理2K字節的數據,比較適合于顯示字符不多的場合;而圖形模式顯示速度相對較慢,但無需建立CGRAM,用戶只需將字模數據以字節為單位寫入圖形顯示區即可,適用于所需顯示內容較多的場合。在一般的工程應用中,漢字的顯示是比較重要的內容,因此,本文主要介紹漢字顯示的程序設計。
由液晶初始化程序,本系統采用圖形模式作為顯示方式。漢字的字體一般為16x16點陣,占32個字節,也可采用32x32點陣的字體,西文字符為16x8。由此編寫的子函數程序如下:
?
?
本液晶屏上的橫坐標x范圍為0~29,縱坐標y范圍為0~127。字模數據由造字模軟件提供,寫入字模數據的順序應與其所代表的字符的結構位置相對應。讀寫顯示數據時,要注意地址指針每讀寫一次會自動增一。修改其值時,必須先結束當前讀寫操作,然后再修改地址,這樣才有效。其它子函數的編寫與漢字顯示子函數相同,不同字體的字符只是字模數據量不同,連續寫可多次調用單獨寫函數實現,也可每行寫入所有字符的對應字節數據。至于反白功能的實現,可先讀出對應字符的數據字節,取反后再重新寫入。
3 結束語
本文通過ARM7微處理器芯片LPC2134的GPIO實現了與內藏T6963C的液晶顯示模塊的接口設計,并在軟件上實現了其基本顯示功能,從而在滿足了工程設計的要求。本文比較系統的闡述了液晶顯示程序的設計過程,并對設計中的難點給出了源程序代碼,以供參考。該程序的可移植性好,可適用LPC213x系列芯片、其它ARM7芯片以及內置T6963C的不同型號液晶顯示模塊。