<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機顯控系統(tǒng)中的漢字輸入

          單片機顯控系統(tǒng)中的漢字輸入

          作者: 時間:2016-10-15 來源:網(wǎng)絡 收藏

          摘 要:在實際應用中,特別是在需要實時大量輸入漢字的顯控處理應用中,利用傳統(tǒng)顯控設計方法是無法實現(xiàn)的;通過對漢字內(nèi)碼的分析,給出硬件漢字庫的制作方法,提出針對一、二級漢字庫編碼檢索的拼音輸入檢索方法, 利用Philips P89C51R D2為核心處理芯片,設計一種具有通過鍵盤用漢語拼音輸入法輸入漢語拼音, 利用相應程序通過編碼檢索,在中實時輸入漢字,并在LCD上顯示或通過RS 232串口輸出漢字點陣數(shù)據(jù)的方法。 關鍵詞:P89C51RD2;漢語拼音;漢字庫;LCD;C51 對于PC機來說,輸入漢字是非常簡單的,但在一些人機接口系統(tǒng)中,進行漢字的實時輸入是很困難的,而大多只能顯示事先已取好字模點陣的漢字,但是每個16%26;#215;16漢字點陣由32個字節(jié)表示,對于需要靈活使用大量漢字的場合,程序量太大,實現(xiàn)起來有很大難度;下面針對漢字庫的結構進行分析,設計一種實用的漢字拼音輸入法,并給出液晶漢字顯示模塊的基本程序。 1 漢字的內(nèi)碼表示 針對不同的操作系統(tǒng)漢字內(nèi)碼表示不同,如在蘋果機的OS上使用的是GB231280漢字編碼,Window s系統(tǒng)則使用GBK漢字編碼,還有Unicode編碼,GB180302000,方正748編碼等。由于GB 231280是最早(1980年)的、由中國國家標準局頒布的《通用漢字字符集及其交換標準碼》,所以以后產(chǎn)生的各編碼都兼容了GB2312,他共收入漢字、字母、符號等7 445個,其中漢字6 763個,包 括一級漢字3 755個,二級漢字3 008個,是中國大陸及海外使用簡體中文的地區(qū)(如新加坡等)強制使用的惟一中文編碼,所以也稱為標準漢字庫。 每個漢字的點陣數(shù)據(jù)需要占據(jù)內(nèi)存32 B,有筆劃顯示的地方為1,無筆劃顯示的地方為0。然后通過單片機的C51語言將點陣數(shù)據(jù)轉(zhuǎn)換成點陣液晶可顯示的點陣數(shù)據(jù)形式。 2 漢字庫的制作 本節(jié)中論述將16%26;#215;16點陣的宋體漢字庫燒錄到512 kB的存儲器中的具體方法。 本例中使用的存儲芯片為AM29C040,該芯片是AMD公司生產(chǎn)的512 kB的FLASH ROM,讀者也可以使用其他容量不小于256 kB的產(chǎn)品,但在具體電路設計時應注意引腳定義和邏輯關系,并在燒錄時選擇相應的型號;UCDOS軟件有一個名字為HZK16DAT 的文件,這就是16%26;#215;16的國標漢字點陣文件,在該文件中按漢字區(qū)位碼從小到大依次存有國標區(qū)位碼中的所有漢字,每個漢字占用32 B,每個區(qū)為94個漢字,其大小為262 kB,可以全部寫入AM29C040,除了可以存儲全部的國標漢字外還可以存儲8%26;#215;16的ASCII碼點陣數(shù)據(jù)以及漢字語句編碼數(shù)據(jù),使用起來更加方便。 在實際操作中,硬件漢字庫的制作和普通的程序存儲器的編程沒什么不同,注意將HZK16文件調(diào)入時要使用二進制方式打開,編程并校驗成功后即可將存儲器取下備用,這樣一個硬件漢字庫就制作好了。 3 設計思路 在本實例中,從低成本、低功耗設計理念出發(fā),以Philips公司的P89C51RD2單片機為核心,輸入用4%26;#215;4的復用鍵盤,既可輸入數(shù)字,也可輸入字母或拼音,漢字庫保存在AMD公司的A M29C040(512 k%26;#215;8 b)FLASH上,液晶顯示模塊DMF50174(320%26;#215;240),顯示控制器SE D1335是日本SEIKO EPSON公司出品的液晶顯示控制芯片。各個芯片的片選(控制信號)由74 HC138譯碼產(chǎn)生。 鍵盤輸入漢語拼音,單片機檢索區(qū)位碼,從FLASH中讀出漢字點陣設計,顯示在LCD上,并利用P89C51RD2的IAP功能在線進行編程,在線改變用戶界面或接口功能。

          本文引用地址:http://www.ex-cimer.com/article/201610/307508.htm
          1.jpg

          4 P89C51RD2是Philips公司于2001年發(fā)布的一款非常優(yōu)秀的單片機,該單片機是基于8位80C51單片機的派生產(chǎn)品,他在完全保留 80C51指令系統(tǒng)和硬件結構的大框架外,進行了多方面的加強擴展和創(chuàng)新,P89C51RD2將原有的對外數(shù)據(jù)和程序存儲器的16位尋址機制加以利用,把片上的RAM 擴展到1 kB,片上的FLASH EPROM擴展到64 kB,具有ISP(在系統(tǒng)可編程)和IAP(在應用中編程),具有6時鐘和12時鐘模式,6時鐘模式外部晶振0~20 MHz,12時鐘模式外部晶振可達0~33 MHz。 作為一般應用系統(tǒng)來說,一二級字庫的漢字已足夠使用,漢字區(qū)位碼2 B表示一個漢字,64 kB片上的FLASH EPROM共可存儲漢字3萬多個,設計中以數(shù)組形式在FLASH中存儲,一二級6 763個漢字共用13 526 B。 實例做法如下:用漢語拼音作為數(shù)組名,以該拼音所包含的漢字的區(qū)位碼為數(shù)組元素,并 將所有一二級漢字以代碼形式定義在程序中,這是一個比較煩瑣的工作,工作量比較大。


          從鍵盤輸入漢語拼音,通過輸入的漢語拼音索引查詢名字相同的數(shù)組,從數(shù)組中取得漢字的區(qū)位碼放入數(shù)組qwm中,所取漢字個數(shù)放入qwm_counter 中,顯示在LCD上,如果一頁顯示不完,則可通過翻頁來顯示,直到顯示完為止,從中選取所需漢字顯示并保存。還可利用IAP功能進行在應用中編程,實現(xiàn)代碼重構。定義: 用上面所示的puthz16程序,利用區(qū)位碼從FLASH中讀取這些漢字的點陣數(shù)據(jù),再用畫點函數(shù)將漢字點陣寫入顯示緩存并利用漢字顯示程序?qū)h字顯示在LCD上或通過串口進行通訊,將漢字編碼發(fā)送出去。 5 漢字顯示 本設計中LCD顯示使用的DMF50174是320%26;#215;240點陣,由SED1335控制,每屏可顯示20%26;#215;15共 300個漢字,下面給出最基本的顯示程序,在此基礎上可以很容易地在LCD上顯示漢字。


          該設計方法已實際應用在某系統(tǒng)顯控器上,證明使用可靠、效果良好,對于低成本、低功耗的設計有一定的借鑒意義。由于篇幅所限,IAP功能沒有列出,讀者可以參考有關文獻自己設計。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();