新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機(jī)的智能終端中漢字顯示的處理

        基于單片機(jī)的智能終端中漢字顯示的處理

        作者: 時間:2012-03-16 來源:網(wǎng)絡(luò) 收藏

        引言

        本文引用地址:http://www.104case.com/article/171858.htm

        近年來,以以及嵌入式系統(tǒng)平臺為基礎(chǔ)的各種廣泛應(yīng)用于各行各業(yè)的專用設(shè)備和產(chǎn)品中,也將逐漸滲透到家用電器和各種消費類電子產(chǎn)品中。

        以其價格低廉、技術(shù)成熟而廣泛應(yīng)用于各種低端產(chǎn)品之中,但是由于的尋址能力有限,限定了其最大的存儲空間。比如最常用的MCS-51單片機(jī),其直接尋址的數(shù)據(jù)存儲空間為64k字節(jié),如果通過擴(kuò)展來得到更大的存儲空間,既增加了系統(tǒng)成本,也為數(shù)據(jù)讀取操作帶來了不便(對擴(kuò)展區(qū)間的訪問要通過端口操作實現(xiàn))。所以在單片機(jī)系統(tǒng)的設(shè)計中,存儲空間的大小是一個很重要的因素。

        在PC機(jī)上的,是來自存儲在PC機(jī)上的庫。庫中的漢字以點陣形式組成。如果以一個16x16點陣的漢字庫作為基本字模庫,每個漢字占32 個字節(jié)。GB2312中規(guī)定了6763個二級漢字,則需要的存儲空間大體為6763×32字節(jié),約200多K字節(jié)。顯然,如果要在單片機(jī)終端上漢字,不可能把以上所有的“漢字庫”信息都放在單片機(jī)系統(tǒng)的存儲空間中。

        40.gif

        本文以我實驗室獨立開發(fā)的智能餐飲信息系統(tǒng)為例,首先介紹關(guān)于漢字的基礎(chǔ)知識,然后說明在實際應(yīng)用中如何對系統(tǒng)漢字庫進(jìn)行裁減,只保留需要在終端上顯示的“漢字庫”信息,最后介紹在實際應(yīng)用中會涉及到的有關(guān)字模提取和字模轉(zhuǎn)化的方法。

        1:關(guān)于漢字顯示的基礎(chǔ)知識

        在中文WIN9X下,我們輸入一個雙八位字節(jié),就得到一個漢字,就會認(rèn)為這雙八位字節(jié)就是對應(yīng)這樣的字形,這是錯誤的。這個雙八位字節(jié)被稱為漢字的內(nèi)碼(詳見下文),內(nèi)碼對于字庫來說,只是查找字形的索引。通過這個雙八位字節(jié)可以唯一的從漢字庫中查詢得到其對應(yīng)的漢字字形數(shù)據(jù)(字模)。對應(yīng)不同編碼標(biāo)準(zhǔn)的字體,內(nèi)碼對應(yīng)了不同的字形。我們常用的是國標(biāo)GB2312信息交換用漢字編碼字符集>>,包含了最常用的簡體中文文字。

        如果系統(tǒng)所使用的“漢字庫”中每個漢字按16x16點陣模式存放,則每個漢字由16x16=256個點組成,占用16x2=32個字節(jié)的連續(xù)內(nèi)存單元。每個字節(jié)有8位,每一位都有兩種狀態(tài),即亮或暗,分別用1或0來表示。在16x16點陣中,用各個位的亮暗來表示一個字,凡是筆畫經(jīng)過的地方都為1(亮), 沒有筆畫的地方都為0(暗),這樣就可以表示不同的漢字。

        圖1 是“大”字16x16點陣模式排列放大后的結(jié)果。

        在PC機(jī)中,組成字模的32個字節(jié)默認(rèn)的排列順序如圖2所示:每行兩個字節(jié),低字節(jié)為DB0~DB7,高字節(jié)為DB8~DB15,每字節(jié)8比特,共16行32個字節(jié)。圖中標(biāo)出了第1、第2個字節(jié)和第31、第32個字節(jié)的存放位置。

        41.gif


        上一頁 1 2 3 4 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 平泉县| 台北县| 岑溪市| 鸡泽县| 云梦县| 合作市| 江阴市| 永兴县| 读书| 勃利县| 荣成市| 周宁县| 邹平县| 铜陵市| 正蓝旗| 房产| 武定县| 渝北区| 泸溪县| 永城市| 土默特右旗| 安龙县| 江西省| 漾濞| 常宁市| 新巴尔虎右旗| 娄烦县| 丰顺县| 铜山县| 桃源县| 黄大仙区| 方城县| 凤翔县| 额尔古纳市| 务川| 商都县| 尤溪县| 上高县| 新乡市| 邵东县| 孝昌县|