當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]在實(shí)際應(yīng)用中,特別是在需要實(shí)時(shí)大量輸入漢字的顯控處理應(yīng)用中,利用傳統(tǒng)單片機(jī)顯控設(shè)計(jì)方法是無(wú)法實(shí)現(xiàn)的;通過(guò)對(duì)漢字內(nèi)碼的分析,給出硬件漢字庫(kù)的制作方法,提出針對(duì)一、二級(jí)漢字庫(kù)編碼檢索的拼音輸入檢索方法

    摘  要:在實(shí)際應(yīng)用中,特別是在需要實(shí)時(shí)大量輸入漢字的顯控處理應(yīng)用中,利用傳統(tǒng)單片機(jī)顯控設(shè)計(jì)方法是無(wú)法實(shí)現(xiàn)的;通過(guò)對(duì)漢字內(nèi)碼的分析,給出硬件漢字庫(kù)的制作方法,提出針對(duì)一、二級(jí)漢字庫(kù)編碼檢索的拼音輸入檢索方法, 利用Philips P89C51R D2單片機(jī)為核心處理芯片,設(shè)計(jì)一種具有通過(guò)鍵盤用漢語(yǔ)拼音輸入法輸入漢語(yǔ)拼音, 利用相應(yīng)程序通過(guò)編碼檢索,在顯控系統(tǒng)中實(shí)時(shí)輸入漢字,并在LCD上顯示或通過(guò)RS 232串口輸出漢字點(diǎn)陣數(shù)據(jù)的方法。

    關(guān)鍵詞:P89C51RD2;漢語(yǔ)拼音;漢字庫(kù);LCD;C51

    對(duì)于PC機(jī)來(lái)說(shuō),輸入漢字是非常簡(jiǎn)單的,但在一些單片機(jī)人機(jī)接口系統(tǒng)中,進(jìn)行漢字的實(shí)時(shí)輸入是很困難的,而大多只能顯示事先已取好字模點(diǎn)陣的漢字,但是每個(gè)16×16漢字點(diǎn)陣由32個(gè)字節(jié)表示,對(duì)于需要靈活使用大量漢字的場(chǎng)合,程序量太大,實(shí)現(xiàn)起來(lái)有很大難度;下面針對(duì)漢字庫(kù)的結(jié)構(gòu)進(jìn)行分析,設(shè)計(jì)一種實(shí)用的漢字拼音輸入法,并給出液晶漢字顯示模塊的基本程序。

    1  漢字的內(nèi)碼表示

    針對(duì)不同的操作系統(tǒng)漢字內(nèi)碼表示不同,如在蘋果機(jī)的OS上使用的是GB231280漢字編碼,Window s系統(tǒng)則使用GBK漢字編碼,還有Unicode編碼,GB180302000,方正748編碼等。由于GB 231280是最早(1980年)的、由中國(guó)國(guó)家標(biāo)準(zhǔn)局頒布的《通用漢字字符集及其交換標(biāo)準(zhǔn)碼》,所以以后產(chǎn)生的各編碼都兼容了GB2312,他共收入漢字、字母、符號(hào)等7 445個(gè),其中漢字6 763個(gè),包 括一級(jí)漢字3 755個(gè),二級(jí)漢字3 008個(gè),是中國(guó)大陸及海外使用簡(jiǎn)體中文的地區(qū)(如新加坡等)強(qiáng)制使用的惟一中文編碼,所以也稱為標(biāo)準(zhǔn)漢字庫(kù)。

    每個(gè)漢字的點(diǎn)陣數(shù)據(jù)需要占據(jù)內(nèi)存32 B,有筆劃顯示的地方為1,無(wú)筆劃顯示的地方為0。然后通過(guò)單片機(jī)的C51語(yǔ)言將點(diǎn)陣數(shù)據(jù)轉(zhuǎn)換成點(diǎn)陣液晶可顯示的點(diǎn)陣數(shù)據(jù)形式。

    2  漢字庫(kù)的制作

    本節(jié)中論述將16×16點(diǎn)陣的宋體漢字庫(kù)燒錄到512 kB的存儲(chǔ)器中的具體方法。

    本例中使用的存儲(chǔ)芯片為AM29C040,該芯片是AMD公司生產(chǎn)的512 kB的FLASH ROM,讀者也可以使用其他容量不小于256 kB的產(chǎn)品,但在具體電路設(shè)計(jì)時(shí)應(yīng)注意引腳定義和邏輯關(guān)系,并在燒錄時(shí)選擇相應(yīng)的型號(hào);UCDOS軟件有一個(gè)名字為HZK16DAT 的文件,這就是16×16的國(guó)標(biāo)漢字點(diǎn)陣文件,在該文件中按漢字區(qū)位碼從小到大依次存有國(guó)標(biāo)區(qū)位碼中的所有漢字,每個(gè)漢字占用32 B,每個(gè)區(qū)為94個(gè)漢字,其大小為262 kB,可以全部寫(xiě)入AM29C040,除了可以存儲(chǔ)全部的國(guó)標(biāo)漢字外還可以存儲(chǔ)8×16的ASCII碼點(diǎn)陣數(shù)據(jù)以及漢字語(yǔ)句編碼數(shù)據(jù),使用起來(lái)更加方便。

    在實(shí)際操作中,硬件漢字庫(kù)的制作和普通的程序存儲(chǔ)器的編程沒(méi)什么不同,注意將HZK16文件調(diào)入時(shí)要使用二進(jìn)制方式打開(kāi),編程并校驗(yàn)成功后即可將存儲(chǔ)器取下備用,這樣一個(gè)硬件漢字庫(kù)就制作好了。

    3  設(shè)計(jì)思路

    在本實(shí)例中,從低成本、低功耗設(shè)計(jì)理念出發(fā),以Philips公司的P89C51RD2單片機(jī)為核心,輸入用4×4的復(fù)用鍵盤,既可輸入數(shù)字,也可輸入字母或拼音,漢字庫(kù)保存在AMD公司的A M29C040(512 k×8 b)FLASH上,液晶顯示模塊DMF50174(320×240),顯示控制器SE D1335是日本SEIKO EPSON公司出品的液晶顯示控制芯片。各個(gè)芯片的片選(控制信號(hào))由74 HC138譯碼產(chǎn)生。

    鍵盤輸入漢語(yǔ)拼音,單片機(jī)檢索區(qū)位碼,從FLASH中讀出漢字點(diǎn)陣設(shè)計(jì),顯示在LCD上,并利用P89C51RD2的IAP功能在線進(jìn)行編程,在線改變用戶界面或接口功能。

    

    4  漢字輸入

    P89C51RD2是Philips公司于2001年發(fā)布的一款非常優(yōu)秀的單片機(jī),該單片機(jī)是基于8位80C51單片機(jī)的派生產(chǎn)品,他在完全保留80C51指令系統(tǒng)和硬件結(jié)構(gòu)的大框架外,進(jìn)行了多方面的加強(qiáng)擴(kuò)展和創(chuàng)新,P89C51RD2將原有的對(duì)外數(shù)據(jù)和程序存儲(chǔ)器的16位尋址機(jī)制加以利用,把片上的RAM 擴(kuò)展到1 kB,片上的FLASH EPROM擴(kuò)展到64 kB,具有ISP(在系統(tǒng)可編程)和IAP(在應(yīng)用中編程),具有6時(shí)鐘和12時(shí)鐘模式,6時(shí)鐘模式外部晶振0~20 MHz,12時(shí)鐘模式外部晶振可達(dá)0~33 MHz。

    作為一般應(yīng)用系統(tǒng)來(lái)說(shuō),一二級(jí)字庫(kù)的漢字已足夠使用,漢字區(qū)位碼2 B表示一個(gè)漢字,64 kB片上的FLASH EPROM共可存儲(chǔ)漢字3萬(wàn)多個(gè),設(shè)計(jì)中以數(shù)組形式在FLASH中存儲(chǔ),一二級(jí)6 763個(gè)漢字共用13 526 B。

    實(shí)例做法如下:用漢語(yǔ)拼音作為數(shù)組名,以該拼音所包含的漢字的區(qū)位碼為數(shù)組元素,并 將所有一二級(jí)漢字以代碼形式定義在程序中,這是一個(gè)比較煩瑣的工作,工作量比較大。

    

    從鍵盤輸入漢語(yǔ)拼音,通過(guò)輸入的漢語(yǔ)拼音索引查詢名字相同的數(shù)組,從數(shù)組中取得漢字的區(qū)位碼放入數(shù)組qwm中,所取漢字個(gè)數(shù)放入qwm_counter中,顯示在LCD上,如果一頁(yè)顯示不完,則可通過(guò)翻頁(yè)來(lái)顯示,直到顯示完為止,從中選取所需漢字顯示并保存。還可利用IAP功能進(jìn)行在應(yīng)用中編程,實(shí)現(xiàn)代碼重構(gòu)。定義:

    

    

    

    用上面所示的puthz16程序,利用區(qū)位碼從FLASH中讀取這些漢字的點(diǎn)陣數(shù)據(jù),再用畫(huà)點(diǎn)函數(shù)將漢字點(diǎn)陣寫(xiě)入顯示緩存并利用漢字顯示程序?qū)h字顯示在LCD上或通過(guò)串口進(jìn)行通訊,將漢字編碼發(fā)送出去。

    5  漢字顯示

    本設(shè)計(jì)中LCD顯示使用的DMF50174是320×240點(diǎn)陣,由SED1335控制,每屏可顯示20×15共 300個(gè)漢字,下面給出最基本的顯示程序,在此基礎(chǔ)上可以很容易地在LCD上顯示漢字。

    

    
    

    

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉