<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > AVR單片機ADC的應用

          AVR單片機ADC的應用

          作者: 時間:2013-05-11 來源:網(wǎng)絡 收藏

          的應用

          1.數(shù)模轉(zhuǎn)換的基礎知識

          ()基本上是一個比例上的問題,即由產(chǎn)生的數(shù)字值跟輸入模擬量與轉(zhuǎn)換器量程的比值有關的。轉(zhuǎn)換關系如下:

          Vin/Vfullscale=X/(2N-1)  其中X是數(shù)字輸出,N是數(shù)字輸出的位數(shù)(ADC的位數(shù)),Vin是模擬輸入量的值,Vfullscale是模擬輸入量的最大值。

          數(shù)模轉(zhuǎn)換的轉(zhuǎn)換精度計算:

          Vresolution=Vfullscale/((2N-1)

          2.AVR微控器的ADC介紹

          AVR微控器的ADC具有兩個ADC寄存器:ADC控制與狀態(tài)寄存器ADCSR控制ADC的運行;ADC多路復用選擇器ADMUX,控制8個測量的模擬量輸入。

          1.jpg

          為了ADC以最大的精度操作時,要求使用50HZ---200K HZ之間的時鐘頻率,選擇合適的比例分頻因子以獲得50HZ---200KHZ的轉(zhuǎn)換頻率。由于ADC的速度比較慢,如果處理器在ADC轉(zhuǎn)換數(shù)據(jù)時處于等待狀態(tài),會浪費時間,則ADC通常采用中斷模式。ADC初始化:

          (1) 設置ADCSR的最低三位,確定分頻因子

          (2) 設置ADIE為1,打開中斷模式

          (3) 設置ADEN為高電平,使ADC有效

          (4)  設置ADSC,以馬上開始轉(zhuǎn)換

          3.應用

          系統(tǒng)功能:當在模擬通道3輸入電壓超過3V時,系統(tǒng)點亮紅色LED;當輸入電壓小于2V時,點亮黃色LED,當輸入電壓在2V--3V間,點亮綠色LED.

          硬件連接:三個LED分別接至AT908535的PORD口的PORTD.0、 PORTD.1、PORTD.2 AVR微控制器的ADC外設會根據(jù)所使用的具體微控制器而有所不同,所有的ADC都對VCC連接中的引腳電壓有噪聲抑制要求,有些擁有內(nèi)置的噪聲消除器,有些則擁用在內(nèi)部控制Vref的能力,使用ADC時需要查看相關微控制器的手冊。

          程序代碼:

          #i nclude90s9535.h>

          #define LEDS PORTD

          #define red 0xfe

          #define yellow 0xfd

          #define green 0xfc

          #define uchar unsigned char

          interrupt[ADC_INT] void adc_isr(void)

          {

          uchar adc_data; //variable for ADC result

          adc_data=ADCW; //read all 10bits into variable

          if(adc_data>(3*1023)/5)

          LEDS=red;

          else(adc_data(2*1023)/5)

          LEDS=yellow;

          else

          LEDS=green;

          ADCSR=ADCSR|0x40; //start the next conversion

          }

          void main()

          {

          DDRD=0x07; //least signifcant 3 bits for output

          ADMUX=0x03; //select to read only channel 3

          ADCSR=0xCE; //ADC中斷,64分頻

          #asm("sei")

          while(1); //等待ADC中斷產(chǎn)生

          }



          評論


          相關推薦

          技術(shù)專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();