微控制器應用中快速建立小字庫的方法

2021-08-29 10:55:56 字數 1184 閱讀 3212

在許多微控制器應用系統中,經常要用到漢字,以便進行輸出顯示,此時需要建立微控制器的專用字型檔,而人工向微控制器輸入所需漢字是非常費時費力的工作。因此需要從大字型檔中分離出小字庫,自我生成乙個專用的小字庫。

1. 漢字的區位碼與內碼

國家標準的漢字字符集(gb2312-80)在漢字作業系統中是以漢字型檔的形式提供的。漢字型檔結構有統一規定,即將漢字型檔分成94個區,每個區有94個漢字(以位作區別),每個漢字在漢字型檔中有確定的區和位編號(用兩個位元組),這就是所謂的區位碼。區位碼的第乙個位元組表示區號,第二個位元組表示位號,因而只要知道了區位碼,就可以知道該漢字在字型檔中的位址。每個漢字在字型檔中是以點陣字模形式儲存的,當用儲存單元儲存該字模資訊時,將需要32位元組。在計算機內,英文本元是用乙個位元組的ascii碼表示的,而對於眾多的漢字,需用兩個位元組才能代表,國家為此制定了統一標準,稱為國標碼。又規定國標碼在機內表示漢字時,將每個位元組的最高位置1。這些國標碼的兩位元組最高位加1後的**稱為機器內的漢字**,簡稱內碼。

2 內碼轉換為區位碼與取字模

漢字內碼與區位碼有固定的轉換關係,即若漢字內碼為十六進製制數aaff,則區號qh和位號wh分別為 qh=aa-0xa0;wh=ff-0xa0。 由於在中文dos下,輸入漢字時,其相應的內碼即已在程式中存在,如同在西文dos下,輸入英文本元時,其對應的ascii也在程式中存在一樣。因而得知漢字內碼,將其轉換為區位碼,這樣就可以找出該漢字字模在字型檔中存放的位址,由此位址調出該32位元組漢字的內容(字模)。

在以上知識的基礎上,微控制器利用c語言建立小字庫的方法是這樣的:在ucdos下開啟標準字型檔→取出所需漢字字模→生成專用小字型檔檔案。但是,微控制器不能識別c語言建立的專用小字型檔檔案。 因此,需要把c語言建立的專用小字庫轉換成mcs51微控制器能識別的儲存模式。下面是轉換過程所需的c語言語句: //c語言建立小字型檔檔案

fp16 fread(&buffer,char_16,1,fp16);//取字模

for(j=0;j<= char_16-1;j )//設定迴圈次數(乙個漢字字模為32位元組)

printf(fp22,「%x」,buffer\[j\]);//寫漢字字模(一次乙個位元組)

fprintf(fp22,「h\\n」);//最後加上h,然後換行 } 

在dos環境下,把利用c語言建立的微控制器小字型檔檔案fp22與微控制器匯程式設計序合在一起,通過微控制器開發器寫入eprom。可以看出,每個漢字字模都由程式自動寫入eprom,既節省時間,又避免了字模人工輸入時可能產生的錯誤。

微控制器(微控制器)的中斷系統及應用

2.中斷暫存器 3.中斷處理流程 4.最重要的事 中斷是指 處理器cpu正在處理某件事情的時候,外部發生了某一事件 如定時器計時已到 請求cpu迅速去處理,cpu暫停當前的工作,轉去處理所發生的事件,處理完以後,再回到原來被中斷的地方,繼續原來的工作。實現這種功能的部件稱為中斷系統。它由4個與中斷有...

微控制器中斷的應用

51微控制器 p3.2 引腳為int0 中斷 p3.3引腳為int1 中斷 按鈕 p3.2 p3.3 按鈕低電平觸發 while pb0 0 delay include define seg p0 定義七節顯示器接至port 0 sbit led p2 0 定義led燈接至p2.0 sbit com...

微控制器應用中11項小常識

1 mcu有串列埠外設的話,在加上電平轉換晶元,如max232,sp3485就是rs232和rs485介面了。2rs485採用差分訊號負邏輯,2 6v表示0,6 2表示1。有兩線制和四線制兩種接線,四線制是全雙工通訊方式,兩線制是半雙工通訊方式。在rs485一般採用主從通訊方式,即乙個主機帶多個從機...