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

????4??漢字輸入
????P89C51RD2是Philips公司于2001年發(fā)布的一款非常優(yōu)秀的單片機,該單片機是基于8位80C51單片機的派生產(chǎn)品,他在完全保留80C51指令系統(tǒng)和硬件結(jié)構(gòu)的大框架外,進行了多方面的加強擴展和創(chuàng)新,P89C51RD2將原有的對外數(shù)據(jù)和程序存儲器的16位尋址機制加以利用,把片上的RAM 擴展到1 kB,片上的FLASH EPROM擴展到64 kB,具有ISP(在系統(tǒng)可編程)和IAP(在應(yīng)用中編程),具有6時鐘和12時鐘模式,6時鐘模式外部晶振0~20 MHz,12時鐘模式外部晶振可達(dá)0~33 MHz。
????作為一般應(yīng)用系統(tǒng)來說,一二級字庫的漢字已足夠使用,漢
字區(qū)位碼2 B表示一個漢字,64 kB片上的FLASH EPROM共可存儲漢字3萬多個,設(shè)計中以數(shù)組形式在FLASH中存儲,一二級6 763個漢字共用13 526 B。 ????實例做法如下:用漢語拼音作為數(shù)組名,以該拼音所包含的漢字的區(qū)位碼為數(shù)組元素,并 將所有一二級漢字以代碼形式定義在程序中,這是一個比較煩瑣的工作,工作量比較大。 ????從鍵盤輸入漢語拼音,通過輸入的漢語拼音索引查詢名字相同的數(shù)組,從數(shù)組中取得漢字的區(qū)位碼放入數(shù)組qwm中,所取漢字個數(shù)放入qwm_counter中,顯示在LCD上,如果一頁顯示不完,則可通過翻頁來顯示,直到顯示完為止,從中選取所需漢字顯示并保存。還可利用IAP功能進行在應(yīng)用中編程,實現(xiàn)代碼重構(gòu)。定義: ????用上面所示的puthz16程序,利用區(qū)位碼從FLASH中讀取這些漢字的點陣數(shù)據(jù),再用畫點函數(shù)將漢字點陣寫入顯示緩存并利用漢字顯示程序?qū)h字顯示在LCD上或通過串口進行通訊,將漢字編碼發(fā)送出去。 ????5??漢字顯示 ????本設(shè)計中LCD顯示使用的DMF50174是320×240點陣,由SED1335控制,每屏可顯示20×15共 300個漢字,下面給出最基本的顯示程序,在此基礎(chǔ)上可以很容易地在LCD上顯示漢字。 ????該設(shè)計方法已實際應(yīng)用在某系統(tǒng)顯控器上,證明使用可靠、效果良好,對于低成本、低功耗的設(shè)計有一定的借鑒意義。由于篇幅所限,IAP功能沒有列出,讀者可以參考有關(guān)文獻自己設(shè)計。






- 漢字(18471)
幾種手機漢字輸入法的測評
2929
單片機最小系統(tǒng)的組成部分 使用proteus軟件搭建最小單片機系統(tǒng)的操作方法
3612
單片機發(fā)中文短信對漢字的處理
單片機的LED漢字條屏顯示工作原理是什么?
單片機高級語言FranklinC51在LCD漢字顯示程序設(shè)計中的應(yīng)用
STM32單片機和中顯串口屏之間的通信該如何去實現(xiàn)呢
VF2-2403工程版Chromium103瀏覽器的漢字輸入方法分享
[原創(chuàng)]單片機系統(tǒng)中的漢字顯示
【mfxp】Windows XP系統(tǒng)刪除和增加漢字輸入法的方法
如何去實現(xiàn)基于嵌入式Linux的漢字輸入法呢
如何用stm32單片機接收APP發(fā)下來的漢字
畢業(yè)設(shè)計(論文)-基于AT89S52單片機的公交車漢字顯示系統(tǒng)設(shè)計
請教51單片機串口通訊發(fā)送漢字的問題
請問怎么用串口調(diào)試助手給單片機輸入漢字
單片機應(yīng)用系統(tǒng)設(shè)計的基本方法
40單片機在溫控系統(tǒng)中的應(yīng)用
26基于單片機的智能終端中漢字顯示的處理
23基于嵌入式Linux的漢字輸入法
13基于單片機控制的LED點陣顯示屏系統(tǒng)
303基于單片機的LED漢字顯示屏設(shè)計與制作
143串行EEPROM在MCS 51單片機系統(tǒng)中的應(yīng)用
49單片機系統(tǒng)的工作原理設(shè)計
26應(yīng)廣單片機 PFS154系列 代燒錄
NY8A050D單片機,AD單片機,九齊代理
基于ROM單片機的漢字輸入法的實現(xiàn)
35基于單片機的LED漢字顯示屏的設(shè)計與仿真
2972基于單片機的LED漢字顯示屏的設(shè)計與Proteus仿真
4118
單片機教程十七:單片機的中斷系統(tǒng)
5158
單片機并行擴展口在小型漢字顯示屏中的應(yīng)用
1259
單片機系統(tǒng)應(yīng)用中的抗干擾措施
1125
WPS漢字輸入方式在CAXA電子圖板上的應(yīng)用
1727Proteus在單片機系統(tǒng)設(shè)計中的應(yīng)用簡介
1678漢字的表示方法有哪些?
6370Pocket PC中漢字輸入法分析與實現(xiàn)
18基于單片機的智能終端漢字顯示處理
54基于VxWorks的漢字輸入法實現(xiàn)
31基于單片機的LED漢字顯示屏的設(shè)計
256單片機應(yīng)用系統(tǒng)中的按鍵與顯示_從零開始學(xué)習(xí)單片機系列
0單片機應(yīng)用系統(tǒng)中的模擬量輸入與輸出_從零開始學(xué)習(xí)單片機系列
0Pocket PC中漢字輸入法分析與實現(xiàn)
0基于單片機的溫室控制系統(tǒng)
32單片機控制的LD驅(qū)動系統(tǒng)
0單片機實驗系統(tǒng)中GPS實驗?zāi)K的設(shè)計與應(yīng)用
10基于DSP與單片機的LCD顯示控制系統(tǒng)設(shè)計
7Protel 99se漢化包免費下載(附漢字輸入補丁說明與安裝方法)
0基于單片機的數(shù)顯游標(biāo)卡尺數(shù)據(jù)采集系統(tǒng)
30如何使你的單片機顯示系統(tǒng)中加入中文顯示的功能
1單片機中不帶字庫LCD液晶屏如何顯示少量漢字詳細(xì)方法和代碼說明
451單片機最小系統(tǒng)是什么?51單片機最小系統(tǒng)的電路介紹
44使用51單片機實現(xiàn)點陣漢字平滑滾動顯示原理圖和程序及資料免費下載
18使用PIC單片機控制12864漢字液晶模塊顯示文字的源代碼免費下載
16B超系統(tǒng)中的漢字輸入方案的設(shè)計與實現(xiàn)
2667
嵌入式linux 中文輸入法,基于嵌入式Linux的漢字輸入法
8AVR單片機 實驗一 單片機基本輸入輸出(GPIO)實驗
17單片機IO口輸入輸出模式判斷
16關(guān)于單片機系統(tǒng)中光耦的作用
7824STM32單片機的GPIO輸入、輸出模式與配置方法
10095基于Proteus的單片機漢字點陣顯示電路設(shè)計
0單片機的最小系統(tǒng)由什么組成 單片機的最小系統(tǒng)包括哪些
14264怎么測單片機系統(tǒng)頻率
567
電子發(fā)燒友App




評論