基于不帶字庫(kù)的圖形LCD模塊漢字顯示解決方案
2 字庫(kù)芯片與單片機(jī)的接口
2.1 漢字的編碼標(biāo)準(zhǔn)
為了用0、1代碼串表示漢字,規(guī)定了漢字的信息交換碼:GB 2312-80,簡(jiǎn)稱國(guó)標(biāo)碼,共有字符7445個(gè),包括漢字和其他字符。一級(jí)漢字3755個(gè),按漢語(yǔ)拼音順序排列;二級(jí)漢字3008個(gè),按部首和筆畫排列。其他字符有常用符號(hào)、序號(hào)、GB1988圖形字符集、希臘字符、制表符等。國(guó)標(biāo)碼的每一個(gè)符號(hào)都用兩個(gè)字節(jié)(16位二進(jìn)制)代碼來表示一個(gè)漢字。
1) 國(guó)標(biāo)碼:行、列各94(0-93),用先行后列的兩個(gè)7位二進(jìn)制數(shù)表示。
2) 區(qū)位碼:由于二進(jìn)制國(guó)標(biāo)碼表示不很方便,因此漢字也可用十進(jìn)制區(qū)位碼表示。區(qū)、位各94(1-94),用先區(qū)后位的兩個(gè)2位十進(jìn)制數(shù)表示。
3) 機(jī)內(nèi)碼:是計(jì)算機(jī)內(nèi)部表示漢字的代碼,在微機(jī)中多用兩字節(jié)(最高位為1)代碼作為機(jī)內(nèi)碼。
2.2區(qū)位碼和機(jī)內(nèi)碼的相互轉(zhuǎn)換
西文系統(tǒng)的交換碼和機(jī)內(nèi)碼都采用美國(guó)標(biāo)準(zhǔn)信息交換碼ASCII,用一個(gè)字節(jié)表示,一般只用低七位,可以表示128可符號(hào)。在軟件中嵌入的漢字經(jīng)編譯器編譯后存放的格式為機(jī)內(nèi)碼。區(qū)位碼和機(jī)內(nèi)碼之間的轉(zhuǎn)換關(guān)系可概括為:(區(qū)位碼的十六進(jìn)制表示)+A0A0H=機(jī)內(nèi)碼。以漢字“大”為例,“大”字的區(qū)內(nèi)碼的十六進(jìn)制表示為1453H,加上A0A0H得到機(jī)內(nèi)碼為B4F3H。
2.3 漢字字模庫(kù)
漢字的輸出是將漢字的筆劃離散化,用點(diǎn)陣來表示。點(diǎn)陣的中每個(gè)點(diǎn)位只有兩種狀態(tài):有筆畫(1)、無(wú)筆畫(0)。
描述漢字點(diǎn)陣信息的二進(jìn)制代碼集稱為漢字的字模。所有漢字和符號(hào)的點(diǎn)陣信息就組成了漢字庫(kù)。
2.3 混合字符的顯示
在本系統(tǒng)中,每個(gè)漢字的顯示采用16×16圖形點(diǎn)陣方式顯示。國(guó)標(biāo)GB2312-80一、二級(jí)漢字點(diǎn)陣庫(kù)存放在一片ROM芯片AT27C040中,每個(gè)漢字占用32個(gè)字節(jié)。當(dāng)需要顯示漢字時(shí),首先根據(jù)區(qū)碼和位碼計(jì)算出該漢字點(diǎn)陣在ROM中存放的起始地址,然后從此地址連續(xù)的取出32個(gè)字節(jié)的漢字點(diǎn)陣,并寫入LCD模塊對(duì)應(yīng)的地址中,就可以顯示出該漢字。根據(jù)漢字區(qū)位碼和該漢字計(jì)算漢字在字庫(kù)ROM位置的轉(zhuǎn)換關(guān)系可概括為:起始地址=(區(qū)碼×94+位碼)×32
在應(yīng)用中,常需要漢字和英文字符混合顯示,在軟件處理時(shí)需要判斷顯示的內(nèi)容是漢字的編碼還是英文字符的編碼,如果是漢字編碼則根據(jù)其機(jī)內(nèi)碼計(jì)算區(qū)位碼,并根據(jù)區(qū)位碼計(jì)算出該漢字在字模中的起始地址。圖3是混合顯示的軟件流程圖。
3 應(yīng)用實(shí)例
在某檢測(cè)設(shè)備中,需要給用戶顯示電流、電壓、頻率值以及一些事件記錄等。用戶的命令通過設(shè)備的8鍵鍵盤輸入,顯示的內(nèi)容有漢字、數(shù)字和英文字符。
以下列出了顯示漢字、數(shù)字和英文字符串部分軟件
/*-----------------------------------------------------------------------------------------
混合顯示一串漢字和英文字符
row:行(1-8), column: 列(1-15)
str:字符代碼(標(biāo)準(zhǔn)機(jī)內(nèi)碼)指針
---------------------------------------------------------------------------------------*/
LCD顯示屏相關(guān)文章:lcd顯示屏原理
lcd相關(guān)文章:lcd原理
評(píng)論