ATmega16 A/D的相關寄存器
位 7:6——REFS[1:0]:參考電壓選擇
通過這2位可以選擇參考電壓。如果在轉換過程中改變了它們的設置,只有等到當前轉換結束(ADCSRA寄存器的ADIF置位)之后改變才會起作用。如果在AREF引腳上施加了外部參考電壓,內(nèi)部參考電壓就不能被選用了。
REFS1
位 5——ADLAR:ADC轉換結果左對齊
ADLAR影響ADC轉換結果在ADC數(shù)據(jù)寄存器中的存放形式。ADLAR置位時轉換結果為左對齊,否則為右對齊。ADLAR的改變將立即影響ADC數(shù)據(jù)寄存器的內(nèi)容,不論是否有轉換正在進行。
位4:0–MUX[4:0]:模擬通道與增益選擇位
通過這幾位的設置,可以對連接到ADC的模擬輸入進行選擇。也可對差分通道增益進行選擇。如果在轉換過程中改變這幾位的值,那么只有到轉換結束(ADCSRA寄存器的ADIF置位)后新的設置才有效。
MUX[4..0]
2.ADCSRA——ADC控制和狀態(tài)寄存器A
位7——ADEN:ADC使能
ADEN置位即啟動ADC,否則ADC功能關閉。在轉換過程中關閉ADC將立即中止正在進行的轉換。
位 6——ADSC:ADC開始轉換
在單次轉換模式下,ADSC置位將啟動一次ADC轉換。在連續(xù)轉換模式下,ADSC置位將啟動首次轉換。第一次轉換(在ADC啟動之后置位ADSC,或者在使能ADC的同時置位ADSC)需要25個ADC時鐘周期,而不是正常情況下的13個。第一次轉換執(zhí)行ADC初始化的工作。在轉換進行過程中讀取ADSC的返回值為"1”,直到轉換結束。ADSC清零不產(chǎn)生任何動作。
位5——ADATE:ADC自動觸發(fā)使能
ADATE置位將啟動ADC自動觸發(fā)功能。觸發(fā)信號的上跳沿啟動ADC轉換。觸發(fā)信號源通過SFIOR寄存器的ADC觸發(fā)信號源選擇位ADTS設置。
位4——ADIF:ADC中斷標志
在ADC轉換結束,且數(shù)據(jù)寄存器被更新后,ADIF置位。如果ADIE及SREG中的全局中斷使能位I也置位,ADC轉換結束中斷服務程序即得以執(zhí)行,同時ADIF硬件清零。此外,還可以通過向此標志寫1來清ADIF。要注意的是,如果對ADCSRA進行讀-修改-寫操作,那么待處理的中斷會被禁止。這也適用于SBI及CBI指令。
位 3——ADIE:ADC中斷使能
若ADIE及SREG的位I置位,ADC轉換結束中斷即被使能。
位 2:0——ADPS[2:0]:ADC預分頻器選擇位
由這3位來確定XTAL與ADC輸入時鐘與CPU時鐘之間的分頻因子。
ADPS2
3.ADCL、ADCH——ADC數(shù)據(jù)寄存器
4.SFIOR——特殊功能IO寄存器
位 7:5–ADTS[2:0]:ADC自動觸發(fā)源
若ADCSRA寄存器的ADATE置位,ADTS的值將確定觸發(fā)ADC轉換的觸發(fā)源;否則,ADTS的設置沒有意義。被選中的中斷標志在其上升沿觸發(fā)ADC轉換。從一個中斷標志清零的觸發(fā)源切換到中斷標志置位的觸發(fā)源會使觸發(fā)信號產(chǎn)生一個上升沿。如果此時ADCSRA寄存器的ADEN為1,ADC轉換即被啟動。切換到連續(xù)運行模式(ADTS[2:0]=0)
時,即使ADC中斷標志已經(jīng)置位也不會產(chǎn)生觸發(fā)事件。
ADTS2
評論