《智能產(chǎn)品設(shè)計(jì)與應(yīng)用》課件-AD轉(zhuǎn)換_第1頁
《智能產(chǎn)品設(shè)計(jì)與應(yīng)用》課件-AD轉(zhuǎn)換_第2頁
《智能產(chǎn)品設(shè)計(jì)與應(yīng)用》課件-AD轉(zhuǎn)換_第3頁
《智能產(chǎn)品設(shè)計(jì)與應(yīng)用》課件-AD轉(zhuǎn)換_第4頁
《智能產(chǎn)品設(shè)計(jì)與應(yīng)用》課件-AD轉(zhuǎn)換_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

智能產(chǎn)品設(shè)計(jì)與應(yīng)用AD轉(zhuǎn)化應(yīng)用案例導(dǎo)入01/PART

ONEAD轉(zhuǎn)化應(yīng)用什么是ADC模擬/數(shù)字轉(zhuǎn)換通常簡(jiǎn)寫為ADC,是將輸入的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),各種被測(cè)控的物理量(如:速度、壓力、溫度、光照強(qiáng)度、磁場(chǎng)等)是一些連續(xù)變化的物理量,傳感器將這些物理量轉(zhuǎn)換成與之相對(duì)應(yīng)的電壓和電流就是模擬信號(hào)。單片機(jī)系統(tǒng)只能接收數(shù)字信號(hào),要處理這些信號(hào)就必須把他們轉(zhuǎn)換成數(shù)字信號(hào)。模擬/數(shù)字轉(zhuǎn)換是數(shù)字測(cè)控系統(tǒng)中必須的信號(hào)轉(zhuǎn)換。AD轉(zhuǎn)化應(yīng)用A/D轉(zhuǎn)換的基本工作原理將時(shí)間上連續(xù)變化的模擬量轉(zhuǎn)化為脈沖有無的數(shù)字量,這一過程就叫做數(shù)字化,實(shí)現(xiàn)數(shù)字化的關(guān)鍵設(shè)備是ADC。ADC:數(shù)模轉(zhuǎn)換器,將時(shí)間和幅值連續(xù)的模擬量轉(zhuǎn)化為時(shí)間和幅值離散的數(shù)字量,A/D轉(zhuǎn)換一般要經(jīng)過采樣、保持、量化和編碼4個(gè)過程。AD轉(zhuǎn)化應(yīng)用CC2530的A/D轉(zhuǎn)換模塊CC2530的ADC模塊支持最高14位二進(jìn)制的模擬數(shù)字轉(zhuǎn)換,具有12位的有效數(shù)據(jù)位,它包括一個(gè)模擬多路轉(zhuǎn)換器,具有8個(gè)各自可配置的通道,以及一個(gè)參考電壓發(fā)生器。AD轉(zhuǎn)化應(yīng)用該ADC模塊有如下主要特征:可選取的抽取率,設(shè)置分辨率(7~12位)。8個(gè)獨(dú)立的輸入通道,可接收單端或差分信號(hào)。參考電壓可選為內(nèi)部單端、外部單端、外部差分或AVDD5。單通道轉(zhuǎn)換結(jié)束可產(chǎn)生中斷請(qǐng)求。序列轉(zhuǎn)換結(jié)束可發(fā)出DMA觸發(fā)。可將片內(nèi)溫度傳感器作為輸入。電池電壓測(cè)量功能。CC2530的A/D轉(zhuǎn)換模塊AD轉(zhuǎn)化應(yīng)用端口0引腳可以配置為ADC輸入端,依次為AIN0~AIN7:可以把輸入配置為單端輸入或差分輸入。差分輸入對(duì):AIN0~AIN1、AIN2~AIN3、AIN4~AIN5、AIN6~AIN7。片上溫度傳感器的輸出也可以作為ADC的輸入用于測(cè)量芯片的溫度。ADC模塊的信號(hào)輸入AD轉(zhuǎn)化應(yīng)用端口0引腳可以配置為ADC輸入端,依次為AIN0~AIN7:可以將一個(gè)對(duì)應(yīng)AVDD5/3的電壓作為ADC輸入,實(shí)現(xiàn)電池電壓監(jiān)測(cè)。負(fù)電壓和大于VDD的電壓都不能用于這些引腳。單端電壓輸入AIN0~AIN7,以通道號(hào)碼0~7表示;四個(gè)差分輸入對(duì)則以通道號(hào)碼8~1表示;溫度傳感器的通道號(hào)碼為14;AVDD5/3電壓輸入的通道號(hào)碼為15。ADC模塊的信號(hào)輸入AD轉(zhuǎn)化應(yīng)用序列ADC轉(zhuǎn)換:可以按序列進(jìn)行多通道的ADC轉(zhuǎn)換,并把結(jié)果通過DMA傳送到存儲(chǔ)器,而不需要CPU任何參與。單通道ADC轉(zhuǎn)換:在程序設(shè)計(jì)中,通過寫ADCCON3寄存器觸發(fā)單通道ADC轉(zhuǎn)換,一旦寄存器被寫入,轉(zhuǎn)換立即開始。參考電壓:內(nèi)部生成的電壓、AVDD5引腳、適用于AIN7輸入引腳的外部電壓,或者適用于AIN6~AIN7輸入引腳的差分電壓。

ADC相關(guān)的幾個(gè)概念A(yù)D轉(zhuǎn)化應(yīng)用轉(zhuǎn)換結(jié)果:數(shù)字轉(zhuǎn)換結(jié)果以2的補(bǔ)碼形式表示。對(duì)于單端,結(jié)果總是正的。對(duì)于差分配置,兩個(gè)引腳之間的差分被轉(zhuǎn)換,可以是負(fù)數(shù)。當(dāng)ADCCON1.EOC設(shè)置為1時(shí),數(shù)字轉(zhuǎn)換結(jié)果可以獲得,且結(jié)果總是駐留在ADCH和ADCL寄存器組合的MSB段中。中斷請(qǐng)求:通過寫ADCCON3觸發(fā)一個(gè)單通道轉(zhuǎn)換完成時(shí),將產(chǎn)生一個(gè)中斷,而完成一個(gè)序列轉(zhuǎn)換時(shí),是不產(chǎn)生中斷的。當(dāng)每完成一個(gè)序列轉(zhuǎn)換,ADC將產(chǎn)生一個(gè)DMA觸發(fā)。寄存器:ADC有兩個(gè)數(shù)據(jù)寄存器:ADCL和ADCH;三個(gè)控制寄存器:ADCCON1、ADCCON2、ADCCON3;分別用來配置ADC并返回轉(zhuǎn)換結(jié)果。ADC相關(guān)的幾個(gè)概念A(yù)D轉(zhuǎn)化應(yīng)用任務(wù)7.1以查詢方式循環(huán)采樣外部電壓USART0選擇UART模式,波特率9600,I/O引腳映射到備用位置1。設(shè)計(jì)看門狗初始化函數(shù),設(shè)置為定時(shí)器模式,定時(shí)間隔為1秒。將光敏傳感模塊或可調(diào)電壓模塊接到擴(kuò)展口上,信號(hào)輸出至AIN6。在主函數(shù)中,每隔1秒以查詢方式對(duì)AIN6通道進(jìn)行單次采樣。獲得采樣結(jié)果后,形成字符串“AIN6的采樣結(jié)果:xxxx",通過串口發(fā)送到上位機(jī)。LED1為采樣指示燈,在每次AD轉(zhuǎn)換前點(diǎn)亮,完成結(jié)果發(fā)送后熄滅。CC2530模塊P1_0P0_6LED1AIN6AD轉(zhuǎn)化應(yīng)用什么是ADC?模擬/數(shù)字轉(zhuǎn)換通常簡(jiǎn)寫為ADC,是將輸入的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),各種被測(cè)控的物理量(如:速度、壓力、溫度、光照強(qiáng)度、磁場(chǎng)等)是一些連續(xù)變化的物理量,傳感器將這些物理量轉(zhuǎn)換成與之相對(duì)應(yīng)的電壓和電流就是模擬信號(hào)。單片機(jī)系統(tǒng)只能接收數(shù)字信號(hào),要處理這些信號(hào)就必須把他們轉(zhuǎn)換成數(shù)字信號(hào)。模擬/數(shù)字轉(zhuǎn)換是數(shù)字測(cè)控系統(tǒng)中必須的信號(hào)轉(zhuǎn)換。對(duì)于CC2530的ADC模塊,端口P0引腳可以配置為ADC輸入端,依次為AIN0~AIN7光敏傳感器是利用光敏元件將光信號(hào)轉(zhuǎn)換為電信號(hào)的傳感器。AD轉(zhuǎn)化應(yīng)用光敏傳感器無光照:光敏電阻值很大(暗電阻),電路中電流?。ò惦娏鳎?。有光照:光敏電阻收到一定波長(zhǎng)范圍的光照時(shí),他的阻值(亮電阻)急劇減少,電路中電流增大。AD轉(zhuǎn)化應(yīng)用采樣外部電壓結(jié)果AD轉(zhuǎn)化應(yīng)用寄存器配置詳情寄存器名功能賦值引腳配置APCFG選擇引腳作為一個(gè)ADC輸入APCFG|=0x40;//P0.6單通道的ADC轉(zhuǎn)換配置ADCCON3參考電壓、抽取率、單通道選擇啟動(dòng)轉(zhuǎn)換ADCCON3=(0x80|0x30|0x06)AVDD電壓,512抽取率,AIN6通道轉(zhuǎn)換結(jié)束標(biāo)志ADDCCON1.70:ADC轉(zhuǎn)換未完成1:ADC轉(zhuǎn)換完成WHILE((ADDCCON&0X80)!=0X80);//轉(zhuǎn)換未完成,等待數(shù)據(jù)寄存器ADCH(高位)存放轉(zhuǎn)換后的數(shù)據(jù)的高8位ADCHADCL(低位)存放轉(zhuǎn)換后的數(shù)據(jù)的第8位(最低2位無效)ADCL初始化配置獲取數(shù)據(jù)啟動(dòng)轉(zhuǎn)換轉(zhuǎn)換后的數(shù)據(jù)等待轉(zhuǎn)換完成AD轉(zhuǎn)化應(yīng)用死循環(huán)while(1)串口初始化32M時(shí)鐘初始化主函數(shù)main引腳初始化ADC初始化每隔1SunsignedintAdc_Value;//定義一個(gè)存放結(jié)果的變量ADC轉(zhuǎn)換函數(shù)點(diǎn)亮LED1設(shè)置并啟動(dòng)ADC,ADCCON3等待轉(zhuǎn)換完成ADCCON1.7Adc_Value=ADCH;//取高8位adc_value=(adc_value<<8)|ADCL;//移動(dòng)高8位,再取低8位adc_value=adc_value>>3;//去掉低3位sprint…//打包數(shù)據(jù)Send_String(str);//將結(jié)果發(fā)給電腦LED1=1;//滅看門狗中斷函數(shù)清除中斷標(biāo)志調(diào)用ADC轉(zhuǎn)換函數(shù)看門狗初始化AD轉(zhuǎn)化應(yīng)用voidInit_ADC()//ADC轉(zhuǎn)換初始化{APCFG|=0x40;//0100,0000,//控制P0.6做模擬輸入通道}主程序main:

各種初始化…while(1){}voidStart_ADC_Get_Value()//獲取ADC轉(zhuǎn)換值{LED1=0;//亮ADCCON3=(0X80|0X30|0X06);//啟動(dòng)ADC轉(zhuǎn)換while((ADCCON1&0X80)!=0X80);//等待ADC轉(zhuǎn)換完成adc_value=ADCH;//取高8位adc_value=(adc_value<<8)|ADCL;//取低8位adc_value=adc_value>>2;//去掉低2位sprintf((char*)str,"AIN6的采樣結(jié)果是:%d\r\n",adc_value);Send_String(str);//將結(jié)果通過串口發(fā)送給電腦LED1=1;//滅}看門狗定時(shí)中斷服務(wù)函數(shù)#pragmavector=WDT_VECTOR__interruptvoidService_ADC(){WDTIF=0;//清除看門狗標(biāo)志位Start_ADC_Get_Value();}AD轉(zhuǎn)化應(yīng)用10位有效數(shù)據(jù)210=102310位,>>512位,>>310位5位電壓值=(每份值)*采樣份數(shù)=(參考電壓/拆分份數(shù))*采樣份數(shù)AD轉(zhuǎn)化應(yīng)用floatadc_volt;adc_value=ADCH;

adc_value=(adc_value<<8)|ADCL;

adc_value=adc_value>>3;//3:12位,5:10位

adc_volt=(3.3/1023)*adc_value;

sprintf((char*)str,"AIN6的采樣結(jié)果是:%d,電壓值是:%.2fV\r\n",adc_value,adc_volt);AD轉(zhuǎn)化應(yīng)用寄存器配置詳情寄存器名功能賦值引腳配置APCFG選擇引腳作為一個(gè)ADC輸入APCFG|=0x40;//P0.6單通道的ADC轉(zhuǎn)換配置ADCCON3參考電壓、抽取率、單通道選擇啟動(dòng)轉(zhuǎn)換ADCCON3=(0x80|0x30|0x06)AVDD電壓,512抽取率,AIN6通道轉(zhuǎn)換結(jié)束標(biāo)志ADDCCON1.70:ADC轉(zhuǎn)換未完成1:ADC轉(zhuǎn)換完成WHILE((ADDCCON&0X80)!=0X80);//轉(zhuǎn)換未完成,等待數(shù)據(jù)寄存器ADCH(高位)存放轉(zhuǎn)換后的數(shù)據(jù)的高8位ADCHADCL(低位)存放轉(zhuǎn)換后的數(shù)據(jù)的第8位(最低2位無效)ADCL初始化配置獲取數(shù)據(jù)啟動(dòng)轉(zhuǎn)換轉(zhuǎn)換后的數(shù)據(jù)等待轉(zhuǎn)換完成AD轉(zhuǎn)化應(yīng)用寄存器配置詳情寄存器名功能賦值配置寄存器APCFG當(dāng)使用ADC時(shí),端口0的引腳必須配置為ADC模擬輸入。要配置一個(gè)端口0引腳為一個(gè)ADC輸入,APCFG寄存器中相應(yīng)的位必須設(shè)置為1。這個(gè)寄存器的默認(rèn)值是0,選擇端口0為非模擬輸入,即作為數(shù)字I/O端口。

注意:APCFG寄存器的設(shè)置將覆蓋P0SEL的設(shè)置。APCFG|=0x40;//0100,0000,控制P0.6做模擬輸入通道AD轉(zhuǎn)化應(yīng)用寄存器配置詳情寄存器名功

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論