国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

漢字字符串的無冗余可裁剪中文顯示解決方案※*

2012-08-27 08:32:58陳孝堅陳健屈環(huán)宇
關鍵詞:機軟件存儲空間字符串

陳孝堅,陳健,屈環(huán)宇

(嘉興學院 數(shù)理與信息工程學院,嘉興314001)

引 言

隨著數(shù)字化技術的飛速發(fā)展,嵌入式產(chǎn)品應用在我們生活中的各個方面。尤其是那些高性能、低成本、低功耗的RISC處理器已廣泛地嵌入到家用電器、儀器儀表等生活所必需的產(chǎn)品之中。嵌入式產(chǎn)品將面向基層、面向大眾,獲得更廣泛的應用。

當產(chǎn)品面向大眾時,要做到較好的人機交互,就必須能顯示中文,從而達到與用戶對話的效果。于是,便出現(xiàn)了一個值得深入研究的問題:顯示中文時如何實現(xiàn)占用存儲空間小、字模無冗余、不依賴于其他嵌入式GUI、操作方便等效果。

1 中文顯示解決方案的設計理念

作者多次遇到需在液晶屏上顯示中文的項目需求,通常用以下兩種方法解決。

(1)逐個字模法

當顯示漢字字符串數(shù)在十幾個時,通常會逐個獲取漢字字模,再組合成所要顯示的漢字字符串。

在硬件層面,此方法雖占用的存儲空間較小,但容易出現(xiàn)字模冗余。

在操作層面,此方法操作起來非常復雜,得逐字取模,而且還需組合成漢字字符串數(shù)組。當所需顯示的漢字字符串增加時,取模操作將成倍數(shù)增加,而組合成字符串的操作將呈指數(shù)次增加。

也就是說,當需要顯示字符串較多時,此方法非常繁瑣。

(2)字模庫法

當所需顯示的漢字字符串數(shù)在幾百個時,通常會采用字模庫法。

在硬件層面,此方法占用的存儲空間非常大,不會出現(xiàn)字模冗余。

在操作層面,此方法操作起來非常方便。

但這種方法有個致命的缺陷,其占用的存儲空間太大,不能應用在家用電器、儀器儀表等追求低成本的小型嵌入式產(chǎn)品中。

(3)基于漢字字符串法

這種方法是綜合以上兩種方法的優(yōu)缺點改進而成的。

在硬件層面,此方法所占用的存儲空間根據(jù)用戶所用到的字數(shù)多少而決定,且消除了字模的冗余。

在操作層面,此方法以數(shù)組的形式提供給用戶接口,簡單易用。

此方法只提取產(chǎn)品中所用到的漢字字模,占用存儲空間小,且以數(shù)組的形式提供給用戶調(diào)用的接口,簡單易用,非常適用于家用電器、儀器儀表等存儲容量較小的小型嵌入式系統(tǒng)。

2 中文顯示解決方案簡介

該中文顯示解決方案由兩部分組成:一是運行于宿主機的上位機軟件;二是運行于目標機的具有中文顯示功能的函數(shù)集。

2.1 上位機軟件

用戶輸入:只需簡單地輸入產(chǎn)品中所用到的字符串即可,如圖1所示,如“嘉興的南湖?!?、“共產(chǎn)黨的誕生地在南湖!”、“我們的大學在嘉興!”。

軟件輸出:軟件根據(jù)用戶的輸入,會按照順序提取出其中無冗余的字——“嘉興的南湖。共產(chǎn)黨誕生地在!我們大學”,之后生成專用的字模庫、字符串所對應的字模數(shù)組,這些數(shù)據(jù)存放在軟件生成的test.h文件中。

圖1 上位機軟件

2.2 具有中文顯示功能的函數(shù)集

如圖2所示,該截圖截自于該函數(shù)集的頭文件。為盡可能地簡化使用步驟,將該中文顯示解決方案的配置及函數(shù)聲明放在了同一個頭文件中,限于篇幅,截圖只顯示了16×16的漢字顯示及相關函數(shù),相應的32×32、48×48顯示函數(shù)等也包含在該頭文件中。

圖2 函數(shù)集頭文件截圖

配置部分及中文顯示函數(shù)集如下:

考慮到ASCII的字模數(shù)據(jù)僅為漢字的一半,故從上位機軟件和目標機程序兩方面著手,解決漢字和ASCII交叉顯示及間距計算等問題。例如16×16的漢字字模數(shù)據(jù)為32個字節(jié),而16×16的ASCII碼數(shù)據(jù)為16個字節(jié),因而在上位機軟件產(chǎn)生字模數(shù)據(jù)時,在ASCII數(shù)據(jù)前加16個0x00,而在目標機程序中判斷并消除這16個0x00。這樣既達到了半字顯示的目的,又解決了ASCII碼字模數(shù)組與漢字字模數(shù)組間不相容的問題。

3 此方案的使用方法

有了前面的介紹,大家對該中文顯示解決方案應該有了比較清晰的了解。接下來介紹一下其使用方法。

①用戶首先要實現(xiàn)液晶屏的畫點功能。也就是說需實現(xiàn)兩個函數(shù)的功能:液晶屏初始化函數(shù)和畫點函數(shù)。

②將該解決方案提供的3 個文件添加到工程文件中,如圖3所示。

圖3 工程文件

③在上位機軟件中,輸入項目中所需顯示的所有字符串,并點擊“取字模”按鈕生成特定的字模庫。

④將上位機生成的test.h中的數(shù)據(jù)復制到font.h文件中。

⑤調(diào)用該方案提供的相關顯示函數(shù)即可完成中文顯示功能。

結 語

該GUI中文顯示解決方案專為LED 廣告屏、家用電器、儀器儀表等追求低成本、高性能的小型嵌入式系統(tǒng)而設計。有如下優(yōu)點:

①無需導入整個漢字庫,占用存儲空間大大減小。

②用戶使用方便,只需輸入應用中所需的字符串即可。

③每個漢字的字模只定義一次,消除不必要的冗余。

④每個字符數(shù)組后有對應的字符串注釋,方便用戶查找調(diào)用。

⑤不依賴于其他GUI,易于移植,可獨立運行。

⑥可選擇實現(xiàn)16×16、32×32、48×48這3種漢字及ASCII碼的交叉顯示。

編者注:源程序見本刊網(wǎng)站www.mesnet.com.cn。

[1]Ian F Darwin.Java經(jīng)典實例[M].2版.關麗容,張曉坤譯.北京:中國電力出版社,2009.

[2]林信良.Java JDK6 學習筆記[M].北京:清華大學出版社,2007.

[3]王田苗.嵌入式系統(tǒng)設計與實例開發(fā)——基于ARM 微處理器與μC/OS-II實時操作系統(tǒng)[M].北京:清華大學出版社,2003:103-135.

[4]任哲.嵌入式操作系統(tǒng)基礎μC/OS-II和Linux[M].北京:北京航空航天大學出版社,2006:52.

猜你喜歡
機軟件存儲空間字符串
基于多種群協(xié)同進化算法的數(shù)據(jù)并行聚類算法
蘋果訂閱捆綁服務Apple One正式上線
綜藝報(2020年21期)2020-11-30 08:36:49
用好Windows 10保留的存儲空間
道岔監(jiān)測系統(tǒng)上位機軟件設計
基于正交試驗法的北斗用戶機軟件測試用例設計
PCI-e高速數(shù)據(jù)采集卡的驅(qū)動與上位機軟件設計
電子器件(2015年5期)2015-12-29 08:43:12
一種新的基于對稱性的字符串相似性處理算法
圖形化儀表控制系統(tǒng)上位機軟件的設計與開發(fā)
依據(jù)字符串匹配的中文分詞模型研究
一種針對Java中字符串的內(nèi)存管理方案
庐江县| 台北市| 开平市| 陆川县| 偏关县| 西乡县| 鄱阳县| 漾濞| 亳州市| 红原县| 新竹市| 巴林右旗| 宁强县| 额济纳旗| 化州市| 惠州市| 从化市| 渑池县| 汝南县| 莒南县| 诸城市| 溧阳市| 调兵山市| 西乡县| 仙游县| 玉田县| 福泉市| 余姚市| 定西市| 岳阳县| 澎湖县| 甘南县| 黄石市| 汶川县| 武安市| 枣庄市| 自治县| 浑源县| 海伦市| 建宁县| 张北县|