欧美aⅴ在线,国产手机精品一区二区,日韩国产欧美一区二区三区,精品视频在线观看视频免费视频,欧美在线小视频,精品一区视频

咨詢熱線:021-80392549

內存受限系統的漢字顯示設計研究

放大字體  縮小字體 發布日期:2014-10-21     來源:[標簽:出處]     作者:[標簽:作者]     瀏覽次數:111
核心提示:

  引言

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

  本文通過分析一般漢字顯示方法,并結合嵌入式系統內存受限特點,提出了一種能在小容量內存系統中使用的漢字顯示的方法。

  1漢字顯示的一般原理

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

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

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

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

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

  2嵌入式系統中顯示漢字存在的問題及解決方法

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

[$page]  (1)相同的漢字或字符會反復被使用,在不同的句子中重復出現多次,如果以句子字符串為單位存儲,雖然會加快句子輸出速度,但也會大大增加程序對內存的需求。為了解決這個問題,使用如下方法:采用單字排列構成字庫,一個漢字字模信息只存儲一次,任何需要使用它的地方,共享同一個字模。應用此方法后,雖然會增加程序的復雜程度,但卻極大地節省了內存,提高了內存的利用效率。

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

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

  通過以上方法給程序員造成一種假象:即他可以擁有同一份數據的多份副本,而又不必浪費內存,使得系統內存的總需求量降低,而且相同數量的數據可以隨機存儲、更新、訪問。但是,根據字序號找到一句話的各個字模再統一存入緩沖區勢必降低系統的時間效率,同時也需要程序員花費心力來完成不那么直觀的代碼。而且系統需要擴充字庫時,不能直接在字庫末尾補充,而應在漢字字模末尾添加漢字字模,在字符字模末尾添加字符字

工博士工業品商城聲明:凡資訊來源注明為其他媒體來源的信息,均為轉載自其他媒體,并不代表本網站贊同其觀點,也不代表本網站對其真實性負責。您若對該文章內容有任何疑問或質疑,請立即與商城(www.lmelshi.com)聯系,本網站將迅速給您回應并做處理。
聯系電話:021-31666777
新聞、技術文章投稿QQ:3267146135  投稿郵箱:syy@gongboshi.com
主站蜘蛛池模板: 欧美日韩中文在线视频| 亚洲欧美成人综合久久久| 起碰成人免费公开网视频| 成人免费视频69| 精品久久一| 国产成人精品亚洲午夜麻豆| 久久伊人天堂视频网| 一区二区三区视频免费| 全亚洲最大的免费电视网| 久久伊人久久| 色视频免费观看| 在线免费观看成年人视频| 亚洲欧美日韩中文字幕在线一| 真实国产乱弄免费视频| 欧美人妖ts| 国产精品成人观看视频免费| 国产成人综合在线视频| 成人免费观看视频高清视频| 天天做天天爱夜夜爽女人爽宅| 亚洲高清视频在线观看| 欧美理论在线观看| 成人免费观看视频| 一起射综合网| 4399影视在线播放观看高清| 国产成人一区二区三区在线播放| 亚洲欧美综合乱码精品成人网| 99久久精品国产一区二区三区| 2021αⅴ在线视频| 99re国产| 在线观看成年人视频网站| 老女人色图| 2020国产精品永久在线观看| 天天躁夜夜躁狠狠躁2021西西| 伊人色综合久久天天人守人婷| 韩国三级hd中文字幕一男多女| 免费在线看黄网址| .xyz国产精品| 亚洲区视频在线观看| 亚洲爱视频| 大看蕉a在线观看| 欧美第一页|