第5章 嵌入式系統(tǒng)輸入輸出設(shè)備接口_第1頁
第5章 嵌入式系統(tǒng)輸入輸出設(shè)備接口_第2頁
第5章 嵌入式系統(tǒng)輸入輸出設(shè)備接口_第3頁
第5章 嵌入式系統(tǒng)輸入輸出設(shè)備接口_第4頁
第5章 嵌入式系統(tǒng)輸入輸出設(shè)備接口_第5頁
已閱讀5頁,還剩159頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 基于基于ARM9ARM9微處理器微處理器S3C2410AS3C2410A第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.1.1 GPIO5.1.1 GPIO原理與結(jié)構(gòu)原理與結(jié)構(gòu) GPIO(General Purpose I/O,通用輸入/輸出接口)也稱為并行I/O(parallel I/O),是最基本的I/O形式,由一組輸入引

2、腳、輸出引腳或輸入輸入引腳、輸出引腳或輸入/ /輸出引腳輸出引腳組成,CPU對它們能夠進行存取操作。有些GPIO引腳能夠通過軟件編程改變輸入/輸出方向。I/OI/O的應(yīng)用是處理器的的應(yīng)用是處理器的基礎(chǔ)應(yīng)用。基礎(chǔ)應(yīng)用。5.1 GPIO5.1 GPIO(通用輸入(通用輸入/ /輸出接口)輸出接口)第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 GPIOGPIO的應(yīng)用的應(yīng)用通用I/O口(接口,引腳);驅(qū)動LED或其他指示器;控制片外器件;檢測數(shù)字輸入,如鍵盤或開關(guān)信號;第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口

3、 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 檢測數(shù)字輸入,如鍵盤或開關(guān)信號驅(qū)動LED或其它指示器控制片外器件第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.1.2 S3C2410A的IO口配置 S3C2410A共有117117個個多功能復(fù)用輸入輸出端口(I/O口),分為端口AH,共8組。 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 為了滿足不同系統(tǒng)設(shè)計的需要,每個I/O口可以很容易地通過軟件進行配置。每個引腳的功能必須在啟動主程序之前進行定義。如果一個引腳沒有使用復(fù)用功能,那么它可以

4、配置為I/O口。注意:端口 A除了作為功能口外,只能夠作為輸出口使用。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 引腳示例引腳示例如GPE端口共有16個GPIO引腳,功能如下; 這些端口都具有多功能,通過引腳配置寄存器,可以將其設(shè)置為所需要的功能,如:I/O功能、中斷功能等等。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.1.3 S3C2410A5.1.3 S3C2410A的的I IO O口寄存器口寄存器引腳GPIO與控制寄存器的關(guān)系GPxCONGPxUP10GPxDA

5、TGPxDAT第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 GPIO相關(guān)寄存器描述GPxCONGPxUP10GPxDATGPxDATx=A、B、C、D、E、F、G、H第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 GPIO相關(guān)寄存器描述GPxCONGPxCONGPxUP10GPxDATGPxDAT第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 GPIO相關(guān)寄存器描述GPxDATGPxCONGPxUP10GPxDATGPx

6、DAT第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 當I/O設(shè)置為GPIO輸出模式(Output模式)時,寫GPxDAT控制相應(yīng)I/O口輸出高電平或低電平。 注:GPxDAT為1的位對應(yīng)I/O輸出高電平,為0的位對應(yīng)低電平; 當I/O設(shè)置為GPIO輸入模式(Input模式)時,讀取GPxDAT寄存器即取得I/O口線上的電平狀態(tài)。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 GPIO相關(guān)寄存器描述GPxUPGPxCONGPxUP10GPxDATGPxDAT第第5 5章章 嵌入式

7、系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 MISCCR:多控制寄存器。該寄存器有多個功能,可以用來對USB主機和USB設(shè)備進行控制。 DCLKCON:DCLK控制寄存器。該寄存器是可讀/寫的,主要用于外部時鐘DCLK0、DCLK1進行控制;通過該寄存器可以定義DCLKn信號的頻率和占空比。 GSTATUSn:通用狀態(tài)寄存器,共有5個,用來存放芯片的一些信息,如芯片的ID、電池狀態(tài)等。 EXTINTn:外部中斷控制器。 該類寄存器共有3個,用于對24個外部中斷請求信號的有效方式進行選擇 EINTELTn:外部中斷過濾器。 該類寄存器共有4個,這些寄存器主

8、用用來對外部中斷請求信號濾波器的時鐘、寬度進行設(shè)置。 EINTMASK:外部中斷屏蔽寄存器 用來對外部中斷進行屏蔽,相應(yīng)位為1表示屏蔽,為0表示不屏蔽。 EINTPEND:外部中斷懸掛寄存器 用來作為外部中斷未決位。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.1.4 S3C2410A5.1.4 S3C2410A輸入輸出端口編程實輸入輸出端口編程實例例 在S3C2410A中,大多數(shù)的引腳端都是復(fù)用的,所以對于每一個引腳端都需要定義其功能。為了使用I/O口,首先需要定義引腳的功能。 與配置I/O口相關(guān)的寄存器包括:端口控制寄存器(G

9、PACONGPHCON)、端口數(shù)據(jù)寄存器(GPADATGPHDAT)、端口上拉寄存器(GPBUPGPHUP)、雜項控制寄存器以及外部中斷控制寄存器(EXTINTN)等。S3C2410A的I/O口配置情況請參考S3C2410A數(shù)據(jù)手冊。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 #define rGPACON (*(volatile unsigned*)0 x56000000) /Port A控制寄存器#define rGPADAT (*(volati1e unsigned*)0 x56000004) /Port A數(shù)據(jù)寄存器#def

10、ine rGPBCON (*(volatile unsigned*)0 x56000010) /Port B控制寄存器#define rGPBDAT (*(volatile unsigned*)0 x56000014) /Port B數(shù)據(jù)寄存器#define rGPBUP (*(volatile unsigned*)0 x56000018) /Port B上拉電阻禁止寄存器#define rGPCCON (*(volatile unsigned*)0 x56000020)/Port C控制寄存器#define rGPCDAT (*(volatile unsigned*)0 x56000024)

11、 /Port C數(shù)據(jù)寄存器#define rGPCUP (*(volatile unsigned*)0 x56000028)/Port C上拉電阻禁止寄存器#define rGPDCON (*(volatile unsigned*)0 x56000030)/Port D控制寄存器#define rGPDDAT (*(volatile unsigned*)0 x56000034)/Port D數(shù)據(jù)寄存器#define rGPDUP (*(volatile unsigned*)0 x56000038)/Port D上拉電阻禁止寄存器 對I/O口的操作是通過對相關(guān)各個寄存器的讀寫實現(xiàn)的。 要對寄存器

12、進行讀寫操作,首先要對寄存器進行定義。有關(guān)I/O口相關(guān)寄存器的宏定義代碼如下:一般寫成: #include “S3C2410.h”第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 寫一個通過G口的控制發(fā)光二極管LED1和LED2輪流閃爍I/O口編程實例,電路如下所示:例1:第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 #define rGPGCON (*(volati1e unsigned*) 0 x56000060)#define rGPGDAT (*(volatile uns

13、igned*) 0 x56000064)#define rGPGUP (*(volatile unsigned*) 0 x56000068)/端口G的GPG8控制LED1的亮滅,低電平時為亮#define led1light()#define led1clear()/端口G的GPG9控制LED2的亮滅,低電平時為亮#define led2light()#define led2clear()rGPGDAT &= 0 xfeff; rGPGDAT |= 0 x0100; rGPGDAT &= 0 xfdff; rGPGDAT |= 0 x0200; 第第5 5章章 嵌入式系統(tǒng)輸入嵌

14、入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 void main() int i;rGPGCON |=0 x00050000; /配置第8位、第9位為輸出引腳 led1clear(); led2clear(); while (1) led1light(); led2clear();for (i = 0;i 10000000;i+); /延時 led1clear(); led2light(); for(i = 0;i 10000000;i+); /延時第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 第第5 5章

15、章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 使用端口E作為普通I/O接口,端口E的GPE3位輸出控制一個LED指示燈,GPE4位輸出控制一個蜂鳴器。根據(jù)電路圖用C語言實現(xiàn)其功能。 例2: 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 #include “2410addr.h”/GPE4用作蜂鳴器輸出,高電平為鳴叫#define beepon()rGPEDAT= rGPEDAT |0 x0010;#define beepoff()rGPEDAT= rGPEDAT &0 xffef

16、;/GPE3用作LED輸出控制端,宏定義LED亮滅,低電平為亮#define ledlight()rGPEDAT= rGPEDAT&0 xfff7; #define ledclear()rGPEDAT= rGPEDAT|0 x0008; 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 void main() rGPECON = rGPECON|0 x00000140; /初始化端口E,使GPE4、GPE3為輸出 beepoff(); /關(guān)蜂鳴器 while() ledlight( ); /LED指示燈亮 beepon( ); /

17、蜂鳴器發(fā)聲 Delay(3000); /延時 beepoff( ); /關(guān)蜂鳴器 ledclear( ); /LED指示燈滅 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 例3: 使用端口F、H作為普通I/O接口,端口E的GPF4位輸入控制一個按鍵,GPH10位輸出控制一個蜂鳴器。根據(jù)電路圖用C語言實現(xiàn)其功能。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 #include

18、 “2410addr.h”/ 定義獨立按鍵KEY1的輸入口#define KEY_CON (14) /* GPF4口 */ 定義蜂鳴器控制口#define BEEP (110) /* GPH10口 */#define BEEP_MASK (BEEP)第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 int main(void) / 初始化I/O rGPFCON = (rGPFCON & (0 x038); / rGPFCON9:8 = 00b,設(shè)置GPF4為GPIO輸入模式 rGPHCON = (rGPHCON & (0

19、x0320) | (0 x0120); / rGPHCON21:20 = 01b,設(shè)置GPH10為GPIO輸出模式 while(1) if (rGPFDAT & KEY_CON) / 讀取GPF口線上的電平,判斷GPF4是否為高電平 rGPHDAT = rGPHDAT | BEEP; / GPF4為高電平,則設(shè)置GPH10=1 else rGPHDAT = rGPHDAT & BEEP_MASK; / GPF4為低電平,則設(shè)置GPH10=0 DelayNS(1); return(0);第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入

20、式系統(tǒng)設(shè)計 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 29A/D轉(zhuǎn)換基礎(chǔ) A/D轉(zhuǎn)換又稱模數(shù)轉(zhuǎn)換,顧名思義,就是把模擬信號數(shù)字化。 完成一個或多個模擬信號到數(shù)字信號的轉(zhuǎn)換。A/D轉(zhuǎn)換的一般步驟5.2 A/D5.2 A/D轉(zhuǎn)換器接口轉(zhuǎn)換器接口第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 30 A/D轉(zhuǎn)換的技術(shù)指標 1、分辨率(Resolution) 數(shù)字量變化一個最小量時模擬信號的變化量,1/2n 2、 轉(zhuǎn)換速率(Conversion Rate) 完成一次從模擬轉(zhuǎn)換到數(shù)字的

21、A/D轉(zhuǎn)換所需的時間的倒數(shù) 3、量化誤差(Quantizing Error) 由于A/D的有限分辨率而引起的誤差(1LSB或1/2LSB) 4、偏移誤差(Offset Error) 輸入信號為零時輸出信號不為零的值 5、滿刻度誤差(Full Scale Error) 滿度輸出時對應(yīng)的輸入信號與理想輸入信號值之差 6、線性度(Linearity) 實際轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大偏移第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 31 A/D轉(zhuǎn)換器類型 1、 積分型A/D轉(zhuǎn)換器 2、 逐次逼近型A/D 3、 并行比較/串行比較型A/D

22、 4、 電容陣列逐次比較型 5、 壓頻變換型第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 32 A/D轉(zhuǎn)換的一般步驟 A/D轉(zhuǎn)換過程是通過取樣、保持、量化和編碼這四個步驟完成的。 取樣和保持主要由采樣保持器來完成 量化編碼就由A/D轉(zhuǎn)換器完成第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.2.1 S3C2410A5.2.1 S3C2410A的的A AD D轉(zhuǎn)換器轉(zhuǎn)換器1 1S3C2410A A/DS3C2410A A/D轉(zhuǎn)換器和觸摸屏接口電路轉(zhuǎn)換器和觸摸屏接口電路 S3C2

23、410A包含一個8通道的A/D轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)見圖5.2.4,該電路可以將模擬輸入信號轉(zhuǎn)換成10位數(shù)字編碼(10位分辨率),差分線性誤差為1.0 LSB,積分線性誤差為2.0 LSB。在A/D轉(zhuǎn)換時鐘頻率為2.5 MHz時,其最大轉(zhuǎn)換率為500KSPS(千采樣點每秒),輸入電壓范圍是03.3V。 A/D轉(zhuǎn)換器支持片上操作、采樣保持功能和掉電模式。S3C2410A的A/D轉(zhuǎn)換器和觸摸屏接口電路如圖5.2.1所示。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 圖圖5.2.1 S3C2410A5.2.1 S3C2410A的的A/DA/D轉(zhuǎn)換

24、器和觸摸屏接口電路轉(zhuǎn)換器和觸摸屏接口電路 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 2 2與與S3C2410A A/DS3C2410A A/D轉(zhuǎn)換器相關(guān)的寄存器轉(zhuǎn)換器相關(guān)的寄存器 使用S3C2410A的A/D轉(zhuǎn)換器進行模擬信號到數(shù)字信號的轉(zhuǎn)換,需要配置以下相關(guān)的寄存器。(1)ADC控制寄存器(ADCCON) ADC控制寄存器(ADCCON)是一個16位的可讀寫的寄存器,地址為0 x58000000,復(fù)位值為0 x3FC4。ADCCON位的功能描述如表5.2.1所列。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出

25、設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 表表5.2.1 ADC控制寄存器(控制寄存器(ADCCON)的位功能)的位功能 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 (2)ADC觸摸屏控制寄存器(ADCTSC) ADC觸摸屏控制寄存器(ADCTSC)是一個可讀寫的寄存器,地址為0 x58000004,復(fù)位值為0 x058。ADCTSC的位功能描述如表5.2.2所列。在正常A/D轉(zhuǎn)換時,AUTO_PST和XY_PST都置成0即可,其他各位與觸摸屏有關(guān),不需要進行設(shè)置。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備

26、接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 表表5.2.2 ADC5.2.2 ADC控制寄存器(控制寄存器(ADCTSCADCTSC)的位功能)的位功能 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 (3)ADC轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDAT0和ADCDAT1) S3C2410A有ADCDAT0和ADCDAT1兩個ADC轉(zhuǎn)換數(shù)據(jù)寄存器。ADCDAT0和ADCDAT1為只讀寄存器,地址分別為0 x5800000C和0 x58000010。在觸摸屏應(yīng)用中,分別使用ADCDAT0和ADCDAT1保存X位置和Y位置的轉(zhuǎn)換數(shù)據(jù)。對于正常的A/D轉(zhuǎn)換,使用

27、ADCDAT0來保存轉(zhuǎn)換后的數(shù)據(jù)。 ADCDAT0的位功能描述如表5.2.3所列,ADCDAT1的位功能描述如表5.2.5所列,除了位9:0為Y位置的轉(zhuǎn)換數(shù)據(jù)值以外,其他與ADCDAT0類似。通過讀取該寄存器的位9:0,可以獲得轉(zhuǎn)換后的數(shù)字量。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 表表5.2.3 ADCDAT05.2.3 ADCDAT0的位功能的位功能 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 ADC 的使用分四個步驟:設(shè)置ADCCON寄存器,選擇輸入信號通道,設(shè)

28、置A/D轉(zhuǎn)換器的時鐘。使能A/D 轉(zhuǎn)換器的預(yù)分頻功能。計算A/D時鐘的公式:A/D時鐘頻率=PLCK/(預(yù)分頻值(PRSCVL)+1)。2) 設(shè)置ADCTSC寄存器,使用設(shè)為普通轉(zhuǎn)換模式,這里不能使用觸摸屏功能。ADCTSC寄存器多用于觸摸屏,對于普通的ADC,使用默認值即可。3) 設(shè)置ADCCON寄存器,啟動A/D轉(zhuǎn)換。如果設(shè)置READ_START位,則讀取轉(zhuǎn)換數(shù)據(jù)(讀ADCDAT0 寄存器)時即啟動下一次轉(zhuǎn)換;否則,就通過設(shè)置ENABLE_START位來啟動A/D。4) 轉(zhuǎn)換結(jié)束時,讀取ADCDAT0寄存器來獲取數(shù)值。如果使用查詢方式,則可以不讀取ADCCON寄存器的ECFLG位(b15)

29、來確定轉(zhuǎn)換是否結(jié)束;否則可以使用INT_ADC中斷,發(fā)生INT_ADC中斷時表示轉(zhuǎn)換結(jié)束。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.2.3 S3C2410A A5.2.3 S3C2410A AD D接口編程實例接口編程實例 下面介紹一個AD接口編程實例,其功能實現(xiàn)從A/D轉(zhuǎn)換器的通道0獲取模擬數(shù)據(jù),并將轉(zhuǎn)換后的數(shù)字量以波形的形式在LCD上顯示。模擬輸入信號的電壓范圍是02.5V。程序如下:1 1定義與定義與AD轉(zhuǎn)換相關(guān)的寄存器轉(zhuǎn)換相關(guān)的寄存器 #define rADCCON (*(volatile unsigned*)0 x5

30、8000000) /ADC控制寄存器 #define rADCTSC (*(volatile unsigned*)0 x58000004) /ADC觸摸屏控制寄存器 #define rADCDLY (*(volatile unsigned*)0 x58000008) /ADC啟動延時寄存器 #define rADCDAT0 (*(volatile unsigned*)0 x5800000c) /ADC轉(zhuǎn)換數(shù)據(jù)寄存器0 #define rADCDAT1 (*(volati1e unsigned*)0 x58000010) /ADC轉(zhuǎn)換數(shù)據(jù)寄存器 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /

31、輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 2 2對對A/DA/D轉(zhuǎn)換器進行初始化轉(zhuǎn)換器進行初始化程序中的參數(shù)ch表示所選擇的通道號,程序如下:void AD_Init(unsigned char ch) rADCDLY=100; /ADC啟動延時 rADCTSC=0; /選擇ADC模式 rADCCON=(114)|(496)|(ch3)|(02)|(07) return 0; /通道不能大于7 for(i=0; i 16; i+) /為轉(zhuǎn)換準確,轉(zhuǎn)換16次 rADCCON |=0 x1; /啟動A/D轉(zhuǎn)換 rADCCON= rADCCON0 xffc7 |(ch 4); /為轉(zhuǎn)換

32、準確,除以16取均值第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 4.4.主函數(shù)主函數(shù) 實現(xiàn)將轉(zhuǎn)換后的數(shù)據(jù)在LCD上以波形的方式顯示,程序如下第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.3.1 D/A5.3.1 D/A(數(shù)模)轉(zhuǎn)換器的工作原理(數(shù)模)轉(zhuǎn)換器的工作原理 將數(shù)字信號轉(zhuǎn)換成模擬信號的過程稱為數(shù)/模轉(zhuǎn)換。能夠完成這種轉(zhuǎn)換的電路叫做數(shù)/模轉(zhuǎn)換器,簡稱為D/A轉(zhuǎn)換器,簡記為DAC(Digital to Analog Converter)。 D/A轉(zhuǎn)換器將輸入的數(shù)字量

33、轉(zhuǎn)換為模擬量輸出,數(shù)字量是由若干數(shù)位構(gòu)成的,D/A轉(zhuǎn)換器把一個數(shù)字量變?yōu)槟M量,就是把每一位上的代碼按照權(quán)值轉(zhuǎn)換為對應(yīng)的模擬量,再把各位所對應(yīng)的模擬量相加,所得到各位模擬量的和便是數(shù)字量所對應(yīng)的模擬量。5.3 D/A5.3 D/A轉(zhuǎn)換器接口轉(zhuǎn)換器接口 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.3.2 S3C2410A5.3.2 S3C2410A與與D/AD/A轉(zhuǎn)換器的接口電路轉(zhuǎn)換器的接口電路1 1MAX5380MAX5380與與S3C2410AS3C2410A的連接電路的連接電路 MAX5380是電壓輸出型的8位D/A轉(zhuǎn)換芯片

34、,使用I2C串行接口,轉(zhuǎn)換速率高達400 kHz,其輸入數(shù)字信號和輸出模擬信號的對應(yīng)關(guān)系如表5.3.1所列。MAX5380與S3C2410A的連接電路如圖5.3.1所示。 表5.3.1 MAX5380數(shù)字輸入與模擬輸出對照表第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 圖5.3.1 MAX5380與S3C2410A的連接電路 圖5.3.1中,MAX5380的時鐘SCL和數(shù)據(jù)輸入SDA連接到S3C2410A的IICSCL(GPE15)和IICSDA(GPE14),CON2的1、2兩端輸出轉(zhuǎn)換后的模擬信號值,其輸出電壓范圍為02V。 S3

35、C2410A通過IIC接口向MAX5380發(fā)送數(shù)據(jù),MAX5380將接收IIC總線的數(shù)據(jù),并將其轉(zhuǎn)換為模擬電壓信號輸出到CON2。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 2 2MAX5380MAX5380的軟件編程的軟件編程 MAX5380的編程動作通過函數(shù)void iic_write_max5380(U32 slvAdd,U8 data)完成,其中slvAddr為從設(shè)備地址,MAX5380使用0 x60;data為待寫入的數(shù)據(jù),即發(fā)送給MAX5380的數(shù)字值;iic_write_max5380的代碼請參考6.2節(jié)(I2C部分)

36、。通過調(diào)用該函數(shù)可以實現(xiàn)給CON2輸出各種波形信號。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 S3C2410A具有4路PWM輸出,輸出口分別為TOUT0-TOUT3。為了能夠正確輸出PWM信號,需要設(shè)置GPBCON寄存器選擇相應(yīng)I/O為TOUTx功能。 然后,通過TCFG0寄存器為PWM定時器時鐘源設(shè)置預(yù)分頻值,通過TCFG1寄存器選擇PWM定時器時鐘源。接著,通過TCNB0寄存器設(shè)置PWM周期,通過TCMPB0設(shè)置PWM占空比。 最后,通過TCON寄存器啟動PWM定時器,即可輸出PWM信號。PWM DACPWM DAC控制控制第

37、第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 S3C2410A的PWM控制器uS3C2410A處理器有5個16位定時器,其中定時器0/1/2/3有PWM脈沖輸出功能;定時器4具有內(nèi)部定時作用,但是沒有輸出引腳。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 程序設(shè)計:程序設(shè)計: 使用PWM輸出實現(xiàn)DAC功能,輸出電壓分別為為0.0V、0.5V、1.0V、1.5V、2.0V、2.5V和3.0V。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)

38、計嵌入式系統(tǒng)設(shè)計 int main(void) uint16 pwm_dac; / 獨立按鍵KEY1控制口設(shè)置 rGPFCON = (rGPFCON & (0 x038); / rGPFCON9:8 = 00b,設(shè)置GPF4為GPIO輸入模式 / TOUT0口設(shè)置 rGPBCON = (rGPBCON & (0 x030) | (0 x02255) pwm_dac = 0; rTCMPB0 = pwm_dac; return(0);第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 void PWM_Init(uint16

39、cycle, uint16 duty) / 參數(shù)過濾 if(dutycycle) duty = cycle; / 設(shè)置定時器0,即PWM周期和占空比 / Fclk=200MHz,時鐘分頻配置為1:2:4,即Pclk=50MHz。 rTCFG0 = 97;/ 預(yù)分頻器0設(shè)置為98,取得510204Hz rTCFG1 = 0;/ TIMER0再取1/2分頻,取得255102Hz rTCMPB0 = duty; / 設(shè)置PWM占空比 rTCNTB0 = cycle; / 定時值(PWM周期) if(rTCON&0 x04) rTCON = (11); / 更新定時器數(shù)據(jù) (取反輸出inver

40、ter位) else rTCON = (12)|(11); rTCON = (10)|(13); / 啟動定時器 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.4.1 5.4.1 鍵盤與鍵盤與LEDLED數(shù)碼管接口基本原理與結(jié)數(shù)碼管接口基本原理與結(jié)構(gòu)構(gòu)1 1鍵盤的分類鍵盤的分類 鍵盤按與微控制器的連接方式,其結(jié)構(gòu)可分為線性鍵盤和矩陣鍵盤兩種形式。 u線性鍵盤由若干個獨立的按鍵組成,每個按鍵的一端與微控制器的一個I/O口相連。有多少個鍵就要有多少根連線與微控制器的I/O口相連,適用于按鍵少的場合。5.4 5.4 鍵盤與鍵盤與LEDL

41、ED數(shù)碼管接口數(shù)碼管接口第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 u矩陣鍵盤的按鍵按N行M列排列,每個按鍵占據(jù)行列的一個交點,需要的I/O口數(shù)目是N+M,容許的最大按鍵數(shù)是NM。矩陣鍵盤可以減少與微控制器I/O接口的連線數(shù),是常用的一種鍵盤結(jié)構(gòu)形式。根據(jù)矩陣鍵盤的識鍵和譯鍵方法的不同,矩陣鍵盤又可以分為非編碼鍵盤和編碼鍵盤兩種。非編碼鍵盤主要用軟件的方法識鍵和譯鍵。根據(jù)掃描方法的不同,可以分為行掃描法、列掃描法和反轉(zhuǎn)法3種。編碼鍵盤主要用硬件(鍵盤和LED專用接口芯片)來實現(xiàn)鍵的掃描和識別,例如使用8279專用接口芯片。第第5 5

42、章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 鍵盤的按鍵實際上就是一個開關(guān),常用的按鍵開關(guān)有機械式按鍵、電容式按鍵、薄膜式按鍵、霍耳效應(yīng)按鍵等。(1 1)機械式按鍵)機械式按鍵(2 2)電容式按鍵)電容式按鍵(3 3)薄膜式按鍵)薄膜式按鍵 (4 4)霍耳效應(yīng)按鍵)霍耳效應(yīng)按鍵第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 2 2LEDLED數(shù)碼管數(shù)碼管 LED(Light Emitting Diode,發(fā)光二極管)數(shù)碼管(也稱為七段數(shù)碼管)價格低廉、體積小、功耗低,而可靠性又很好,在嵌

43、入式控制系統(tǒng)中應(yīng)用非常普遍。 如圖5.4.1(a)所示,LED數(shù)碼管一般由8個發(fā)光管組成,分別稱為a、b、c、d、e、f、g 7個字段和一個小數(shù)點段DP。通過7個字段的不同組合,可以顯示09和AF共16個字母數(shù)字,從而實現(xiàn)十六進制的顯示。例如,控制a、b、c、d、e、f段亮,g段不亮,就顯示出數(shù)字零。(a) LED器件 (b)共陽極接法 (c)共陰極接法圖5.4.1 7段LED顯示器第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 LEDLED字符與段碼對應(yīng)表字符與段碼對應(yīng)表1-燈亮燈亮 0-燈滅燈滅第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系

44、統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 LED數(shù)碼管可以分為共陽極和共陰極兩種結(jié)構(gòu),如圖5.4.1(b)、(c)所示。 在共陰極結(jié)構(gòu),各字段陰極控制端連接在一起接低電平,各字段陽極控制端連接到高電平時,則該段發(fā)光。例如,要顯示b字母,只要使c、d.、e、f、g陽極接高電平即可實現(xiàn)。 在共陽極結(jié)構(gòu),各字段陽極控制端連接在一起接高電平,各字段陰極控制端連接到低電平時,則該段發(fā)光。例如,要顯示b字母,只要使c、d.、e、f、g陽極接低電平即可實現(xiàn)。 在多個LED數(shù)碼管顯示電路中,通常把陰(陽)極控制端連接到一個輸出端口,稱為位控端口;而把各字段(數(shù)據(jù)顯示段)連接到一個輸出

45、端口,稱為段控端口。段控端口處應(yīng)輸出十六進制數(shù)的7段代碼。 將一個4位的BCD碼譯為LED的7位顯示代碼,可以采用專用譯碼芯片,如7447即采用專用的帶驅(qū)動器的LED段譯碼器,可以實現(xiàn)對BCD碼的譯碼。另一種常用的辦法是軟件譯碼法,將0F共16個數(shù)字(也可以為09)對應(yīng)的顯示代碼組成一個表,直接輸出7段碼。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.4.2 5.4.2 用用I/OI/O口實現(xiàn)鍵盤接口口實現(xiàn)鍵盤接口 一個用I/O口實現(xiàn)的16個按鍵的鍵盤接口電路如圖5.4.2所示。在本例中,采用了節(jié)省口線的“行掃描法”方法來檢測鍵盤

46、,與44的矩陣鍵盤接口只需要8根口線,設(shè)置PF0PF3為輸出掃描碼的端口,PF4PF7為鍵值讀入口。圖5.4.2 ARM微處理器實現(xiàn)的鍵盤接口電路第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 行掃描法行掃描法: : 使鍵盤上某一行線為低電平,而其余行接高電平,然后讀取列值,如果列值中有某位為低電平,則表明行列交點處的鍵被按下;否則掃描下一行,直到掃描完全部的行線為止。 在圖5.4.2所示電路中,按鍵設(shè)置在行、列交叉點上,行、列分別連接到按鍵開關(guān)的兩端。列線通過上拉電阻接到+5V上。平時無按鍵動作時,列線處于高電平狀態(tài);而當有鍵按下時,

47、列線電平狀態(tài)將由通過此按鍵的行線電平?jīng)Q定:行線電平如果為低,列線電平為低;行線電平如果為高,則列線電平亦為高。通過這一點來識別矩陣式鍵盤是否被按下。因各按鍵之間相互發(fā)生影響,所以必須將行、列線信號配合起來并作適當?shù)奶幚?,才能確定閉合鍵的位置。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 根據(jù)行掃描法的原理,識別矩陣鍵盤按鍵閉合分兩步進行:(1)識別鍵盤哪一行的鍵被按下:讓所有行線均為低電平,檢查各列線電平是否為低,如果有列線為低,則說明該列有鍵被按下,否則說明無鍵被按下。(2)如果某列有鍵被按下,識別鍵盤哪一行的鍵被按下:逐行置低電平

48、,并置其余各行為高電平,檢查各列線電平的變化,如果列電平變?yōu)榈碗娖剑瑒t可確定此行此列交叉點處按鍵被按下。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.4.3 5.4.3 采用專用芯片實現(xiàn)鍵盤及采用專用芯片實現(xiàn)鍵盤及LEDLED接口接口 一個54鍵盤及8位LED顯示電路如下圖所示,該電路采用支持IIC總線協(xié)議的ZLG7290芯片。 ZLG7290是一個采用IIC接口的鍵盤及LED驅(qū)動器芯片,IIC串行接口提供鍵盤中斷信號方便與處理器接口,IIC接口傳輸速率可達32kbit/s,可驅(qū)動8位共陰數(shù)碼管或64只獨立LED和64個按鍵,可控

49、掃描位數(shù)可控任一數(shù)碼管閃爍,提供數(shù)據(jù)譯碼和循環(huán)移位段尋址等控制,8個功能鍵可檢測任一鍵的連擊次數(shù),無需外接元件即直接驅(qū)LED,可擴展驅(qū)動電流和驅(qū)動電壓,提供工業(yè)級器件多種封裝形式PDIP-24和SO-24,引腳端功能如表5.4.1所示。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 表表5.4.1 ZLG72905.4.1 ZLG7290引腳端功能引腳端功能第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 (a)ZLG7290控制電路第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/

50、/輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 (b)八段數(shù)碼管連接電路第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 (c)鍵盤及LED顯示電路圖5.4.3 54鍵盤及8位LED顯示電路(圖與表中的引腳端符號統(tǒng)一,以表為準)第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 注:訪問這些寄存器需要通過 IIC 總線接口來實現(xiàn)。ZLG7290的 IIC 總線器件地址是70H(寫操作)和71H(讀操作)。訪問內(nèi)部寄存器要通過“子地址”來實現(xiàn)。第第5 5章章 嵌入式系統(tǒng)輸入嵌入

51、式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 1.1.系統(tǒng)寄存器系統(tǒng)寄存器 SystemReg ( SystemReg (地址地址:00H):00H) 系統(tǒng)寄存器的第0位(LSB)稱作 KeyAvi ,標志著按鍵是否有效, 0沒有按鍵被按下,1有某個按鍵被按下。SystemReg 寄存器的其它位暫時沒有定義。當按下某個鍵時,ZLG7290B的INT引腳會產(chǎn)生一個低電平的中斷請求信號。當讀走鍵值后,中斷信號就會自動撤銷。而 KeyAvi 也同時予以反映。正常情況下,微控制器只需要判斷 INT 引腳就可以了。通過不斷查詢 KeyAvi 位也能判斷是否有鍵按下,這樣就可以節(jié)

52、省微控制器的一根I/O口線,但是代價是IIC總線處于頻繁的活動狀態(tài),多消耗電流并且不利于抗干擾。 寄存器詳解寄存器詳解 :第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 2.2.鍵值寄存器鍵值寄存器 Key ( Key (地址地址:01H) :01H) 如果某個普通鍵被按下,則微控制器可以從鍵值寄存器 Key中讀取相應(yīng)的鍵值156。如果微控制器發(fā)現(xiàn) ZLG7290B 的INT引腳產(chǎn)生了中斷請求,而從Key中讀到的鍵值是0,則表示按下的可能是功能鍵。 鍵值寄存器 Key 的值在被讀走后自動變成0 。 3. 3. 連擊次數(shù)計數(shù)器連擊次數(shù)計數(shù)

53、器 RepeatCnt ( RepeatCnt (地址地址:02H) :02H) ZLG7290B為普通鍵提供了連擊計數(shù)功能。所謂連擊是指按住某個普通鍵不松手,經(jīng)過一兩秒鐘的延遲后(在 4MHz 下約為 2 秒), 開始連續(xù)有效,連續(xù)有效間隔時間(在 4MHz 下約為 170 毫秒)在幾十到幾百個毫秒。這一特性跟電腦上的鍵盤很類似。 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 4. 4. 功能鍵寄存器功能鍵寄存器 FunctionKey ( FunctionKey (地址地址:03H) :03H) ZLG7290B 還提供有8個功能

54、鍵。功能鍵常常是配合普通鍵一起使用的,就像電腦鍵盤上的Shift、Ctrl和Alt鍵。當然功能鍵也可以單獨去使用,就像電腦鍵盤上的F1F12。當按下某個功能鍵時,在INT引腳也會像按普通鍵那樣產(chǎn)生中斷信號。 功能鍵的鍵值是被保存在 FunctionKey 寄存器中的。功能鍵寄存器 FunctionKey 的初始值是FFH,每一個位對應(yīng)一個功能鍵,第0位(LSB)對應(yīng)F0 ,第1位對應(yīng) F1,依次類推,第7位(MSB)對應(yīng)F7。某一功能鍵被按下時,相應(yīng)的FunctionKey 位就清零。 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5

55、. 5. 命令緩沖區(qū)命令緩沖區(qū) CmdBuf0 CmdBuf1 ( CmdBuf0 CmdBuf1 (地址地址:07H 08H):07H 08H) 通過向命令緩沖區(qū)寫入相關(guān)的控制命令可以實現(xiàn)段尋址、 下載顯示數(shù)據(jù)、 控制閃爍等功能。 6. 6. 閃爍控制寄存器閃爍控制寄存器 FlashOnOff ( FlashOnOff (地址地址:0CH):0CH) FlashOnOff 寄存器決定閃爍頻率和占空比。7. 7. 掃描位數(shù)寄存器掃描位數(shù)寄存器 ScanNum ( ScanNum (地址地址:0DH):0DH) 用于控制最大的掃描顯示位數(shù),有效范圍為0-7對應(yīng)的顯示位數(shù)為1-8.實際應(yīng)用中可能需

56、要顯示的位數(shù)不足8位,例如只顯示3位,這時可以把ScanNum 的值設(shè)置為2,則數(shù)碼管的第0、1、2位被掃描顯示,而第37位不會被分配掃描時間,所以不顯示。 8. 8. 顯示緩存寄存器顯示緩存寄存器 DpRam0-DpRam7 ( DpRam0-DpRam7 (地址地址:10H-17H):10H-17H) DpRam0 DpRam7 這 8 個寄存器的取值直接決定了數(shù)碼管的顯示內(nèi)容。 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計

57、1.1.鍵盤控制初始鍵盤控制初始化程序化程序第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 2 2中斷服務(wù)程序中斷服務(wù)程序第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 5.5.1 LCD5.5.1 LCD顯示接口原理與結(jié)構(gòu)顯示接口原理與結(jié)構(gòu)5.5 LCD5.5 LCD顯示接口顯示接口 LCD 液晶顯示器是Liquid Crystal Display 的簡稱,LCD 的構(gòu)造是

58、在兩片平行的玻璃當中放置液態(tài)的晶體,兩片玻璃中間有許多垂直和水平的細小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產(chǎn)生畫面。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 (一)液晶的物理特性 液晶的物理特性是:當通電時導(dǎo)通,排列變的有秩序,使光線容易通過;不通電時排列混亂,阻止光線通過。讓液晶如閘門般地阻隔或讓光線穿透。從技術(shù)上簡單地說,液晶面板包含了兩片相當精致的無鈉玻璃素材,稱為Substrates,中間夾著一層液晶。當光束通過這層液晶時,液晶本身會排排站立或扭轉(zhuǎn)呈不規(guī)則狀,因而阻隔或使光束順利通過。大多數(shù)液晶都屬

59、于有機復(fù)合物,由長棒狀的分子構(gòu)成。在自然狀態(tài)下,這些棒狀分子的長軸大致平行。將液晶倒入一個經(jīng)精良加工的開槽平面,液晶分子會順著槽排列,所以假如那些槽非常平行,則各分子也是完全平行的。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 (二)單色液晶顯示器的原理 LCD 技術(shù)是把液晶灌入兩個列有細槽的平面之間。這兩個平面上的槽互相垂直(相交成90 度)。也就是說,若一個平面上的分子南北向排列,則另一平面上的分子東西向排列,而位于兩個平面之間的分子被強迫進入一種90 度扭轉(zhuǎn)的狀態(tài)。由于光線順著分子的排列方向傳播,所以光線經(jīng)過液晶時也被扭轉(zhuǎn)90

60、度。但當液晶上加一個電壓時,分子便會重新垂直排列,使光線能直射出去,而不發(fā)生任何扭轉(zhuǎn)。 LCD 是依賴極化濾光器(片)和光線本身。自然光線是朝四面八方隨機發(fā)散的。極化濾光器實際是一系列越來越細的平行線。這些線形成一張網(wǎng),阻斷不與這些線平行的所有光線。極化濾光器的線正好與第一個垂直,所以能完全阻斷那些已經(jīng)極化的光線。只有兩個濾光器的線完全平行,或者光線本身已扭轉(zhuǎn)到與第二個極化濾光器相匹配,光線才得以穿透。第第5 5章章 嵌入式系統(tǒng)輸入嵌入式系統(tǒng)輸入/ /輸出設(shè)備接口輸出設(shè)備接口 嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)設(shè)計 對于筆記本電腦或者桌面型的LCD 顯示器需要采用的更加復(fù)雜的彩色顯示器而言,還要具備專門處理彩色顯示的色彩過濾層。通常,在彩色LCD 面板中,每一個像素都是由三個液晶單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論