當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]中文輸入法在B超系統(tǒng)中的實現

    在計算機迅速發(fā)展和普及的今天,用計算機對漢字進行輸入、編輯和處理已經非常普遍了。在醫(yī)療電子產品中,越來越多的場合需要顯示漢字。

     在使用高性能CPU時,可采用嵌入式操作系統(tǒng)(如Linux、WinCE)所支持的GUI程序來實現友好的人機界面。在很多情況下,需要使用相對簡單的MCU控制整個系統(tǒng),如采用單片機STC89C516RD+實現系統(tǒng)控制和人機界面,此時必須尋求占用較少資源的低成本解決方案。本文對中文輸入法在B超系統(tǒng)中的實現進行了介紹。

字庫設計

    通常的漢字顯示方式是:先用字模軟件提取所需要的漢字點陣,取得的數據可放入ASM匯編文件中,接著在單片機集成開發(fā)環(huán)境中對匯編文件進行編譯——生成BIN文件,然后用編程器將BIN文件燒錄到芯片。在使用時是讀取芯片中的漢字點陣數據,將其寫到字符存儲器中。

    如果需要顯示的字少,點陣數據就少,將數據燒錄到程序存儲器即可。實現中文輸入法,顯示的字比較多,數據量比較大,需要專門生成字庫數據,放入擴展的數據存儲器中。

    構造漢字庫,通常有如下方法:使用程序空間做小字庫;使用大容量的ROM芯片專門做漢字庫,這種方法在小型便攜式設備中一般不采用;為了降低成本和減小體積,對于速度要求不是很高的場合可采用大容量的串行數據存儲器,如AT45DB041B。

    UCDOS軟件中的文件HZK16和文件ASC16分別為16×16的國標漢字點陣文件和8×16的ASCII碼點陣文件,以二進制格式存儲。最常用的ASCII碼點陣為5×7(橫向5個點,豎向7個點)或7×9。對于給定字體的字符,字形的點數越多,字形的質量越好,而所需的數據量越大,占用存儲空間越多。對于不同的顯示系統(tǒng),要顯示同一圖形,所需的數據排列順序各不相同,現有的HZK16和ASC16文件不一定能直接應用到自己的系統(tǒng)中,常用的方法是用排列方式可自由定義的字模軟件取數據再放入程序或數據存儲區(qū)。

    通過比較,發(fā)現選用12×12的點陣形式表示漢字、采用8×12的點陣形式表示ASCII碼可以兼顧美觀和減少硬件開支,而且有部分程序模塊可共用,也為后期中英文顯示界面、菜單操作界面奠定了基礎。字模軟件取數據時必須一個方向是8的倍數,因此12×12將自動調整為16×12或12×16,點陣字符如圖1所示。

圖1  點陣字符

    不難發(fā)現,表示一個漢字需要24B,其中12B有一半是空白的,如果將由字模取得的數據壓縮一下,18B就足以存儲一個漢字的點陣數據。

硬件框圖

    如圖2所示,單片機STC89C516RD+的內部集成了64KB閃存和1280B SRAM,利用其內部資源不需要再擴展外部程序存儲器,譯碼器、屏幕地址產生器、多路地址/數據切換、電視信號產生器、電視信號合成大都采用FPGA編程實現,信號合成后經D/A轉換送監(jiān)視器屏幕顯示。

圖2  硬件框圖

軟件實現

    據調查,漢字輸入方案中,拼音輸入方式占80%以上,形碼用戶則少于20%。漢字輸入法的實質是建立一種按鍵組合到漢字編碼的映射關系,使用全鍵盤的B超系統(tǒng)與使用標準鍵盤的PC的輸入法本質上是相同的。建立索引表就可實現從按鍵組合到漢字編碼的映射,如圖3所示。

圖3  按鍵組合索引表示意圖


    在Keil C編譯環(huán)境下,“拼音輸入法模塊”可以從網上下載到,醫(yī)療系統(tǒng)常要用到醫(yī)院名稱和患者姓名,為此在該模塊基礎上,增加了一些常見的地名、姓名用字,共收錄漢字4120個,用字模軟件提取點陣,并進行壓縮形成漢字點陣數據庫,放入數據存儲區(qū),接著建立字模組合索引表,連同一些參數和表格數據共用一片EEPROM 39VF010就可以了。51系列單片機最大可尋址64KB存儲空間,可用P1口作頁地址實現對64KB以上數據空間的訪問。

    相對有限鍵的中文輸入法(如手機),全鍵盤的中文輸入法利用按鍵比較容易完成26個字母以及其他功能的操作。

    字庫準備好之后,接下來的軟件設計關鍵在于構建拼音組合樹(如圖4所示)的遍歷算法、同音字的查找算法。這里要占用51單片機的一些內部RAM資源,存放拼音代碼、當前拼音組合映射的字庫地址ADDR0、下一拼音組合映射的字庫地址ADDR1和當前顯示漢字的首地址ADDR等。根據拼音組合用遍歷算法查得該拼音組合的第一個漢字的點陣地址,用向上、向下鍵實現翻頁,通過ADDR與ADDR0或ADDR1的比較,來保證在同一拼音組合內查找漢字。

圖4  拼音組合樹示例

結論

    本方案已在某B超系統(tǒng)上成功實施,目前已經實現病歷號的中文拼音輸入及存儲,借助于該漢字庫實現了中文界面顯示。

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

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

關鍵字: 華為 12nm 手機 衛(wèi)星通信

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

關鍵字: 通信 BSP 電信運營商 數字經濟

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

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

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

關鍵字: BSP 信息技術
關閉
關閉