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

下載本文檔

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

文檔簡介

1、第3章 輸入/輸出設(shè)備接口技術(shù) 2021/9/3011、通用I/O端口結(jié)構(gòu)(GPIO)3.1 通用I/O端口2021/9/302GPIO端口: PORT數(shù)據(jù)寄存器、DDR數(shù)據(jù)方向寄存器。輸出:置“1”,輸出數(shù)據(jù);DDR方向寄存器:輸入:置“0”,輸入數(shù)據(jù)。117個(gè)GPIO端口: 1個(gè)23位的Port A; 2個(gè)11位的Port B、H; 3個(gè)16位的Port C、D、E、G; 1個(gè) 8位的Port F。2021/9/3032、接口電路 通過端口D的GPD1、GPD0控制發(fā)光二極管輪流閃爍。2021/9/304端口D控制寄存器寄存器地址描述GPDCON0 x56000030使用位31:0,分別對

2、端口D的16個(gè)引腳進(jìn)行配置。00:輸入; 01:輸出GPDDAT0 x56000034數(shù)據(jù)寄存器,使用位15:0GPDUP0 x56000038配置上拉電阻 1:禁止0:使能GPDCON= GPDCON&0 xfffffff0 | 0 x00000005;GPDDAT= GPDDAT&0 xfffffffC | 0 x00000002;2021/9/305GPDCON= GPDCON&0 xfff0ffff | 0 x00050000;GPDDAT= GPDDAT&0 xeff | 0 x200;例題1,判斷D端口的輸入/輸出狀態(tài)及高低電平2021/9/3063.2 A/D轉(zhuǎn)換器接口 S3C2

3、410A包含 一個(gè)8通道的A/D轉(zhuǎn)換器。 10位分辨率。 采樣電壓范圍是03.3V。 討論1當(dāng)參考電壓為3.3V時(shí),輸入電壓為2.0V,采集的數(shù)字量為多少?1、ADC內(nèi)部結(jié)構(gòu)及ADC控制器相關(guān)寄存器2021/9/307A/D轉(zhuǎn)換器和觸摸屏接口電路2021/9/308(1)ADC控制寄存器(ADCCON)2021/9/309A/D轉(zhuǎn)換的轉(zhuǎn)換時(shí)間計(jì)算。例,PCLK為50MHz,PRESCALER=49;所有10位轉(zhuǎn)換時(shí)間為50 MHz/(49+1)=1MHz 轉(zhuǎn)換時(shí)間為1/(1M/5 cycles)=5us注意:完成一次A/D轉(zhuǎn)換需要5個(gè)時(shí)鐘周期。A/D轉(zhuǎn)換器的最大工作時(shí)鐘為2.5MHz,所以最大

4、的采樣率可以達(dá)到500kbit/s。2021/9/30101、要使A/D 轉(zhuǎn)換器正常啟動(dòng),預(yù)分頻因子取50,應(yīng)向ADCCON寫入什么控制字?01001100010000012、要啟動(dòng)A/D 轉(zhuǎn)換器讀第2號通道數(shù)據(jù)啟動(dòng)(預(yù)分頻因子取16),應(yīng)向ADCCON寫入什么控制字?0100001111010011例題22021/9/3011(2)ADC觸摸屏控制寄存器(ADCTSC) 在正常A/D轉(zhuǎn)換時(shí),AUTO_PST和XY_PST都置成0即可,其他各位與觸摸屏有關(guān),不需要進(jìn)行設(shè)置。(3)ADC轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDAT0和ADCDAT1) 在觸摸屏應(yīng)用中,分別使用ADCDAT0和ADCDAT1保存X

5、位置和Y位置的轉(zhuǎn)換數(shù)據(jù)。對于正常的A/D轉(zhuǎn)換,使用ADCDAT0來保存轉(zhuǎn)換后的數(shù)據(jù)。(4)ADC啟動(dòng)延時(shí)寄存器(ADCDLY)2021/9/3012思考1如何判斷ADC轉(zhuǎn)換完成?如何啟動(dòng)ADC轉(zhuǎn)換?A/D轉(zhuǎn)換的數(shù)據(jù)可以通過中斷或查詢的方式來訪問,如果是中斷方式,則全部的轉(zhuǎn)換時(shí)間(從A/D轉(zhuǎn)換的開始到數(shù)據(jù)讀出)要更長。 如果是查詢方式,則要檢測ADCCON15(轉(zhuǎn)換結(jié)束標(biāo)志位)來確定從ADCDAT寄存器讀取的數(shù)據(jù)是否是最新的轉(zhuǎn)換數(shù)據(jù)。A/D轉(zhuǎn)換開始的一種方式是將ADCCON0置為1, 另一種方式是將ADCCON1置為1,這時(shí)只要有讀轉(zhuǎn)換數(shù)據(jù)的信號,A/D轉(zhuǎn)換就會(huì)同步開始。2021/9/3013A

6、/D轉(zhuǎn)換的流程圖2、ADC接口編程例題3、ADC轉(zhuǎn)換2021/9/3014定義與AD轉(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ù)寄存器 對A/D轉(zhuǎn)換器進(jìn)行初始化程序中的參數(shù)ch表示所選擇的通道號,程序如下:void AD_Init(unsigned char ch) rADCDLY=100; /ADC啟動(dòng)或間隔延時(shí) rADCTSC=0; /選擇ADC模式 rADCCON=(114)|(496)|(ch3)|(02)|(07) return 0; /通道不能大于7 for(i=0; i 16; i+) /為轉(zhuǎn)換準(zhǔn)確,轉(zhuǎn)換16次 rADCCON |=0 x1

溫馨提示

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

評論

0/150

提交評論