一種漢字實時輸入顯控系統設計
0 引言
隨著電子信息技術的發展,中文操作界面在控制系統中的應用越來越廣泛。而在一些單片機人機接口系統中,大多只能顯示事先取好字模點陣的漢字,在需要實時大量輸入漢字的顯控處理應用中,利用傳統顯控設計方法是無法實現的;本文設計一種顯控系統,該系統以單片機為核心,通過鍵盤輸入漢語拼音,通過漢字區位碼索引表查找漢字,最后在LCD上實時顯示所輸入的漢字。
1 系統結構及硬件電路設計
為使系統硬件電路結構簡單,采用4×4行列式鍵盤實現按鍵輸入;采用帶有漢字字庫的液晶顯示模塊RT12864M實現顯示功能,RT12864M是128×64點陣的圖形液晶顯示模塊,內置國家標準的一、二級漢字字庫,可顯示漢字及圖形;CPU選取了常見的AT89C52單片機,可完全實現控制要求。系統的硬件接口電路如圖1所示。
2 系統的軟件設計
2.1 主程序設計思路
系統的主程序設計流程為:首先在鍵盤上輸入所要顯示的漢字的拼音鍵,利用單片機來掃描與識別鍵盤,得到正確的拼音組合,然后根據輸入的拼音組合查找漢字區位碼索引表找到相同音漢字的區位碼與漢字個數,在液晶屏的最后一行顯示所輸入的拼音對應的漢字,最后通過光標的移動,按確認鍵來選擇所要輸入的漢字,并讓其在液晶屏的第一行顯示,至此,完成了一個漢字的查找與顯示。
2.2 按鍵處理程序
2.2.1 按鍵排布及處理
CPU采用中斷方式掃描鍵盤,提高CPU效率;由圖1可知,P1.0~P1.3為行線,P1.4~P1.7為列線,列線經與門和AT89C52的INT1相連。無鍵閉合時,INT1為高電平,有鍵閉合時,INT1為低電平,向CPU申請中斷,CPU響應此中斷,轉向中斷服務程序。首先通過程序讀取按鍵的行首鍵號和列值,并求出鍵號(鍵號=行首鍵號+列值),即地址偏移量,然后查鍵值表即可確定對應的鍵值。從圖2系統按鍵排布圖中可以看出,本系統按鍵數為16個,而顯示漢字所需拼音個數為26個,因此需進行復鍵編排與處理。
評論