《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于LPC2138的中文輸入系統設計
基于LPC2138的中文輸入系統設計
單片機與嵌入式系統
劉堅強,胡 穎 東北大學
摘要: 摘要:給出一種基于Philips公司的ARM7微控制器LPC2138的中文輸入系統的設計方法。系統采用4×4接口鍵盤、LCM240128圖形液晶模塊以及存儲器等實現T9中文輸入法,可以進行漢字、英文、數字符號等文本信息的輸入。
Abstract:
Key words :

摘要:給出一種基于Philips公司的ARM7微控制器LPC2138的中文輸入系統的設計方法。系統采用4×4接口鍵盤、LCM240128圖形液晶模塊以及存儲器等實現T9中文輸入法,可以進行漢字、英文、數字符號等文本信息的輸入。該中文輸入系統可廣泛地應用于各類電子設備的研發,具有較高實用價值。
關鍵詞:ARM7;LPC2138;中文輸入

引言
    目前,以液晶和數字鍵盤實現的人機交互式界面在智能終端中廣泛采用。在不同的應用場合,對人機界面的要求也不同,一些情況下只要求簡單參數的顯示和選擇,而在一些信息終端中還要求中文的輸入。因此,研究基于單片機的中文輸入方法,對于各類電子裝置的開發具有一定的現實意義。本系統基于ARM7微控制器LPC2138,通過擴展4×4鍵盤和液晶實現了T9中文輸入系統的設計。

1 LPC2138簡介
    Philips公司的32位ARM7微控制器LPC2138具有強大的存儲空間,內嵌32 KB片內靜態RAM和512 KB的Flash存儲器;可以實現在系統可編程(ISP)、在應用可編程(IAP);2個8路10位A/D轉換器,1個D/A轉換器,轉換迅速準確;引腳資源豐富,多達47個可承受5 V電壓的通用I/O口;多個串行接口,包括2個16C550工業標準UART、2個高速I2C接口、SPI,以及具有緩沖作用和數據長度可變功能的SSP協議。LPC2138可以移植μC/0S-II操作系統,軟件的可移植性好,工作可靠。

2 硬件系統
2.1 系統體系結構
    一個完整的文本輸入系統由主控器、輸入設備和顯示設備3部分構成。本系統結構如圖1所示。采用LPC2138芯片作為主控器,擴展4×4接口鍵盤作為輸入設備,擴展LCM240128圖形液晶模塊作為顯示設備。此外,系統還擴展了E2PROM AT24C256作為字庫字模數據存儲芯片。

6a.JPG


2.2 4×4鍵盤電路
    如圖2所示,系統擴展4×4簡易鍵盤,通過行列掃描的方式讀取鍵值。數字、字母、符號等共用同一套鍵盤,具有多種切換模式,供用戶選擇。“1”鍵可調用符號輸入函數;“O”和“#”鍵分別實現字母和漢字、數字和漢字之間的切換;“*”鍵可實現輸入字符的退格;“↑ ”“↓”鍵可以對輸出拼音列表進行光標移動,以及對漢字列表進行翻頁操作;“確定”和“取消”鍵分別實現拼音和漢字輸入的確認和取消。按鍵功能定義如圖3所示。

        6b.JPG   

6c.JPG
2.3 存儲模塊電路
    利用ARM7的I2C總線擴展E2PROM AT24C256,接口電路如圖4所示。AT24C256存儲空間32 KB,作為字庫存儲芯片來存儲24×24國標二級字庫字模數據。通過獲取漢字字模數據,實現圖形液晶模塊對漢字的顯示。

 

6d.JPG
2.4 液晶模塊電路
    液晶模塊電路如圖5所示。采用圖形液晶顯示模塊LCM240128作為顯示設備。其內部不含中文字庫,配合字庫存儲芯片AT24C256可以實現24×24中文漢字的輸入。

3 軟件系統
    T9拼音輸入系統軟件部分的主要任務是將鍵盤輸入的數字序列轉換成漢字。其主要由3部分構成:
    ①將鍵盤輸入的數字序列轉換為拼音編碼;
    ②根據拼音編碼找到對應的漢字編碼;
    ③根據漢字編碼找到二級字庫存儲芯片中對應的漢字字模數據的首地址。
3.1 拼音、漢字表格式定義
    在程序中,拼音編碼的數據格式如下:

6e.JPG

    拼音編碼索引表的定義為一個常量數組,每一個拼音的編碼都作為一個元素存在。其格式如下:

6f.JPG

    漢字編碼表為多個常量數組構成。其格式如下:

6g.JPG

    漢字編碼表中,每一個漢字對應1個ACSII碼,根據ASCII碼可以分離出漢字在漢字內碼表的行、列位置,用于查找字庫中對應漢字的字模的首地址。
3.2 漢字庫字模首地址查詢
    漢字內碼是一個4位十六進制數,區位碼是一個4位的十進制數,每個漢字內碼或區位碼都對應著一個唯一的漢字或符號。圖6(a)和6(b)分別為區位碼表和漢字內碼表。其對應關系為:漢字內碼列=區碼+0xaO;漢字內碼行=位碼+0xaO。

6h.JPG


    在E2PROM中,二級字庫字模的存儲格式為一維數組,而在漢字輸出匹配時采用的是漢字內碼格式(2個十六進制數表示),所以需要將漢字內碼的行和列二維地址換算成一維地址,從而對應找到24x 24字庫中漢字字模的起始位置。
    對于最終匹配好的漢字編碼表中的漢字,取出其漢字內碼的行和列分別作為code_a和code_b(以“白”字為例,其漢字內碼為B0D7,則code_a=0xb0、code_b=0xd7)。則其對應的存儲器中24×24漢字字模首地址的計算關系為:存儲器中漢字字模首地址=[(code_a一0xal)+(code_b一0xb0)×94]×(24×24/8)。
3.3 文字輸入判斷
    T9鍵盤輸入時,需要對鍵值進行一系列的判斷。根據功能的不同,分別需要對數字鍵、翻頁鍵、退格鍵、數字/漢字切換鍵、字母/漢字切換鍵、符號鍵以及確定、取消鍵進行順次的判斷。其判斷流程如圖7所示。

6i.JPG


3.4 數字、拼音和漢字匹配輸出
    拼音編碼索引表和漢字編碼數組是一一對應的,如何實現對輸入數字序列與拼音列表之間的映射、拼音與漢字列表之間的映射、漢字與字庫芯片中漢字字模之間的映射是該系統的核心問題。

6j.JPG


    如圖8所示,數字、拼音和漢字匹配輸出程序步驟(以‘白’字為例):
    ①系統針對于所輸入的數字序列“224”,在拼音編碼索引表中進行匹配,得到兩個拼音“bai”和“cai”;
    ②通過光標選擇“bai”后,在拼音編碼索引表中可以獲得漢字編碼表中對應漢字的位置,即T9PY_IDX數組中的*hz_bai;
    ③在漢字編碼表中獲取hz_bai[]數組數據,送屏幕進行顯示“白百擺敗拜佰柏稗”;
    ④通過數字鍵選擇對應的漢字后,獲取該漢字的ASCII碼BOD7;
    ⑤將漢字內碼的ASCII碼通過漢字內碼地址的轉換,找到存儲芯片中該漢字字模數據的首地址,將字模數據送液晶顯示,完成一個漢字的輸入。

結語
    本文介紹了基于Philips公司的ARM7微控制器LPC2138的T9中文輸入系統的設計方法,實現了漢字、英文字母、數字符號等文本信息的輸入。本方案可以為基于單片機的產品開發、中文輸入法研究等提供參考,具有一定的實用價值。
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 里番牝教师~淫辱yy608| www在线观看免费视频| 欧美激情(一区二区三区)| 国产youjizz| 青青操免费在线观看| 嫩草香味在线观看6080| 久久精品99无色码中文字幕| 污视频网站免费| 四虎成人精品一区二区免费网站| 在线观看免费视频资源| 好色先生视频tv下载| 久久天天躁狠狠躁夜夜avapp| 残虐极限扩宫俱乐部| 国产精品99久久久久久宅男| jizzjizzjizz国产| 日本按摩xxxx| 亚洲另类春色国产精品| 男男gay做爽爽的视频免费| 国产在线视频www色| 91福利国产在线观一区二区| 成人免费视频在线播放| 久草香蕉视频在线观看| 欧美精品国产综合久久| 午夜国产羞羞视频免费网站| 麻豆国产精品免费视频| 国产精品美女久久久久AV福利| 一二三四社区在线高清观看在线| 日本免费新一区二区三区| 亚洲一级黄色大片| 永久黄网站色视频免费直播| 十八岁的天空完整版在线观看 | 啦啦啦手机完整免费高清观看| 黄色福利视频网站| 国产麻豆一级在线观看| а√天堂资源地址在线官网| 日日碰狠狠添天天爽五月婷| 亚洲AV无码一区东京热| 欧美成人在线视频| 亚洲精品视频在线观看免费| 老子影院午夜理伦手机不卡| 国产午夜无码片在线观看影院|