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

下載本文檔

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

文檔簡(jiǎn)介

1、第第3 3章章 輸入輸入/ /輸出設(shè)備接口技術(shù)輸出設(shè)備接口技術(shù) 1 1、通用、通用I/OI/O端口結(jié)構(gòu)(端口結(jié)構(gòu)(GPIOGPIO)3.1 3.1 通用通用I/OI/O端口端口GPIOGPIO端口:端口: PORTPORT數(shù)據(jù)寄存器、數(shù)據(jù)寄存器、DDRDDR數(shù)據(jù)方向寄存器。數(shù)據(jù)方向寄存器。輸出:置輸出:置“1 1”,輸出數(shù)據(jù);,輸出數(shù)據(jù);DDRDDR方向寄存器:方向寄存器:輸入:置輸入:置“0 0”,輸入數(shù)據(jù)。,輸入數(shù)據(jù)。117117個(gè)個(gè)GPIOGPIO端口:端口: 1 1個(gè)個(gè)2323位的位的Port APort A; 2 2個(gè)個(gè)1111位的位的Port BPort B、H H; 3 3個(gè)個(gè)1

2、616位的位的Port CPort C、D D、E E、G G; 1 1個(gè)個(gè) 8 8位的位的Port FPort F。2 2、接口電路、接口電路 通過(guò)端口通過(guò)端口D D的的GPD1GPD1、GPD0GPD0控制發(fā)光二極管輪流閃爍。控制發(fā)光二極管輪流閃爍。端口端口D D控制寄存器控制寄存器寄存器寄存器地址地址描述描述GPDCONGPDCON0 x560000300 x56000030 使用位使用位31:031:0,分別對(duì)端口,分別對(duì)端口D D的的1616個(gè)引腳進(jìn)行配置。個(gè)引腳進(jìn)行配置。0000:輸入;:輸入; 0101:輸出:輸出GPDDATGPDDAT0 x560000340 x5600003

3、4 數(shù)據(jù)寄存器,使用位數(shù)據(jù)寄存器,使用位15:015:0GPDUPGPDUP0 x560000380 x56000038 配置上拉電阻配置上拉電阻 1 1:禁止:禁止0 0:使能:使能GPDCON= GPDCON&0 xfffffff0 | 0 x00000005;GPDCON= GPDCON&0 xfffffff0 | 0 x00000005;GPDDAT= GPDDAT&0 xfffffffC | 0 x00000002;GPDDAT= GPDDAT&0 xfffffffC | 0 x00000002;GPDCON= GPDCON&0 xfff0ff

4、ff | 0 x00050000;GPDCON= GPDCON&0 xfff0ffff | 0 x00050000;GPDDAT= GPDDAT&0 xeff | 0 x200;GPDDAT= GPDDAT&0 xeff | 0 x200;例題例題1 1,判斷,判斷D D端口的輸入端口的輸入/ /輸出狀態(tài)及高低電平輸出狀態(tài)及高低電平3.2 A/D3.2 A/D轉(zhuǎn)換器接口轉(zhuǎn)換器接口 S3C2410AS3C2410A包含包含 一個(gè)一個(gè)8 8通道的通道的A/DA/D轉(zhuǎn)換器。轉(zhuǎn)換器。 10 10位分辨率。位分辨率。 采樣電壓范圍是采樣電壓范圍是0 03.3V3.3V。 討論討論

5、1 1當(dāng)參考電壓為當(dāng)參考電壓為3.3V3.3V時(shí),輸入電壓為時(shí),輸入電壓為2.0V2.0V,采集的數(shù)字量,采集的數(shù)字量為多少?為多少?1 1、ADCADC內(nèi)部結(jié)構(gòu)及內(nèi)部結(jié)構(gòu)及ADCADC控制器相關(guān)寄存器控制器相關(guān)寄存器A/DA/D轉(zhuǎn)換器和觸摸屏接口電路轉(zhuǎn)換器和觸摸屏接口電路(1 1)ADCADC控制寄存器(控制寄存器(ADCCONADCCON)A/DA/D轉(zhuǎn)換的轉(zhuǎn)換時(shí)間計(jì)算。轉(zhuǎn)換的轉(zhuǎn)換時(shí)間計(jì)算。例,例,PCLKPCLK為為50MHz50MHz,PRESCALERPRESCALER = = 4949;所有所有1010位轉(zhuǎn)換時(shí)間為位轉(zhuǎn)換時(shí)間為50 MHz50 MHz / / (49(49 + +

6、1)1) = = 1MHz1MHz 轉(zhuǎn)換時(shí)間為轉(zhuǎn)換時(shí)間為1/(1M/5 cycles)1/(1M/5 cycles) = = 5us5us注意:注意:完成一次完成一次A/DA/D轉(zhuǎn)換需要轉(zhuǎn)換需要5 5個(gè)時(shí)鐘周期。個(gè)時(shí)鐘周期。A/DA/D轉(zhuǎn)換器的最轉(zhuǎn)換器的最大工作時(shí)鐘為大工作時(shí)鐘為2.5MHz2.5MHz,所以最大的采樣率可以達(dá)到,所以最大的采樣率可以達(dá)到500kbit/s500kbit/s。1 1、要使、要使A/D A/D 轉(zhuǎn)換器正常啟動(dòng),預(yù)分頻因子取轉(zhuǎn)換器正常啟動(dòng),預(yù)分頻因子取5050,應(yīng)向,應(yīng)向ADCCONADCCON寫寫入什么控制字?入什么控制字?01001100010000012 2、

7、要啟動(dòng)、要啟動(dòng)A/D A/D 轉(zhuǎn)換器讀第轉(zhuǎn)換器讀第2 2號(hào)通道數(shù)據(jù)啟動(dòng)(預(yù)分頻因子取號(hào)通道數(shù)據(jù)啟動(dòng)(預(yù)分頻因子取1616),應(yīng)向,應(yīng)向ADCCONADCCON寫入什么控制字?寫入什么控制字?0100001111010011例題例題2 2(2 2)ADCADC觸摸屏控制寄存器(觸摸屏控制寄存器(ADCTSCADCTSC) 在正常在正常A/DA/D轉(zhuǎn)換時(shí),轉(zhuǎn)換時(shí),AUTO_PSTAUTO_PST和和XY_PSTXY_PST都置成都置成0 0即可,其他各即可,其他各位與觸摸屏有關(guān),不需要進(jìn)行設(shè)置。位與觸摸屏有關(guān),不需要進(jìn)行設(shè)置。(3 3)ADCADC轉(zhuǎn)換數(shù)據(jù)寄存器(轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDAT0AD

8、CDAT0和和ADCDAT1ADCDAT1) 在觸摸屏應(yīng)用中,分別使用在觸摸屏應(yīng)用中,分別使用ADCDAT0ADCDAT0和和ADCDAT1ADCDAT1保存保存X X位置和位置和Y Y位置的轉(zhuǎn)換數(shù)據(jù)。對(duì)于正常的位置的轉(zhuǎn)換數(shù)據(jù)。對(duì)于正常的A/DA/D轉(zhuǎn)換,使用轉(zhuǎn)換,使用ADCDAT0ADCDAT0來(lái)保存轉(zhuǎn)換來(lái)保存轉(zhuǎn)換后的數(shù)據(jù)。后的數(shù)據(jù)。(4 4)ADCADC啟動(dòng)延時(shí)寄存器(啟動(dòng)延時(shí)寄存器(ADCDLYADCDLY)思考思考1 1如何判斷如何判斷ADCADC轉(zhuǎn)換完成?轉(zhuǎn)換完成?如何啟動(dòng)如何啟動(dòng)ADCADC轉(zhuǎn)換?轉(zhuǎn)換? A/DA/D轉(zhuǎn)換的數(shù)據(jù)可以通過(guò)中斷或查詢的方式來(lái)訪問,轉(zhuǎn)換的數(shù)據(jù)可以通過(guò)中斷或

9、查詢的方式來(lái)訪問,如果是中斷方式,則全部的轉(zhuǎn)換時(shí)間(從如果是中斷方式,則全部的轉(zhuǎn)換時(shí)間(從A/DA/D轉(zhuǎn)換的轉(zhuǎn)換的開始到數(shù)據(jù)讀出)要更長(zhǎng)。開始到數(shù)據(jù)讀出)要更長(zhǎng)。 如果是查詢方式,則要檢測(cè)如果是查詢方式,則要檢測(cè)ADCCON15ADCCON15(轉(zhuǎn)換結(jié)束標(biāo)(轉(zhuǎn)換結(jié)束標(biāo)志位)來(lái)確定從志位)來(lái)確定從ADCDATADCDAT寄存器讀取的數(shù)據(jù)是否是最新寄存器讀取的數(shù)據(jù)是否是最新的轉(zhuǎn)換數(shù)據(jù)。的轉(zhuǎn)換數(shù)據(jù)。 A/DA/D轉(zhuǎn)換開始的一種方式是將轉(zhuǎn)換開始的一種方式是將ADCCON0ADCCON0置為置為1 1, 另一種方式是將另一種方式是將ADCCON1ADCCON1置為置為1 1,這時(shí)只要有讀轉(zhuǎn)換,這時(shí)只要有

10、讀轉(zhuǎn)換數(shù)據(jù)的信號(hào),數(shù)據(jù)的信號(hào),A/DA/D轉(zhuǎn)換就會(huì)同步開始。轉(zhuǎn)換就會(huì)同步開始。A/DA/D轉(zhuǎn)換的流程圖轉(zhuǎn)換的流程圖2 2、ADCADC接口編程接口編程例題例題3 3、ADCADC轉(zhuǎn)換轉(zhuǎn)換定義與定義與AD轉(zhuǎn)換相關(guān)的寄存器轉(zhuǎn)換相關(guān)的寄存器定義如下:#define rADCCON(*(volatile unsigned*)0 x58000000) /ADC控制寄存器#define rADCTSC(*(volatile unsigned*)0 x58000004) /ADC觸摸屏控制寄存器#define rADCDLY(*(volatile unsigned*)0 x58000008) /ADC啟動(dòng)或間隔延時(shí)寄存器#define rADCDAT0(*(volatile unsigned*)0 x5800000c)/ADC轉(zhuǎn)換數(shù)據(jù)寄存器0#define rADCDAT1(*(volati1e unsigned*)0 x58000010)/ADC轉(zhuǎn)換數(shù)據(jù)寄存器 對(duì)對(duì)A/DA/D轉(zhuǎn)換器進(jìn)行初始化轉(zhuǎn)換器進(jìn)行初始化程序中的參數(shù)ch表示所選擇的通道號(hào),程序如下:void AD_Init(unsigned char ch) rADCDLY=100; /ADC啟動(dòng)或間隔延時(shí) rADCTSC=0; /選擇ADC模式 rADCCON=(114)|(496)|(ch3)|(02)|(07) return 0;

溫馨提示

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

評(píng)論

0/150

提交評(píng)論