新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ATmega16 A/D的相關寄存器

        ATmega16 A/D的相關寄存器

        作者: 時間:2016-11-26 來源:網絡 收藏
        1.ADMUX——ADC多工選擇寄存器

        REFS1REFS0ADLARMUX4MUX3MUX2MUX1MUX0

        本文引用地址:http://www.104case.com/article/201611/321709.htm

        位 7:6——REFS[1:0]:參考電壓選擇
        通過這2位可以選擇參考電壓。如果在轉換過程中改變了它們的設置,只有等到當前轉換結束(ADCSRA寄存器的ADIF置位)之后改變才會起作用。如果在AREF引腳上施加了外部參考電壓,內部參考電壓就不能被選用了。

        REFS1REFS0參考電壓選擇
        00AREF,內部Vref關閉
        01AVCC,AREF引腳外加濾波電容
        10保留
        112.56V的片內基準電壓源,AREF引腳外加濾波電容

        位 5——ADLAR:ADC轉換結果左對齊
        ADLAR影響ADC轉換結果在ADC數據寄存器中的存放形式。ADLAR置位時轉換結果為左對齊,否則為右對齊。ADLAR的改變將立即影響ADC數據寄存器的內容,不論是否有轉換正在進行。

        位4:0–MUX[4:0]:模擬通道與增益選擇位
        通過這幾位的設置,可以對連接到ADC的模擬輸入進行選擇。也可對差分通道增益進行選擇。如果在轉換過程中改變這幾位的值,那么只有到轉換結束(ADCSRA寄存器的ADIF置位)后新的設置才有效。
        MUX[4..0]

        00000ADC0
        00001ADC1
        00010ADC2
        00011ADC3
        00100ADC4
        00101ADC5
        00110ADC6
        00111ADC7

        2.ADCSRA——ADC控制和狀態寄存器A

        ADENADSCADATEADIFADIEADPS2ADPS1ADPS0

        位7——ADEN:ADC使能
        ADEN置位即啟動ADC,否則ADC功能關閉。在轉換過程中關閉ADC將立即中止正在進行的轉換。
        位 6——ADSC:ADC開始轉換
        在單次轉換模式下,ADSC置位將啟動一次ADC轉換。在連續轉換模式下,ADSC置位將啟動首次轉換。第一次轉換(在ADC啟動之后置位ADSC,或者在使能ADC的同時置位ADSC)需要25個ADC時鐘周期,而不是正常情況下的13個。第一次轉換執行ADC初始化的工作。在轉換進行過程中讀取ADSC的返回值為"1”,直到轉換結束。ADSC清零不產生任何動作。
        位5——ADATE:ADC自動觸發使能
        ADATE置位將啟動ADC自動觸發功能。觸發信號的上跳沿啟動ADC轉換。觸發信號源通過SFIOR寄存器的ADC觸發信號源選擇位ADTS設置。
        位4——ADIF:ADC中斷標志
        在ADC轉換結束,且數據寄存器被更新后,ADIF置位。如果ADIE及SREG中的全局中斷使能位I也置位,ADC轉換結束中斷服務程序即得以執行,同時ADIF硬件清零。此外,還可以通過向此標志寫1來清ADIF。要注意的是,如果對ADCSRA進行讀-修改-寫操作,那么待處理的中斷會被禁止。這也適用于SBI及CBI指令。
        位 3——ADIE:ADC中斷使能
        若ADIE及SREG的位I置位,ADC轉換結束中斷即被使能。
        位 2:0——ADPS[2:0]:ADC預分頻器選擇位
        由這3位來確定XTAL與ADC輸入時鐘與CPU時鐘之間的分頻因子。

        ADPS2ADPS1ADPS0分頻因子
        0002
        0012
        0104
        0118
        10016
        10132
        11064
        111128

        3.ADCL、ADCH——ADC數據寄存器

        4.SFIOR——特殊功能IO寄存器

        ADTS2ADTS1ADTS0ACMEPUDPSR2PSR10

        位 7:5–ADTS[2:0]:ADC自動觸發源
        若ADCSRA寄存器的ADATE置位,ADTS的值將確定觸發ADC轉換的觸發源;否則,ADTS的設置沒有意義。被選中的中斷標志在其上升沿觸發ADC轉換。從一個中斷標志清零的觸發源切換到中斷標志置位的觸發源會使觸發信號產生一個上升沿。如果此時ADCSRA寄存器的ADEN為1,ADC轉換即被啟動。切換到連續運行模式(ADTS[2:0]=0)
        時,即使ADC中斷標志已經置位也不會產生觸發事件。

        ADTS2ADTS1ADTS0觸發源
        000連續轉換模式
        001模擬比較器
        010外部中斷請求0
        011定時器/計數器0比較匹配
        100定時器/計數器0溢出
        101定時器/計數器比較匹配B
        110定時器/計數器1溢出
        111定時器/計數器1捕捉事件



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 连江县| 芜湖市| 勃利县| 揭西县| 应城市| 张北县| 长岛县| 丁青县| 基隆市| 友谊县| 井冈山市| 卫辉市| 沐川县| 隆林| 凤台县| 巴林左旗| 鄂尔多斯市| 芒康县| 佛山市| 凤山县| 定南县| 汉寿县| 枞阳县| 楚雄市| 鄂托克旗| 墨脱县| 阿拉善右旗| 威信县| 喀喇沁旗| 博白县| 平乡县| 正宁县| 嘉善县| 大姚县| 阿克苏市| 旌德县| 广饶县| 峡江县| 靖安县| 无为县| 乌拉特后旗|