當(dāng)前位置:首頁 > 顯示光電 > 顯示光電
[導(dǎo)讀]引言 在微電子技術(shù)、計算機(jī)技術(shù)不斷發(fā)展的推動下,儀器儀表工業(yè)也發(fā)生了巨大的變化?,F(xiàn)代儀表將嵌入式技術(shù)引入到儀器儀表的測試和控制中,使儀器儀表向著自動化智能化的方向發(fā)展,這已經(jīng)成為當(dāng)今儀器儀表系統(tǒng)的一種

引言
在微電子技術(shù)、計算機(jī)技術(shù)不斷發(fā)展的推動下,儀器儀表工業(yè)也發(fā)生了巨大的變化?,F(xiàn)代儀表將嵌入式技術(shù)引入到儀器儀表的測試和控制中,使儀器儀表向著自動化智能化的方向發(fā)展,這已經(jīng)成為當(dāng)今儀器儀表系統(tǒng)的一種趨勢。新型的儀器儀表設(shè)備將朝著操作簡便、小型化、便攜式、現(xiàn)場實(shí)時分析、高速運(yùn)算等方向發(fā)展。由于中文顯示界面友好,適合我國國情,特別是對于一些工業(yè)現(xiàn)場基層用戶來說,中文顯示已經(jīng)成為普遍要求解決的問題。出于對成本等因素的考慮,嵌入式系統(tǒng)的存儲器容量有限,這就迫使我們必須從編程上重視內(nèi)存的使用效能,運(yùn)用一些節(jié)約內(nèi)存的技巧來設(shè)計漢字顯示程序。

本文通過分析一般漢字顯示方法,并結(jié)合嵌入式系統(tǒng)內(nèi)存受限特點(diǎn),提出了一種能在小容量內(nèi)存系統(tǒng)中使用的漢字顯示的方法。

1漢字顯示的一般原理
要在點(diǎn)陣式LCD上顯示漢字,首先需要獲得漢字顯示的點(diǎn)陣代碼。一般方法是從計算機(jī)中文操作系統(tǒng)擁有的龐大的漢字庫中提取所需的漢字顯示點(diǎn)陣字庫,存儲在嵌入式應(yīng)用系統(tǒng)中以備使用[1]。

在漢字庫中,漢字字模大多以國標(biāo)GN2313-80的區(qū)位碼為索引存放。國標(biāo)碼與ASCⅡ碼屬同一制式,ASCⅡ碼用一個字節(jié)編碼,碼值范圍為00H-7FH,其中94個可見字符的碼值范圍為21H-7EH,國標(biāo)碼也是以94個ASCⅡ可見字符代碼為基集(碼值范圍為21H-7EH),用兩個字節(jié)組成國標(biāo)碼,其中高字節(jié)表征區(qū),低字節(jié)表征位,共有94個區(qū),每區(qū)又分94個位,區(qū)和位編號均為十進(jìn)制的01-94,對應(yīng)的國標(biāo)碼碼值范圍為21H-7EH,因此國標(biāo)碼與區(qū)位號之間存在下列關(guān)系:國標(biāo)碼高字節(jié)=區(qū)號+20H;國標(biāo)碼低字節(jié)=位號+20H。

漢字顯示點(diǎn)陣字庫是漢字顯示點(diǎn)陣代碼(也稱字模)的集合,中文操作系統(tǒng)中最常用的是16*16點(diǎn)陣字庫(通常文件名為HZK16),其點(diǎn)陣代碼為橫向排列。由于漢字顯示點(diǎn)陣字庫中的顯示點(diǎn)陣代碼一般按區(qū)位碼順序存放,所以提取字模時只要求出某漢字的偏移地址(顯示點(diǎn)陣代碼相對于漢字顯示點(diǎn)陣字庫首地址的字節(jié)數(shù))即可,偏移地址值與漢字區(qū)位碼有以下轉(zhuǎn)換關(guān)系[2]:

偏移地址=((區(qū)號-1)*94+(位號-1))*32。

在嵌入式系統(tǒng)中,為了實(shí)現(xiàn)字符(半個漢字)、漢字的混合顯示,通常對提取的橫向字模加以轉(zhuǎn)換形成縱向排列的字模。按照上述規(guī)則將字模從計算機(jī)中文操作系統(tǒng)提取出來加以轉(zhuǎn)換存入到嵌入式系統(tǒng)中以供使用[3]。

2嵌入式系統(tǒng)中顯示漢字存在的問題及解決方法
嵌入式系統(tǒng)由于受成本、體積等因素的影響,其配置的存儲器容量一般都非常有限。這種存儲器容量受到限制的系統(tǒng)又稱為內(nèi)存受限系統(tǒng)。在小型智能儀器儀表一類嵌入式設(shè)備中,內(nèi)存有限,強(qiáng)固耐用的要求高,顯示漢字首先要有包含所有會被顯示的漢字和字符構(gòu)成的字庫,在前面所提到的漢字顯示的一般原理中,嵌入式系統(tǒng)中存儲的是從計算機(jī)中文操作系統(tǒng)擁有的龐大的漢字庫中提取的漢字區(qū)位碼信息,由于漢字?jǐn)?shù)目繁多,導(dǎo)致區(qū)位碼信息占用大量內(nèi)存。為了節(jié)省內(nèi)存空間,需要將字模依照一定的方法存儲在嵌入式系統(tǒng)內(nèi)存中,也就是建立精簡的字庫。在建立精簡的字庫時主要面臨兩個問題:

(1)相同的漢字或字符會反復(fù)被使用,在不同的句子中重復(fù)出現(xiàn)多次,如果以句子字符串為單位存儲,雖然會加快句子輸出速度,但也會大大增加程序?qū)?nèi)存的需求。為了解決這個問題,使用如下方法:采用單字排列構(gòu)成字庫,一個漢字字模信息只存儲一次,任何需要使用它的地方,共享同一個字模。應(yīng)用此方法后,雖然會增加程序的復(fù)雜程度,但卻極大地節(jié)省了內(nèi)存,提高了內(nèi)存的利用效率。

(2)字庫在程序中占有很大的比例,需要大量內(nèi)存,并且要顯示的內(nèi)容除漢字外還有一些字符,而字符字模只有16個字節(jié),是漢字字模的一半。正如編譯器或匯編器往往令數(shù)據(jù)對齊以使CPU指令集更便捷的訪問對齊數(shù)據(jù)一樣[4],如果存儲字符字模時把其16個字節(jié)添零擴(kuò)充為32個字節(jié),計算偏移地址直接用字序號乘上32再加上字庫首地址即可,但這種方法只適用于字符比較少的情況,當(dāng)字符較多時將浪費(fèi)大量內(nèi)存。

解決上述問題采取如下方法:在符合系統(tǒng)要求的前提下,逐一考慮每個字和字符,考慮其中有多少信息是真正必須存儲的,也就是說盡量精簡字庫,若有相同意義的字或詞就只保留一種而舍棄其它的同義字詞。此外,將字庫建在程序末尾,先依次存儲漢字字模,每個漢字字模占用32個字節(jié),然后依次存儲字符字模,每個字符字模占用16個字節(jié),并給漢字和字符統(tǒng)一編上序號(見圖1)。并為每一條輸出的漢字信息建立一個索引,索引由每條漢字信息中各個漢字和字符的序號組成。顯示一句話時,只需獲得這句話中各個漢字和字符的序號,根據(jù)序號Q先判斷需要顯示的是漢字還是字符,如果為漢字,則根據(jù)公式:字模地址=字庫首地址+32*Q,如果為字符,則根據(jù)公式:字模地址=字庫首地址+32*X+(Q-X)*16,求得它們的字模地址,依次將它們的字模復(fù)制并存入一個緩沖區(qū),再根據(jù)液晶顯示原理將緩沖區(qū)字模送到顯示模塊端口[5]。程序流程見圖2。

通過以上方法給程序員造成一種假象:即他可以擁有同一份數(shù)據(jù)的多份副本,而又不必浪費(fèi)內(nèi)存,使得系統(tǒng)內(nèi)存的總需求量降低,而且相同數(shù)量的數(shù)據(jù)可以隨機(jī)存儲、更新、訪問。但是,根據(jù)字序號找到一句話的各個字模再統(tǒng)一存入緩沖區(qū)勢必降低系統(tǒng)的時間效率,同時也需要程序員花費(fèi)心力來完成不那么直觀的代碼。而且系統(tǒng)需要擴(kuò)充字庫時,不能直接在字庫末尾補(bǔ)充,而應(yīng)在漢字字模末尾添加漢字字模,在字符字模末尾添加字符字模,再依次重新編寫字序號。此外,顯示句子的索引也需要修改,這就降低了系統(tǒng)的擴(kuò)展性。不過在本文討論的節(jié)省內(nèi)存問題上,衡量利弊,這種方法還是有效的。

3結(jié)論
在內(nèi)存受限系統(tǒng)中建立精簡的字庫是顯示漢字的關(guān)鍵步驟。本文通過研究有關(guān)算法,在分析內(nèi)存字庫所需存儲信息的特點(diǎn)的基礎(chǔ)上,提出了一種節(jié)省內(nèi)存的字庫建立方法。依照此法在所設(shè)計的單片機(jī)電路上進(jìn)行編程,能夠?qū)崿F(xiàn)漢字的顯示,且明顯減少了系統(tǒng)的內(nèi)存,滿足了實(shí)用的要求,所以,本文算法具有一定的實(shí)際意義。

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

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

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

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

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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