久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

AVR 單片機(jī)學(xué)習(xí)(十)ATmega16 ADC

作者:zww 1988   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年04月18日   【字體:
模數(shù)轉(zhuǎn)換技術(shù)概述
  • 性能指標(biāo):速度與精度
  • AVR 的模數(shù)轉(zhuǎn)換器





  •  

    轉(zhuǎn)換速率:每秒鐘采樣的次數(shù)。常用單位: SPS(每秒次) KSPS(每秒千次) MSPS(每秒百萬(wàn)次)。越快越好。
    轉(zhuǎn)換精度:轉(zhuǎn)換結(jié)果的有效位數(shù)(二進(jìn)制)。單位:位
    AVR的片上ADC:
    最高轉(zhuǎn)換速率:15kSPS
    最高轉(zhuǎn)換精度:10位

    AVR片上ADC的特點(diǎn):
    10 位 精度
    0.5 LSB 的非線性度
    ± 2 LSB 的絕對(duì)精度
    65 - 260 μs 的轉(zhuǎn)換時(shí)間
    最高分辨率時(shí)采樣率高達(dá)15 kSPS
    8 路復(fù)用的單端輸入通道
    7 路差分輸入通道
    2 路可選增益為10x 與200x 的差分輸入通道
    可選的左對(duì)齊ADC 讀數(shù)
    0 - VCC 的 ADC 輸入電壓范圍
    可選的2.56V ADC 參考電壓
    連續(xù)轉(zhuǎn)換或單次轉(zhuǎn)換模式
    通過(guò)自動(dòng)觸發(fā)中斷源啟動(dòng)ADC 轉(zhuǎn)換
    ADC 轉(zhuǎn)換結(jié)束中斷
    基于睡眠模式的噪聲抑制器
    使用流程:
    1.初始化相關(guān)寄存器
    2.讀取轉(zhuǎn)換結(jié)果
    3.平滑濾波
    4.進(jìn)行單位制變換



     







    轉(zhuǎn)換結(jié)果默認(rèn)是右對(duì)齊的。所以高6位是補(bǔ)0的。  電壓增益一般用不到。

     

    相關(guān)寄存器

    第一個(gè)寄存器:ADMUX

    這個(gè)是多工選擇寄存器,ADMUX  7 6  是參考電壓源選擇  ,有表

    一般AVCC不穩(wěn)定 所以一般不用 一般用 1  內(nèi)部2.56V

    第5位:是轉(zhuǎn)換結(jié)果 左對(duì)齊  默認(rèn)是右對(duì)齊   左對(duì)齊就是放在高10位  低6位是補(bǔ)0的。

    一般左對(duì)齊應(yīng)用場(chǎng)合是只需要8位的精度,就左對(duì)齊 取出高半個(gè)字節(jié) 就支取了8位精度。



    第4位:模擬通道與增益選擇位有個(gè)列表 不同的組合 和增益,而我們現(xiàn)在只需要單端輸入所以 都設(shè)置為0.

     







    第2個(gè)寄存器:ADC 控制與狀態(tài)寄存器


    第7位:ADC 使能  ADEN 置位 就啟動(dòng)ADC

    第6位:ADC 開(kāi)始轉(zhuǎn)換,啟動(dòng)ADC開(kāi)始進(jìn)行轉(zhuǎn)換







     






    第5位:自動(dòng)觸發(fā)使能,很多時(shí)候需要循環(huán)采樣模擬信號(hào),自動(dòng)觸發(fā)采樣很有用的,比如,用定時(shí)器100MS 采樣一次。觸發(fā)源下面會(huì)有講。

    第4位:ADC中斷標(biāo)志。 轉(zhuǎn)換結(jié)束之后 這個(gè)位會(huì)置位, 

    第3位:ADC 中斷使能

    第2:0位:預(yù)分頻選擇位  是因?yàn)樗枰粋(gè)時(shí)鐘   看那前面轉(zhuǎn)換時(shí)序圖194頁(yè)下圖 

    有個(gè)表可以晶振時(shí)鐘 2分頻到128分頻。

    50----200KHZ的時(shí)鐘 獲得精度。低于10位 可以高于200KHZ

    注意:正常轉(zhuǎn)換需要13個(gè)ADC(跟上圖有點(diǎn)重復(fù)) 200KHZ /13 = 15.384 最高也得 正常就按200KHZ /13就可以


    下面我們計(jì)算下 16MHZ的時(shí)候它能給ADC 提供一個(gè)怎樣范圍的時(shí)鐘。

    最大 16000 000  /128  = 125.000 也就是說(shuō)  ADC時(shí)鐘最低是 125KHZ

    單次轉(zhuǎn)換速率   125/13= 9.6153846153846153846153846153846   9.615K 這個(gè)單位

    超過(guò)200KHZ 精度就會(huì)降低

    第3個(gè)寄存器:ADCH  ADCL 兩個(gè)8位寄存器

    這個(gè)寄存器分兩種情況  就是 ADLAR 是左對(duì)齊還是右對(duì)齊決定





    第4個(gè)寄存器:特殊功能IO寄存器

    這個(gè)寄存器不是專屬于ADC轉(zhuǎn)換寄存器的。只有7、6、5 這3位跟ADC有關(guān)。決定ADC觸發(fā)源

     



     全是0  是連續(xù)轉(zhuǎn)換模式。就是 轉(zhuǎn)換率 125/13 大約9.15

    如果連續(xù)模式  就是轉(zhuǎn)換結(jié)束 立即進(jìn)入中斷 然后中斷又立即啟動(dòng)下次轉(zhuǎn)換。所以轉(zhuǎn)換ADC轉(zhuǎn)換頻率等于進(jìn)入中斷的頻率。

    模擬比較器 就設(shè)計(jì)到自帶的模擬比較器的功能

    外部中斷0  來(lái)一個(gè)外部中斷 觸發(fā)一次轉(zhuǎn)換

    下面都是定時(shí)器、計(jì)數(shù)器的中斷。

    最常用的就是連續(xù)轉(zhuǎn)換模式。

    adc.h  key.h 是自己編寫(xiě)的頭文件

     

    先將  ADC采樣到的數(shù)據(jù)緩沖起來(lái)   8個(gè)結(jié)果都暫存起來(lái)

     

    均值濾波  read_adc() 返回read_BUF

    voltile  每次都從寄存器讀數(shù)據(jù)不是從緩存讀

    STATIC這個(gè)變量盡在本文件有效

    static  voltile unsigned int adc_buffer[MAX_ADC_BUFFER]

    MAX_ADC_BUFFER 是宏   9

     

    void int_adc(void)

    {

       ADUMX |= (1<< 看不清)|(1<<看不清  //是參考電壓源 2.56V

       ADCSRA  |= (1<< )|(1<< )|(1<< )|(1<< )   //  ADC使能 ADC 考試轉(zhuǎn)換  連續(xù)轉(zhuǎn)換 中斷使能 128分頻(最后3個(gè)置1)

    }

    unsigned int read_adc(void){

        return  adc_buff(0);

    }

     

    //ADC 轉(zhuǎn)換完成中斷

    SIGNAL(SIG_ADC){

       unsigned char i;

       unsigned int temp sum =0;

      temp =ADC ;//ADC數(shù)據(jù)給了temp  注意這個(gè)結(jié)果是右對(duì)齊的因?yàn)槲覀儧](méi)有置位 左對(duì)齊

      for(i=1;i

         //這里是一個(gè)求和操作

       adc_fuffer= adc_buffer[i+1];//順序的將元素向前移動(dòng)一個(gè)位置

       sum += ADC_BUFFER[i];  //累加起來(lái)

      }

    //  將本次轉(zhuǎn)換的結(jié)果的值  保存在最末的位置

    adc_buffer() = temp;

    sum + = adc_buffer(maxacdbuffer -1);//本次的結(jié)果 8次的求和

    下面這個(gè)是除以8 相當(dāng)于 右移動(dòng)3位

    adc_buffer[[0] = adcbuffer >> 3

    //這樣就完成對(duì)ADC 轉(zhuǎn)換的結(jié)果進(jìn)行了 平滑濾波

    }

    關(guān)閉窗口

    相關(guān)文章

    主站蜘蛛池模板: 久久一日本道色综合久久 | 欧美福利视频 | 欧美色欧美亚洲另类七区 | 剑来高清在线观看 | 天天操天天干天天透 | 国产中文字幕在线 | 日韩成人在线免费观看 | 日韩中文字幕av | 亚洲人成一区二区三区性色 | 国产专区免费 | 一区二区三区av | 成年人国产在线观看 | 色永久 | 不卡一区二区三区四区 | 另类专区成人 | 国产精品国产亚洲精品看不卡15 | 人人操日日干 | 国产精品国产精品国产专区不片 | 欧美激情精品久久久久 | 日本精品免费在线观看 | 99精品视频一区二区三区 | 久久亚洲国产 | 午夜小电影 | 波多野结衣中文字幕一区二区三区 | 欧美性网站 | 精品国产一区二区在线 | 真人女人一级毛片免费播放 | 欧洲性生活视频 | 欧美日韩福利视频 | 成人做爰www免费看 午夜精品久久久久久久久久久久 | 久久久91精品国产一区二区精品 | 1000部精品久久久久久久久 | 国产欧美视频一区二区 | 一区精品国产欧美在线 | 久久免费资源 | 国产91成人 | 亚洲福利一区 | 99精品免费在线观看 | 欧美日韩视频在线播放 | 在线成人免费视频 | 久久伊人亚洲 |