基于單片機的微功耗中文人機界面設計
MG-12232顯示模塊有多個型號,不同型號都采用相同的SED1520控制器,操作及使用方法完全相同,只是尺寸不同。常用的如MG-12232-5(76×29.1×5.7mm)、MG-12232-6(45.05×22.32×6.3mm)、MG-12232-7(84×44×10mm)等,可以分別用在大小不同的便攜式儀器或設備上。
對液晶顯示模塊還需著重考慮其背光類型,不同的背光類型消耗電流大不相同。一般可選的背光類型有LED(發光二極管)、EL(電致發光燈)以及CCFL型(冷陰極燈管)。EL是一種面發光的冷光源,在結構上可以做得很大很薄,雖然亮度較低,但發光非常均勻而且無光斑,尤其是功耗很低。缺點是需要一個高壓交流電壓來驅動,故需要一個專門的電壓變換電路(如IMP803)。CCFL照明面積更大,適用于需要大面積液晶顯示界面的儀器或設備中。
三、鍵盤接口
MSP430F149的P1、P2口除了支持輸入、輸出以外,還支持硬件中斷。P1、P2口的8個引腳都有各自的控制寄存器,每個引腳可以單獨控制,并且每個引腳都可以作為中斷源,每一引腳都可以單獨選擇中斷觸發沿,單獨允許中斷。P1、P2口各使用一個中斷向量,P1.0~P1.7產生同一個中斷,P2.0~P2.7也產生同一個中斷。P1、P2口的這種結構非常適合實現基于中斷的鍵盤輸入響應程序。
本系統中使用2×2的行列式鍵盤。鍵盤程序采用行掃描法。即P1.0、P1.1接兩根列線,列線定義為輸出口,P1.2、P1.3接兩根行線,行線定義為輸入口。兩根行線需接10K上拉電阻。
基于對系統低功耗要求的考慮,鍵盤輸入響應程序應設計為中斷方式運行的。即有鍵按下時,產生中斷把MCU從休眠狀態喚醒,并啟動定時12ms的定時器,隨后MCU又進入休眠狀態。當定時器產生中斷時再次將MCU從休眠狀態喚醒,此時掃描鍵盤,若有鍵按下,則計算出鍵值,并執行該鍵值對應的功能程序。執行完該程序后,MCU再次進入休眠狀態。
四、漢字顯示的原理與部分程序實例
1、圖形點陣液晶的漢字字模
與在DOS中顯示漢字不同的是,圖形點陣液晶并不是簡單地用畫點的方式來描出漢字。直接從中文系統漢字字庫中提取的漢字字模并不能直接在液晶上顯示,通常都必須經過格式上的調整和轉換。標準16點陣漢字(如希望漢字的HZK16)字模數據的排列形式如圖4。
由于一個SED1520顯示控制器能控制80×16點陣液晶的顯示,其顯示RAM共16行,分2頁,每頁8行。連續16列相鄰2頁的32字節顯示RAM就可以控制一個漢字的顯示區域(如圖5)。對這些顯示RAM賦以相應值就可以顯示出一個漢字。
圖4 標準漢字字模排列形式圖5 SED1520漢字字模排列形式
由圖4和圖5所示可見,SED1520圖形點陣液晶顯示控制器漢字字模的排列順序和方式與標準漢字字模完全不同。液晶字模數據可以通過對標準字模數據進行位運算后得到。
實際編程中,具體漢字的液晶字模數據應存放在MSP430F149單片機的FLASH存儲器中。
2、液晶顯示器初始化流程
在液晶顯示信息之前,必須先對液晶進行初始化。
評論