色www,五月婷婷深爱五月,午夜国产一级片,色噜噜综合,国产大胸无码视频,清纯美女被操黄网站在线观看,波多野结衣av高清一区二区三区

液晶顯示在嵌入式系統(tǒng)中的應(yīng)用

時(shí)間:2024-06-21 22:54:34 理工畢業(yè)論文 我要投稿

液晶顯示在嵌入式系統(tǒng)中的應(yīng)用

摘要:介紹了液晶顯示在嵌入系統(tǒng)中的應(yīng)用編程,給出了在液晶顯示與系統(tǒng)接口的應(yīng)用層編程中,采用環(huán)形結(jié)構(gòu)算法來達(dá)到快速、簡(jiǎn)單地進(jìn)行漢字代碼的編碼以及漢字的分頁(yè)和分行顯示的顯示應(yīng)用程序。

1 引言

在嵌入系統(tǒng)中,一個(gè)良好的人機(jī)界面必須提供友善的菜單,同時(shí)應(yīng)能實(shí)現(xiàn)漢字和圖形顯示,并應(yīng)提供英文、數(shù)字輸入和漢字輸入功能。筆者采用香港精電公司的128×64點(diǎn)陣顯示模塊在以MPC860作為主CPU并以Nuclus PLUS為嵌入式操作系統(tǒng)的系統(tǒng)中進(jìn)行液晶顯示?取得了較為滿意的效果。圖1所示為其結(jié)構(gòu)框圖。

香港精電公司的128×64點(diǎn)陣模塊內(nèi)部自帶液晶圖形顯示控制芯片T6963,其中C/D腳用于控制字與數(shù)據(jù),RD和WR分別為讀、寫使能端。當(dāng)WR為低時(shí),C/D為高為寫命令,C/D為低為寫數(shù)據(jù);而當(dāng)RD為低時(shí),C/D為高為讀狀態(tài)?C/D為低為讀數(shù)據(jù)。另外,CE為器件使能引腳,D0~D7為數(shù)據(jù)和地址復(fù)用總線引腳。

2 應(yīng)用編程

利用MPC860嵌入式系統(tǒng)的快速性,可將顯示應(yīng)用程序分為兩層,其中底層為硬件接口層,上層為應(yīng)用層。硬件接口層主要是顯示液晶模塊自帶的ASCII函數(shù)和顯示漢字代碼函數(shù)。由于硬件各不相同,在此不作具體介紹。而上層應(yīng)用層的主要功能是提供友善的菜單,同時(shí)實(shí)現(xiàn)漢字和圖形顯示,并提供英文、數(shù)字輸入和漢字輸入功能。由于硬件接口層的隔離作用,不同的系統(tǒng)具有一定的通用性,以下重點(diǎn)介紹應(yīng)用層編程中的漢字代碼編碼方法和顯示編程的實(shí)現(xiàn)這兩部分。

2.1 漢字代碼編碼

一般西文為8×8點(diǎn)陣,因而顯示一個(gè)西文字需要8?jìng)(gè)字節(jié)?而每個(gè)漢字占4個(gè)西文字體,因此顯示一個(gè)漢字需要32個(gè)字節(jié)。漢字字庫(kù)表為一張數(shù)據(jù)表? 每個(gè)漢字在數(shù)據(jù)表中,通常由32個(gè)字節(jié)組成一個(gè)點(diǎn)陣圖形。由于ASCII碼編碼是由0X00-0X7F表示,因此?每個(gè)漢字可由兩個(gè)字節(jié)0Xxx和0Xyy來表示,每個(gè)字節(jié)為0X80~0XFF(區(qū)別于ASCII代碼)。第一漢字定義為0X80 0X80,依此類推直至0X80 0XFF ,0X81 0X80,……,……,0XFF 0XFF ,總計(jì)可以定義128×128=16384個(gè)漢字。

一個(gè)漢字代碼表可簡(jiǎn)單表示為:

hz code table?INT?=?

//漢字“數(shù)”的32字節(jié)的點(diǎn)陣圖形代碼為?

0x08?0x49?0x2A?0x08?0xFF?0x19?0x2C?0x4A?

0x10?0xFE?0x22?0x22?0x14?0x18?0x25?0x42?

0x40?0x40?0x40?0x84?0xFE?0x08?0x88?0x88?

0x88?0x90?0x50?0x20?0x50?0x88?0x0E?0x04?

//漢字“據(jù)”的32字節(jié)的點(diǎn)陣圖形代碼為?

0x10?0x13?0x12?0x12?0xFF?0x12?0x16?0x1B?

0x32?0xD2?0x13?0x15?0x15?0x15?0x59?0x21?

0x04?0xFE?0x04?0x04?0xFC?0x20?0x24?0xFE?

0x20?0x24?0xFE?0x04?0x04?0x04?0xFC?0x04,

}

2.2 顯示編程

在系統(tǒng)顯示中,主要的顯示方式有頁(yè)處理和行處理兩種。系統(tǒng)可以根據(jù)按鍵來顯示某一頁(yè)。實(shí)際上,頁(yè)也是由相應(yīng)行來顯示的。頁(yè)中的行可由按鍵來改變。一個(gè)頁(yè)能顯示8行ASCII碼或4行漢字代碼,帶有漢字的行一般要占有2個(gè)只有ASCII碼的行,而頁(yè)可以由任意多行組成。顯示時(shí),通過按鍵可控制能顯示行,并可在行中輸入漢字或ASCII碼。

在設(shè)計(jì)中,所有的頁(yè)可組成一個(gè)環(huán)形隊(duì)列結(jié)構(gòu),頁(yè)中的行也可組成一個(gè)環(huán)形隊(duì)列結(jié)構(gòu),其關(guān)系如圖2所示。圖3所示是該系統(tǒng)的顯示流程。

下面給出一個(gè)行結(jié)構(gòu):

typedef struct lcdLine

{

struct lcdLine *previous? //前一行

struct lcdLine *next? //后一行

unsigned short lineId? //行特征字

unsigned char showflag? //是否顯示漢字

unsigned char start? //顯示行號(hào) ,漢字一

定是奇數(shù)行如 1,3,5,7

unsigned char lcdseg?16??

//顯示的代碼如是ASCII碼,0X10顯示0,

0X3C顯示\ ?漢字為0X80 0X81 顯示漢字“據(jù)”

void ?*flcdLine??struct lcdLine * plcdLine??

//處理行函數(shù)

};

由于頁(yè)是由行組成的,所以頁(yè)結(jié)構(gòu)的定義如下:

typedef struct lcdPage

{

struct lcdLine *firstLine? //該頁(yè)中的第一行

struct lcdPage *previous? //前一頁(yè)

struct lcdPage *next? //后一頁(yè)

unsigned short pageId? //頁(yè)特征字

} lcdPage?

【液晶顯示在嵌入式系統(tǒng)中的應(yīng)用】相關(guān)文章:

液晶顯示器在嵌入式系統(tǒng)中的應(yīng)用03-18

UML 在嵌入式系統(tǒng)設(shè)計(jì)中的應(yīng)用03-18

嵌入式系統(tǒng)的應(yīng)用及發(fā)展03-05

基于HMM的語(yǔ)音識(shí)別技術(shù)在嵌入式系統(tǒng)中的應(yīng)用03-18

液晶顯示模塊DMF-50081在單片機(jī)系統(tǒng)中的應(yīng)用03-18

基于DSP的Bluetooth嵌入式系統(tǒng)應(yīng)用03-20

嵌入式Linux系統(tǒng)及其應(yīng)用前景03-18

嵌入式Linux系統(tǒng)下Microwindows的應(yīng)用03-19

嵌入式系統(tǒng)中的CACHE問題03-19