《電子技術應用》
您所在的位置:首頁 > 顯示光電 > 設計應用 > 一種漢字實時輸入顯控系統(tǒng)設計
一種漢字實時輸入顯控系統(tǒng)設計
摘要: 為使用少量按鍵實現(xiàn)漢字實時輸入與顯示功能,設計一種基于單片機的漢字實時輸入顯控系統(tǒng)。系統(tǒng)采用4×4行列式鍵盤及液晶顯示模塊RT12864M,完成單片機對鍵盤的讀取、識別、復鍵處理、漢字查找及液晶顯示等所有程序的編寫并通過偉福仿真器調試了所有程序。實踐證明該系統(tǒng)結構簡單、成本較低、組成靈活、易于擴展,可應用于實時大量輸入漢字的顯控處理系統(tǒng)中。
Abstract:
Key words :

0 引言
    隨著電子信息技術的發(fā)展,中文操作界面在控制系統(tǒng)中的應用越來越廣泛。而在一些單片機人機接口系統(tǒng)中,大多只能顯示事先取好字模點陣的漢字" title="漢字">漢字,在需要實時" title="實時">實時大量輸入漢字的顯控處理應用中,利用傳統(tǒng)顯控設計方法是無法實現(xiàn)的;本文設計一種顯控系統(tǒng)" title="顯控系統(tǒng)">顯控系統(tǒng),該系統(tǒng)以單片機為核心,通過鍵盤輸入漢語拼音,通過漢字區(qū)位碼索引表查找漢字,最后在LCD上實時顯示所輸入的漢字。

1 系統(tǒng)結構及硬件電路設計
   
為使系統(tǒng)硬件電路結構簡單,采用4×4行列式鍵盤實現(xiàn)按鍵輸入;采用帶有漢字字庫的液晶顯示模塊RT12864M實現(xiàn)顯示功能,RT12864M是128×64點陣的圖形液晶顯示模塊,內(nèi)置國家標準的一、二級漢字字庫,可顯示漢字及圖形;CPU選取了常見的AT89C52單片機,可完全實現(xiàn)控制要求。系統(tǒng)的硬件接口電路如圖1所示。



2 系統(tǒng)的軟件設計
2.1 主程序設計思路
   
系統(tǒng)的主程序設計流程為:首先在鍵盤上輸入所要顯示的漢字的拼音鍵,利用單片機來掃描與識別鍵盤,得到正確的拼音組合,然后根據(jù)輸入的拼音組合查找漢字區(qū)位碼索引表找到相同音漢字的區(qū)位碼與漢字個數(shù),在液晶屏的最后一行顯示所輸入的拼音對應的漢字,最后通過光標的移動,按確認鍵來選擇所要輸入的漢字,并讓其在液晶屏的第一行顯示,至此,完成了一個漢字的查找與顯示。
2.2 按鍵處理程序
2.2.1 按鍵排布及處理
   
CPU采用中斷方式掃描鍵盤,提高CPU效率;由圖1可知,P1.0~P1.3為行線,P1.4~P1.7為列線,列線經(jīng)與門和AT89C52的INT1相連。無鍵閉合時,INT1為高電平,有鍵閉合時,INT1為低電平,向CPU申請中斷,CPU響應此中斷,轉向中斷服務程序。首先通過程序讀取按鍵的行首鍵號和列值,并求出鍵號(鍵號=行首鍵號+列值),即地址偏移量,然后查鍵值表即可確定對應的鍵值。從圖2系統(tǒng)按鍵排布圖中可以看出,本系統(tǒng)按鍵數(shù)為16個,而顯示漢字所需拼音個數(shù)為26個,因此需進行復鍵編排與處理。


2.2.2 四復鍵判別處理子程序
   
某個鍵上有四個拼音字母,對于這樣的鍵應特殊處理。例如表1所示,偏移量為05的四復鍵,上有字母PQRS。具體算法為:40H里存的是該鍵的地址偏移量,計數(shù)器計的是按鍵次數(shù),當?shù)谝淮伟聪麓随I時,計數(shù)器為0,所得鍵值就是地址偏移量,當?shù)诙伟聪麓随I時,計數(shù)器為1,鍵值為1×8+05H=0DH,當?shù)谌伟聪麓随I時,計數(shù)器為2,鍵值為2×8+05H=15H,當?shù)谒拇伟聪麓随I時,將計數(shù)器清0,并以鍵值18H查表,如此循環(huán)。


2.2.3 三復鍵處理子程序
   
對于三復鍵,即鍵上有三個字母,例如表2所示,此鍵上有字母ABC,表示為三復鍵。具體算法為:40H里存的是該鍵的地址偏移量,計數(shù)器計的是按鍵次數(shù),當?shù)谝淮伟聪麓随I時,計數(shù)器為0,所得鍵值就是地址偏移量,當?shù)诙伟聪麓随I時,計數(shù)器為1,鍵值為1×8+0=08 H,當?shù)谌伟聪麓随I時,計數(shù)器為2,鍵值為2×8+0=10H,然后再將計數(shù)器清0,如此循環(huán)。


2.2.4 查找漢字區(qū)位碼及漢字顯示處理方法
   
區(qū)位碼表的結構為:DB'B',00,00,00,0B0H,0C5H,12H。其中前四個單元為四個拼音鍵值,后兩個是漢字的區(qū)位碼,最后一個是該拼音對應漢字的個數(shù),所以區(qū)位碼每行有七個單元。區(qū)位碼的查找方法:先讓地址指針指向表頭,也就是第一行,讓每行的前四個拼音鍵值與存入到內(nèi)存中的拼音鍵值比較,若相同則為找到區(qū)位碼,若不等則要修改地址指針,讓地址指針指向下一行的拼音鍵值,直到找到該拼音的區(qū)位碼。若地址指針大于地址表中的最大地址值則表示該拼音組合不存在。當漢字區(qū)位碼查找成功時,就要在LCD上顯示漢字,首先要調用液晶初始化程序,在LCD顯示該拼音對應的所有漢字,然后通過光標的移動,按確認鍵來選擇所要輸入的漢字并顯示。

3 結束語
   
文中對復鍵輸入作了詳盡的分析,在此基礎上編寫了復鍵處理程序;介紹了液晶顯示模塊RT12864M,并根據(jù)該模塊的特點編制了漢字查找與顯示程序;最后利用偉福仿真試驗系統(tǒng)對所編寫程序進行仿真檢測,所有程序均通過檢測并可實現(xiàn)所設定的功能。此系統(tǒng)可用于控制及檢測領域,可模塊化生產(chǎn),為多種產(chǎn)品提供實時輸入顯示漢字模塊,為現(xiàn)有產(chǎn)品的人機界面改造提供新的方法。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。