• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機的智能終端中漢字顯示的處理

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

    作者: 時間:2012-03-16 來源:網絡 收藏

    引言

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

    近年來,以以及嵌入式系統平臺為基礎的各種廣泛應用于各行各業的專用設備和產品中,也將逐漸滲透到家用電器和各種消費類電子產品中。

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

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

    40.gif

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

    1:關于漢字顯示的基礎知識

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

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

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

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

    41.gif


    上一頁 1 2 3 4 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 建湖县| 保靖县| 晴隆县| 留坝县| 汉川市| 兴隆县| 隆回县| 潼南县| 陵水| 阆中市| 小金县| 湖南省| 馆陶县| 故城县| 台湾省| 武城县| 双辽市| 深圳市| 大兴区| 柘荣县| 苗栗市| 驻马店市| 荥阳市| 龙川县| 卢氏县| 平阳县| 福泉市| 宝应县| 班玛县| 大荔县| 沛县| 宝应县| 综艺| 鹿邑县| 天峻县| 甘南县| 东方市| 内乡县| 澳门| 武穴市| 荔波县|