版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第6章ATmega單片機的模擬接口及使用方法
模擬比較器A/D轉(zhuǎn)換器PWM發(fā)生器數(shù)字濾波方法6.1模擬比較器
模擬比較器對正極AIN0的值與負極AIN1的值進行比較。當AIN0上的電壓比負極AIN1上的電壓要高時,模擬比較器的輸出ACO即置位。比較器的輸出可用來觸發(fā)定時器/計數(shù)器1的輸入捕捉功能。此外,比較器還可觸發(fā)自己專有的、獨立的中斷。用戶可以選擇比較器是以上升沿、下降沿還是交替變化的邊沿來觸發(fā)中斷。 中斷向量:ANA_COMP_vect圖6.1為比較器及其外圍邏輯電路的框圖。1、特殊功能IO寄存器-SFIORBit3–ACME:模擬比較器多路復用器使能當此位為邏輯“1”,且ADC處于關閉狀態(tài)(ADCSRA寄存器的ADEN為“0”)時,ADC多路復用器為模擬比較器選擇負極輸入。當此位為“0”時,AIN1連接到比較器的負極輸入端。2、模擬比較器控制和狀態(tài)寄存器(ACSR)Bit7–ACD:模擬比較器禁用Bit6–ACBG:選擇模擬比較器的能隙基準源Bit5–ACO:模擬比較器輸出Bit4–ACI:模擬比較器中斷標志Bit3–ACIE:模擬比較器中斷使能Bit2–ACIC:模擬比較器輸入捕捉使能Bits1,0–ACIS1,ACIS0:模擬比較器中斷模式選擇
需要改變ACIS1/ACIS0時,必須清零ACSR寄存器的中斷使能位來禁止模擬比較器中斷。否則有可能在改變這兩位時產(chǎn)生中斷。模擬比較器的應用舉例如圖所示:外部信號由模擬比較器的AIN0輸入,AIN1接至VCC的分壓,取R1=R2,則AIN1的電壓為0.5VCC。當AIN0的電壓大于0.5VCC時,ACSR中的ACO置‘1’;低于時則清‘0’。當AIN0的電壓大于0.5VCC時,LED燈亮,反之熄滅。#include“avr/io.h”intmain(){unsignedcharmid;//定義變量DDRD=0xff;//設置PC口為輸出PORTD=0xff;//設置PC口為輸出為高電平(LED熄滅)ACSR=0x00;//啟動模擬比較器while(1){mid=ACSR&0x20;//讀出模擬比較器的輸出值if(mid==0)//輸出1熄滅LEDPORTD=1;elsePORTD=0;//輸出0點亮LED}}6.2模數(shù)轉(zhuǎn)換器6.2.1主要特點
ATmega16有一個10位的逐次逼近型ADC。 ADC與一個8通道的模擬多路復用器連接,能對來自端口A的8路單端輸入電壓進行采樣。器件還支持16路差分電壓輸入組合。兩路差分輸入(ADC1、ADC0與ADC3、ADC2)有可編程增益級,在A/D轉(zhuǎn)換前給差分輸入電壓提供0dB(1x)、20dB(10x)或46dB(200x)的放大級。
七路差分模擬輸入通道共享一個通用負端(ADC1),而其他任何ADC輸入可做為正輸入端。如果使用1x或10x增益,可得到8位分辨率。如果使用200x增益,可得到7位分辨率。ADC包括一個采樣保持電路,以確保在轉(zhuǎn)換過程中輸入到ADC的電壓保持恒定。ADC由AVCC引腳單獨提供電源。AVCC與VCC之間的偏差不能超過±0.3V。 標稱值為2.56V的基準電壓,以及AVCC,都位于器件之內(nèi)。基準電壓可以通過在AREF引腳上加一個電容進行解耦,以更好地抑制噪聲。圖6.2模數(shù)轉(zhuǎn)換器方框圖6.2.2ADC的工作原理
ADC通過逐次逼近的方法將輸入的模擬電壓轉(zhuǎn)換成一個10位的數(shù)字量。 最小值代表GND,最大值代表AREF引腳上的電壓再減去1LSB。 通過寫ADMUX寄存器的REFSn位可以把AVCC或內(nèi)部2.56V的參考電壓連接到AREF引腳。 在AREF上外加電容可以對片內(nèi)參考電壓進行解耦以提高噪聲抑制性能。6.2.3啟動ADC轉(zhuǎn)換
向ADC啟動轉(zhuǎn)換位ADSC位寫“1”可以啟動單次轉(zhuǎn)換。 在轉(zhuǎn)換過程中此位保持為高,直到轉(zhuǎn)換結(jié)束,然后被硬件清零。如果在轉(zhuǎn)換過程中選擇了另一個通道,那么ADC會在改變通道前完成這一次轉(zhuǎn)換。圖6.3
ADC自動觸發(fā)邏輯使用ADC中斷標志作為觸發(fā)源,可以在正在進行的轉(zhuǎn)換結(jié)束后即開始下一次ADC轉(zhuǎn)換。之后ADC便工作在連續(xù)轉(zhuǎn)換模式,持續(xù)地進行采樣并對ADC數(shù)據(jù)寄存器進行更新。第一次轉(zhuǎn)換通過向ADCSRA寄存器的ADSC寫1來啟動。如果使能了自動觸發(fā),置位ADCSRA寄存器的ADSC將啟動單次轉(zhuǎn)換。ADSC標志還可用來檢測轉(zhuǎn)換是否在進行之中。不論轉(zhuǎn)換是如何啟動的,在轉(zhuǎn)換進行過程中ADSC一直為1。6.2.4預分頻及ADC轉(zhuǎn)換時序圖6.4ADC預分頻器圖6.5
ADC時序圖,第一次轉(zhuǎn)換(單次轉(zhuǎn)換模式)圖6.6
ADC時序圖,單次轉(zhuǎn)換圖6.7
ADC時序圖,自動觸發(fā)的轉(zhuǎn)換圖6.8
ADC時序圖,連續(xù)轉(zhuǎn)換表6.3ADC轉(zhuǎn)換時間13.56.2.7ADC輸入通道選擇模擬通道時請注意以下幾個方面:單次轉(zhuǎn)換模式,總是在啟動轉(zhuǎn)換之前選定通道。在ADSC置位后的一個ADC時鐘周期就可以選擇新的模擬輸入通道了。但是最簡單的辦法是等待轉(zhuǎn)換結(jié)束后再改變通道。在連續(xù)轉(zhuǎn)換模式下,切換通道的方法同單次模式,若轉(zhuǎn)換結(jié)束后再改變通道,此時新一次轉(zhuǎn)換已經(jīng)自動開始了,下一次的轉(zhuǎn)換結(jié)果反映的是以前選定的模擬輸入通道。以后的轉(zhuǎn)換才是針對新通道的。若切換到差分增益通道,由于自動偏移抵消電路需要沉積時間,第一次轉(zhuǎn)換結(jié)果準確率很低,最好舍棄。6.2.8ADC基準電壓源
ADC參考電壓源(VREF)反映了ADC的轉(zhuǎn)換范圍。若單端通道電平超過了VREF,其結(jié)果將接近0x3FF。VREF可以是AVCC、內(nèi)部2.56V基準或外接于AREF引腳的電壓。AVCC通過一個無源開關與ADC相連。 片內(nèi)2.56V參考電壓由能隙基準源(VBG)通過內(nèi)部放大器產(chǎn)生。 AREF直接與ADC相連,通過在AREF與地之間外加電容可以提高參考電壓的抗噪性。6.2.9ADC噪聲抑制器
ADC的噪聲抑制器使其可以在睡眠模式下進行轉(zhuǎn)換,從而降低由于CPU及外圍I/O設備噪聲引入的影響。噪聲抑制器可在ADC降噪模式及空閑模式下使用。為了使用這一特性,應采用如下步驟:1.確定ADC已經(jīng)使能,且沒有處于轉(zhuǎn)換狀態(tài)。工作模式應該為單次轉(zhuǎn)換,并且ADC轉(zhuǎn)換結(jié)束中斷使能。2.進入ADC降噪模式(或空閑模式)。一旦CPU被掛起,ADC便開始轉(zhuǎn)換。3.如果在ADC轉(zhuǎn)換結(jié)束之前沒有其他中斷產(chǎn)生,那么ADC中斷將喚醒CPU并執(zhí)行ADC轉(zhuǎn)換結(jié)束中斷服務程序。如果在ADC轉(zhuǎn)換結(jié)束之前有其他的中斷源喚醒了CPU,對應的中斷服務程序得到執(zhí)行。ADC轉(zhuǎn)換結(jié)束后產(chǎn)生ADC轉(zhuǎn)換結(jié)束中斷請求。6.2.10模擬輸入電路
單端通道的模擬輸入電路見圖6.9。不論是否用作ADC的輸入通道,輸入到ADCn的模擬信號都受到引腳電容及輸入泄露的影響。用作ADC的輸入通道時,模擬信號源必須通過一個串聯(lián)電阻(輸入通道的組合電阻)驅(qū)動采樣/保持(S/H)電容。圖6.9
模擬輸入電路6.2.11ADC轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)束后(ADIF為高),轉(zhuǎn)換結(jié)果被存入ADC結(jié)果寄存器(ADCL,ADCH)。單次轉(zhuǎn)換的結(jié)果如下:式中,VIN為被選中引腳的輸入電壓,VREF為參考電壓,0x000代表模擬地電平,0x3FF代表所選參考電壓的數(shù)值減去1LSB。如果使用差分通道,結(jié)果是:式中,VPOS為輸入引腳正電壓,VNEG為輸入引腳負電壓,GAIN為選定的增益因子,且VREF為參考電壓。結(jié)果用2的補碼形式表示,從0x200(-512d)到0x1FF(+511d)。如果用戶希望對結(jié)果執(zhí)行快速極性檢測,判斷MSB(ADCH中ADC9),如該位為1,結(jié)果為負;該位為0,結(jié)果為正。1、ADC多工選擇寄存器(ADMUX)?Bit7:6–REFS1:0:參考電壓選擇ADC參考電壓選擇
Bit5–ADLAR:ADC轉(zhuǎn)換結(jié)果左對齊Bits4:0–MUX4:0:模擬通道與增益選擇位
2、ADC控制和狀態(tài)寄存器A(ADCSRA)?Bit7–ADEN:ADC使能?Bit6–ADSC:ADC開始轉(zhuǎn)換?Bit5–ADATE:ADC自動觸發(fā)使能?Bit4–ADIF:ADC中斷標志?Bit3–ADIE:ADC中斷使能?Bits2:0–ADPS2:0:ADC預分頻器選擇位3、ADC數(shù)據(jù)寄存器(ADCL及ADCH)ADLAR=0ADLAR=1ADC轉(zhuǎn)換結(jié)束后,轉(zhuǎn)換結(jié)果存于這兩個寄存器之中。如果采用差分通道,結(jié)果由2的補碼形式表示。讀取ADCL之后,ADC數(shù)據(jù)寄存器一直要等到ADCH也被讀出才可以進行數(shù)據(jù)更新。因此,如果轉(zhuǎn)換結(jié)果為左對齊,且要求的精度不高于8比特,那么僅需讀取ADCH就足夠了。否則必須先讀出ADCL再讀ADCH。4、特殊功能IO寄存器(SFIOR)?
Bit7:5–ADTS2:0:ADC自動觸發(fā)源若ADCSRA寄存器的ADATE置位,ADTS的值將確定觸發(fā)ADC轉(zhuǎn)換的觸發(fā)源;否則,ADTS的設置沒有意義。被選中的中斷標志在其上升沿觸發(fā)ADC轉(zhuǎn)換。?Bit4–Res:保留位。這一位保留。為了與以后的器件相兼容,在寫SFIOR時這一位應寫0。實例:測量和顯示PA0引腳的電壓。輸入電壓采用電位器5V的分壓,電壓變化范圍為0-5V之間,大小可以調(diào)節(jié)。#include"avr/io.h"#include"util/delay.h"#include"math.h"#include"max7219.c"floatlvboxishu,bilixishu;longintdianya;longintzhuanhuan(chartongdao)//AD轉(zhuǎn)換函數(shù){ADCSRA=0x86;//設置AD轉(zhuǎn)換ADMUX=0x40+tongdao;//設置轉(zhuǎn)換通道ADCSRA=ADCSRA|(1<<ADSC);//啟動轉(zhuǎn)換while(!(ADCSRA&(1<<ADIF)));//判斷轉(zhuǎn)換是否結(jié)束returnADCW;//取AD轉(zhuǎn)換的值}intmain(){longintx;chark,i;spi_7219c();//初始化顯示dianya=0;//電壓初值i=8;//采集次數(shù)while(1){x=0;for(k=0;k<i;k++)x=x+zhuanhuan(0);//采集8次和求和x/=i;//求平均值 dianya=x*5000/1024;xunce_7219(0,dianya,4);//顯示電壓值_delay_ms(1000);//延時1S}}6.4數(shù)字濾波方法
單片機系統(tǒng)面對的現(xiàn)場往往比較惡劣,因此所采集信號中總會混雜有各類干擾。除了采用硬件進行濾波(如阻容濾波)外,對輸入計算機的信號進行數(shù)字濾波也是十分必要的。所謂數(shù)字濾波,就是通過一定的計算程序,對采集的數(shù)據(jù)進行處理,以提高有用信號在采集值中的比例,減少各種干擾和噪聲。
與阻容濾波相比,數(shù)字濾波具有如下一些優(yōu)點:1、可以根據(jù)干擾的類型,設計出相應類型的數(shù)字濾波器。2、濾波范圍寬,特別是對于低頻信號(如0.001Hz及以下)更為有效,而模擬濾波器由于電容容量的限制,頻率不能太低。3、可靠性高。4、數(shù)字濾波程序可以多路共享。下面介紹幾種常用的數(shù)字濾波方法。1.算術平均值濾波
設測量值為,則每采集了N個數(shù)據(jù)后,進行一次算術平均。
從上面可以看出,每計算一次控制器輸出值,就必須采樣N次。因此,N的取值不能太大。算術平均值法主要對壓力,流量等含有周期性脈動的信號有效。而對突發(fā)性的脈沖干擾,這種濾波方法的效果則不理想。2.中值濾波
所謂中值濾波法是連續(xù)采樣n次,首先要做的工作是先采集n個參數(shù)并按大小排序,即有<<…<<,或者從大到小排序。如果當N為偶數(shù)時,如果當N為奇數(shù)時,中值濾波既可以去掉由于偶然因數(shù)引起的干擾,同時對與脈動干擾也比較有效。但是這種方法由于計算量比較大,對于一些需要快速采樣的參數(shù)就不十分合適。中值濾波的關鍵所在是形成按大小順序排列的一組數(shù)。假設采樣N次,如果使用高級語言,首先將N個采樣值按從大到?。ɑ驈男〉酱螅┡帕校缓髮⑵浞旁谝粋€數(shù)組X(N)里,此時X
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年紹興市中等專業(yè)學校合同制工作人員(融媒體工作技術員)招聘備考題庫及完整答案詳解一套
- 昆明市官渡區(qū)云南大學附屬中學星耀學校2026年校園招聘備考題庫完整答案詳解
- 2025年湘科研究院招聘專業(yè)技術人員5名備考題庫完整參考答案詳解
- 盤活資產(chǎn)經(jīng)驗交流材料范文
- 新疆維吾爾自治區(qū)氣象局2026年度事業(yè)單位公開招聘應屆畢業(yè)生備考題庫(第二批第1號)及一套參考答案詳解
- 2025年湖南省中西醫(yī)結(jié)合醫(yī)院湖南省中醫(yī)藥研究院附屬醫(yī)院高層次人才公開招聘13人備考題庫及一套完整答案詳解
- 2025年大連市皮膚病醫(yī)院招聘合同制工作人員36人備考題庫及答案詳解1套
- 2025年中國科學院東北地理與農(nóng)業(yè)生態(tài)研究所學術期刊中心工作人員招聘備考題庫及答案詳解一套
- 中國信息通信研究院2026屆校園招聘80人備考題庫完整參考答案詳解
- 總量聯(lián)合行業(yè)《“十五五”規(guī)劃建議》解讀:“十五五”規(guī)劃引領資本市場譜寫創(chuàng)新升級新機遇
- 2025至2030中國船用防凍劑行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 實施“十五五”規(guī)劃的發(fā)展思路
- 東航心理測試題及答案
- 2025年度交通運輸安全生產(chǎn)費用使用計劃
- 自由職業(yè)者合作協(xié)議樣本
- 《四川省信息化項目費用測算標準》
- 教育數(shù)字化應用案例
- QB/T 2660-2024 化妝水(正式版)
- DCS集散控制系統(tǒng)課件
- JJG 443-2023燃油加油機(試行)
- 國家開放大學-傳感器與測試技術實驗報告(實驗成績)
評論
0/150
提交評論