2022年AVR——模擬比較器和ADC實(shí)驗(yàn)_第1頁
2022年AVR——模擬比較器和ADC實(shí)驗(yàn)_第2頁
2022年AVR——模擬比較器和ADC實(shí)驗(yàn)_第3頁
2022年AVR——模擬比較器和ADC實(shí)驗(yàn)_第4頁
2022年AVR——模擬比較器和ADC實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、avr 模擬比較器和adc 實(shí)驗(yàn)- 基于 lt_mini_m16 6.1 模擬比較器實(shí)驗(yàn)6.1.1 實(shí)例功能模擬比較器和模數(shù)轉(zhuǎn)換adc是單片機(jī)內(nèi)部最常見的兩種支持模擬信號輸入的功能接口。大部分avr 都具備這兩種類型的接口。本實(shí)例將以atmage16 芯片為例,介紹模擬比較器的使用方法,在下一個實(shí)例中介紹模數(shù)轉(zhuǎn)換adc 。使用模擬比較器可以實(shí)現(xiàn)單片機(jī)系統(tǒng)電源電壓的檢測,更巧妙的應(yīng)用是利用模擬比較器和一些簡單的外圍電路,設(shè)計(jì)簡單的模數(shù)轉(zhuǎn)換adc 。本實(shí)例實(shí)現(xiàn)利用模擬比較器比較某一點(diǎn)電壓與內(nèi)部模擬比較器參考電壓的高低。共有 3個功能模塊,分別描述如下: 單片機(jī)系統(tǒng):使用atmega16單片機(jī)的模擬

2、比較器比較某一點(diǎn)的電壓與參考電壓的關(guān)系。 外圍電路:利用電阻設(shè)計(jì)的分壓電路。 軟件程序:熟悉掌握atmega16單片機(jī)的模擬比較器的使用。通過本實(shí)例的學(xué)習(xí),掌握相關(guān)電路設(shè)計(jì),并掌握以下知識點(diǎn): 了解單片機(jī)的模擬比較器。 了解單片機(jī)的模擬比較器的使用。 掌握單片機(jī)模擬比較器的編程。6.1.2、器件和原理1、模擬比較器的介紹atmega16的模擬比較器可以實(shí)現(xiàn)對兩個輸入端:正極ain0 和負(fù)極ain1(分別對應(yīng)于atmage16的引腳 pb2、pb3)的模擬輸入電壓進(jìn)行比較。當(dāng)ain0 上的電壓高于ain1 的電壓時,模擬比較器輸出aco被設(shè)為 “1” 。比較器的輸出還可以被設(shè)置作為定時計(jì)數(shù)器1

3、輸入捕獲功能的觸發(fā)信號。此外, 比較器的輸出可以觸發(fā)一個獨(dú)立的模擬比較器中斷。用戶可以選擇使用比較器輸出的上升沿、下降沿或事件觸發(fā)作為模擬比較器中斷的觸發(fā)信號。2、與模擬比較器相關(guān)的寄存器與模擬比較器相關(guān)的寄存器是sfior 、acsr 。用戶通過這兩個寄存器的相關(guān)位實(shí)現(xiàn)對模擬比較器的設(shè)置和控制。1)特殊功能 io 寄存器 sfior 寄存器 sfior中的第 3 位 acme 為模擬比較器多路使能控制位。當(dāng)該位為邏輯 “1”,同時模數(shù)轉(zhuǎn)換 (adc )功能被關(guān)閉 (adcsra 寄存器中的aden使能位為 “0”)時,允許使用adc多路復(fù)用器選擇adc的模擬輸入端口作為模擬比較器反向端的輸入

4、信號源。當(dāng)該位為零時,ain1 引腳的信號將加到模擬比較器反向端。位7 6 5 4 3 2 1 0 $30 ($0050)adts2 adts1- adts0- - acme pud psr2psr10sfior 讀/寫r/w r/w r/wr r/w r/w r/wr/w 復(fù)位值0 0 0 0 0 0 0 0 精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 1 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 1 頁,共 17 頁 - - - - - -

5、- - -本實(shí)例中我們使用adc 的模擬輸入端口作為模擬比較器反向端的輸入信號源,所以需要設(shè)置第3 位 acme 為 1.2)模擬比較器控制和狀態(tài)寄存器acsr 位7 6 5 4 3 2 1 0 $08 ($0028)acd acbg aco aci acie acic acis1acis0acsr 讀/寫r/w r/w rr/w r/w r/w r/wr/w 復(fù)位值0 0 n/a 0 0 0 0 0 acsr 是模擬比較器主要的控制寄存器,其中各個位的作用如下:1位 7acd :模擬比較器禁止當(dāng)該位設(shè)為“1”時,提供給模擬比較器的電源關(guān)閉。該位可以在任何時候被置位,從而關(guān)閉模擬比較器。在 m

6、cu 閑置模式, 且無需將模擬比較器作為喚醒源的情況下,關(guān)閉模擬比較器可以減少電源的消耗。要改變 acd位的設(shè)置時, 應(yīng)該先將寄存器acsr 中的 acie位清零,把模擬比較器中斷禁止掉。否則,在改變adc位設(shè)置時會產(chǎn)生一個中斷。2位 6acbg :模擬比較器的能隙參考源選擇當(dāng)該位為“ 1”時,芯片內(nèi)部一個固定的能隙(bandgap)參考電源1.22v 將代替ain0的輸入,作為模擬比較器的正極輸入端。當(dāng)該位被清零時,ain0 的輸入仍然作為模擬比較器的正極輸入端。3位 5aco :模擬比較器輸出模擬比較器的輸出信號經(jīng)過同步處理后直接與aco相連。由于經(jīng)過同步處理,aco 與模擬比較器的輸出之

7、間,會有12 個時鐘的延時。4位 4aci:模擬比較器中斷標(biāo)志位當(dāng)模擬比較器的輸出事件符合中斷觸發(fā)條件時(中斷觸發(fā)條件由acis1 和 acis0 定義) ,aci 由硬件置“ 1” 。若 acie 位置“ 1” ,且狀態(tài)寄存器中的i 位為“ 1”時, mcu 響應(yīng)模擬比較器中斷。當(dāng)轉(zhuǎn)入模擬比較中斷處理向量時,aci 被硬件自動清空。此外,也可使用軟件方式清零aci:對 aci 標(biāo)志位寫入邏輯“1”來清零該位。5 位 3acie:模擬比較器中斷允許當(dāng) acie位設(shè)為 “1” ,且狀態(tài)寄存器中的i 位被設(shè)為 “1”時,允許模擬比較器中斷觸發(fā)。當(dāng) acie被清“ 0”時,模擬比較器中斷被禁止。6位

8、 2acic:模擬比較器輸入捕獲允許當(dāng)該位設(shè)置為“1”時,定時計(jì)數(shù)器1 的輸入捕獲功能將由模擬比較器的輸出來觸發(fā)。在這種情況下,模擬比較器的輸出直接連到輸入捕獲前端邏輯電路,從而能利用定時器/ 計(jì)數(shù)器 1 輸入捕獲中斷的噪聲消除和邊緣選擇的特性。當(dāng)該位被清零時, 模擬比較器和輸入捕獲功能之間沒有聯(lián)系。要使能比較器觸發(fā)定時器/ 計(jì)數(shù)器 1 的輸入捕獲中斷,定時器中斷屏蔽寄存器( timsk)中的 ticie1 位必須被設(shè)置。7位 1、0acis1、acis0:模擬比較器中斷模式選擇這 2 個位決定哪種模擬比較器的輸出事件可以觸發(fā)模擬比較器的中斷。不同的設(shè)置參見表 6.1.1。表 6.1.1模擬比

9、較器中斷模式選擇acis1 acis0 中 斷 模 式0 0 比較器輸出的上升沿和下降沿都觸發(fā)中斷0 1 保留1 0 比較器輸出的下降沿觸發(fā)中斷精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 2 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 2 頁,共 17 頁 - - - - - - - - -1 1 比較器輸出的上升沿觸發(fā)中斷注意:當(dāng)要改變acis1、acis0 時,必須先清除acsr 寄存器中的中斷允許位,以禁止模擬比較器中斷;否則,當(dāng)這些位被改變

10、時,會發(fā)生中斷。在本實(shí)例中,我們要使用模擬比較器,所以應(yīng)當(dāng)允許模擬比較器,即acd應(yīng)為 0,選擇芯片內(nèi)部的固定能隙參考電源。即acbg設(shè)置為 1,我們不使用中斷和捕獲,所以不必理會與此相關(guān)的各位。3)模擬比較器的多路輸入用戶可以選擇adc7.0 引腳中的任一路的模擬信號代替ain1 引腳,作為模擬比較器的反向輸入端。模數(shù)轉(zhuǎn)換的adc多路復(fù)用器提供這種選擇的能力,但此時必須關(guān)閉芯片的adc功能。當(dāng)模擬比較器的多路選擇使能位(sfior中的 acme 位)置“ 1” ,同時 adc被關(guān)閉時(adcsra 中的 aden 位置“ 0” ) ,由寄存器admux 中的 mux2:0 位所確定的引腳將代

11、替ain1作為模擬比較器的反向輸入端,如表 6.1.2所示。如果 acme 被清零,或 aden 被置 1, 則 ain1仍將為模擬比較器的反向輸入端。本實(shí)例中我們采用adc0 作為模擬比較器的反向輸入端,所以選擇admux寄存器中的mux2 :0=0;6.1.3、電路本實(shí)例的電路包含分壓電路,下面的電路是電阻分壓電路,如下圖所示。1、電路原理在本實(shí)例中利用電位器(即可調(diào)電阻)組成分壓電路,單片機(jī)的pa0 連接在電位器的動片引腳上, 這個電路實(shí)際上相當(dāng)于兩個電阻組成的串聯(lián)電路,只不過這兩個電阻的阻值是可變的,改變動片的位置,就可以改變pa0 與地之間的電阻值,根據(jù)串聯(lián)電路分壓的原理,當(dāng)動片移動

12、時,pa0 處的電壓就會發(fā)生變化。表 6.1.2 模擬比較器多路輸入選擇acme aden mux2.0 模擬比較器反向輸入端0 x xxx ain1 1 1 xxx ain1 1 0 000 adc0 1 0 001 adc1 1 0 010 adc2 1 0 011 adc3 1 0 100 adc4 1 0 101 adc5 1 0 110 adc6 1 0 111 adc7 精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 3 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - -

13、 - - - - - 第 3 頁,共 17 頁 - - - - - - - - -2、電路連接電路電位器的動片引腳連接到單片機(jī)的pa0 口,作為模擬比較器的反向輸入端。6.1.4、程序設(shè)計(jì)1、程序功能程序的功能是使用單片機(jī)的模擬比較器比較pa0 口的電壓與單片機(jī)內(nèi)部的固定能隙電壓( 1.22v)之間的高低,如果pa0 的電壓低于1.22v,則 d1 燈點(diǎn)亮,否則d2 燈點(diǎn)亮。2 函數(shù)說明本程序有兩個功能函數(shù),分別是: 端口初始化函數(shù),設(shè)置連接d1、d2 兩個 led 的端口 pb0、pb1 為輸出口,輸出低電平,使兩個led 都處于熄滅狀態(tài)。 模擬比較器初始化函數(shù)設(shè)置與模擬比較器相關(guān)的寄存器,

14、使模擬器按照一定的方式工作。3、使用 wina vr 開發(fā)環(huán)境,我們使用的是外部12m 的晶振,所以需要將makefile 文件中的時鐘頻率修改為12m。 另外在程序燒錄到單片機(jī)的時候,熔絲位也要選擇為外部12m晶振( 注意是晶振, 不是外部振蕩器,一定不要選擇錯了,否則會導(dǎo)致單片機(jī)不能再燒寫程序) 。4、程序代碼#include #include #include /中斷函數(shù)頭文件/函數(shù)聲明void port_init(void); /端口初始化配置void compare_init(void); /模擬比較器初始化設(shè)置int main(void) port_init(); compare_

15、init(); sei(); /使能全局中斷while(1) if(acsr & (1 aco) /判斷 adc0 的電壓是否大于1.22v portb = 0x01; /低于 1.22v,d1 點(diǎn)亮, else portb = 0x02; /高于 1.22v,d2 點(diǎn)亮,精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 4 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 4 頁,共 17 頁 - - - - - - - - - /端口狀態(tài)初始化設(shè)置

16、函數(shù)void port_init() portb = 0x00; / ddrb |= (1 pb0) | (1 pb1); /pb0、pb1 設(shè)置為輸出 /模擬比較器初始化函數(shù)void compare_init() sfior |= (1 acme); /使用 adc 多路復(fù)用器選擇adc 的模擬輸入端口/作為模擬比較器反向輸入端的信號源。/同時選擇adc 的 adc0 作為輸入端,并且關(guān)閉ad 轉(zhuǎn)換的使能acsr |= (1 acbg); /允許模擬比較器, ain0 設(shè)置為內(nèi)部固定能隙參考電源1.22v 6.2 模數(shù)轉(zhuǎn)換的adc 實(shí)驗(yàn)6.2.1、實(shí)例功能avr的模數(shù)轉(zhuǎn)換器adc具有下列特點(diǎn)

17、:10 位精度;0.5lsb 積分非線形誤差 2lsb的絕對精度;13 s260 s 的轉(zhuǎn)換時間;在最大精度下可達(dá)到每秒15ksps的采樣速率;8 路可選的單端輸入通道;7 路差分輸入通道;2 路差分輸入通道帶有可選的10和 200增益;adc轉(zhuǎn)換結(jié)果的讀取可設(shè)置為左端對齊(left adjustment);adc的電壓輸入范圍0vcc;可選擇的內(nèi)部2.56v 的 adc參考電壓源;自由連續(xù)轉(zhuǎn)換模式和單次轉(zhuǎn)換模式;adc自動轉(zhuǎn)換觸發(fā)模式選擇;adc轉(zhuǎn)換完成中斷;休眠模式下的噪聲抑制器(noise canceler )。在本實(shí)例中, 我們將編寫程序?qū)崿F(xiàn)將模數(shù)轉(zhuǎn)換后獲得的電壓值通過單片機(jī)的串口發(fā)送

18、到計(jì)算機(jī),然后通過計(jì)算機(jī)上的串口助手顯示測量的電壓值。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 5 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 5 頁,共 17 頁 - - - - - - - - -本實(shí)例共有3 個功能模塊,分別描述如下: 單片機(jī)系統(tǒng):使用單片機(jī)的串口實(shí)現(xiàn)將模數(shù)轉(zhuǎn)換后獲得的電壓值通過串口發(fā)送到計(jì)算機(jī)。 外圍電路: rs232電平轉(zhuǎn)換電路,db9串行接口插座,模擬電壓輸入采集電路。 軟件程序:進(jìn)一步熟悉單片機(jī)的串行通信,并掌握單片

19、機(jī)的模數(shù)轉(zhuǎn)換的方法。6.2.2、器件和原理關(guān)于串行接口的原理已接單片機(jī)與計(jì)算機(jī)的串口的連接在上一實(shí)例中進(jìn)行了描述,在本實(shí)例中不再重復(fù)。本實(shí)例只介紹atmega16 單片機(jī)如何通過內(nèi)置的模數(shù)轉(zhuǎn)換模塊采集外界輸入的模擬電壓。1、atmega16 單片機(jī)的模數(shù)轉(zhuǎn)換器adc 介紹由于單片機(jī)只能處理數(shù)字信號,所以外部的模擬信號量需要轉(zhuǎn)變成數(shù)字量才能進(jìn)一步的由單片機(jī)進(jìn)行處理。atmega16內(nèi)部集成有一個10 位逐次比較 ( successive approximation)adc電路。因此使用avr可以非常方便的處理輸入的模擬信號量。atmega16的 adc與一個 8 通道的模擬多路選擇器連接,能夠?qū)?/p>

20、以porta 作為 adc輸入引腳的 8 路單端模擬輸入電壓進(jìn)行采樣,單端電壓輸入以0v (gnd )為參考。 另外還支持16種差分電壓輸入組合,其中2 種差分輸入方式(adc1 ,adc0和 acd3 ,adc2 )帶有可編程增益放大器,能在a/d 轉(zhuǎn)換前對差分輸入電壓進(jìn)行0db (1) ,20db(10)或 46db(200)的放大。還有七種差分輸入方式的模擬輸入通道共用一個負(fù)極(adc1 ) ,此時其它任意一個adc引腳都可作為相應(yīng)的正極。若增益為1或 10,則可獲得8 位的精度。 如果增益為200,那么轉(zhuǎn)換精度為7 位。avr的 adc功能單元由獨(dú)立的專用模擬電源引腳avcc供電。 a

21、vcc和 vcc 的電壓差別不能大于 0.3v。adc轉(zhuǎn)換的參考電源可采用芯片內(nèi)部的2.56v 參考電源, 或采用 avcc,也可使用外部參考電源。使用外部參考電源時,外部參考電源由引腳arfe接入。使用內(nèi)部電壓參考源時,可以通過在aref引腳外部并接一個電容來提高adc的抗噪性能。adc功能單元包括采樣保持電路,以確保輸入電壓在adc轉(zhuǎn)換過程中保持恒定。adc通過逐次比較( successive approximation)方式,將輸入端的模擬電壓轉(zhuǎn)換成10 位的數(shù)字量。最小值代表地,最大值為aref引腳上的電壓值減1 個 lsb??梢酝ㄟ^admux 寄存器中refsn位的設(shè)置,選擇將芯片內(nèi)

22、部參考電源(2.56v )或 avcc 連接到 aref ,作為 a/d 轉(zhuǎn)換的參考電壓。這時,內(nèi)部電壓參考源可以通過外接于aref引腳的電容來穩(wěn)定,以改進(jìn)抗噪特性。模擬輸入通道和差分增益的選擇是通過admux 寄存器中的mux 位設(shè)定的。 任何一個adc的輸入引腳,包括地(gnd )以及內(nèi)部的恒定能隙(fixed bandgap)電壓參考源,都可以被選擇用來作為adc的單端輸入信號。 而 adc的某些輸入引腳則可選擇作為差分增益放大器的正、負(fù)極輸入端。 當(dāng)選定了差分輸入通道后,差分增益放大器將兩輸入通道上的電壓差按選定增益系數(shù)放大,然后輸入到adc中。若選定使用單端輸入通道,則增益放大器無效

23、。通過設(shè)置adcsra 寄存器中的adc使能位 aden 來使能 adc 。在 aden 沒有置“ 1”前,參考電壓源和輸入通道的選定將不起作用。當(dāng)aden位清“ 0”后, adc將不消耗能量,因此建議在進(jìn)入節(jié)電休眠模式前將adc關(guān)掉。adc將 10 位的轉(zhuǎn)換結(jié)果放在adc數(shù)據(jù)寄存器中(adch 和 adcl ) 。默認(rèn)情況下,轉(zhuǎn)換結(jié)果為右端對齊(right adjusted)的。但可以通過設(shè)置admux 寄存器中adlar 位,調(diào)整為左端對齊( left adjusted ) 。如果轉(zhuǎn)換結(jié)果是左端對齊,并且只需要8 位的精度,那么只需讀取 adch 寄存器的數(shù)據(jù)作為轉(zhuǎn)換結(jié)果就達(dá)到要求了。否則

24、, 必須先讀取adcl寄存器, 然后再精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 6 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 6 頁,共 17 頁 - - - - - - - - -讀取 adch 寄存器, 以保證數(shù)據(jù)寄存器中的內(nèi)容是同一次轉(zhuǎn)換的結(jié)果。因?yàn)橐坏゛dcl寄存器被讀取,就阻斷了adc對 adc數(shù)據(jù)寄存器的操作。這就意味著,一旦指令讀取了adcl ,那么必須緊接著讀取一次adch ;如果在讀取adcl和讀取 adch 的過程中正好有一

25、次adc轉(zhuǎn)換完成, adc的 2 個數(shù)據(jù)寄存器的內(nèi)容是不會被更新的,該次轉(zhuǎn)換的結(jié)果將丟失。只有當(dāng) adch寄存器被讀取后,adc 才可以繼續(xù)對adcl 和 adch 寄存器操作更新。adc有自己的中斷,當(dāng)轉(zhuǎn)換完成時中斷將被觸發(fā)。盡管在順序讀取adcl 和 adch 寄存器過程中, adc對 adc數(shù)據(jù)寄存器的更新被禁止,轉(zhuǎn)換的結(jié)果丟失,但仍會觸發(fā)adc中斷。2、atmwga16單片機(jī)的模數(shù)轉(zhuǎn)換器adc相關(guān)的 i/o 寄存器1adc多路復(fù)用器選擇寄存器admux 位7 6 5 4 3 2 1 0 $07 ($0027 )refs1 refs0 adlar mux4 mux3 mux2 mux1m

26、ux0admux 讀/寫r/w r/w r/w r/w r/w r/w r/wr/w 復(fù)位值0 0 0 0 0 0 0 0 8 位 7,6refs1:0 :adc參考電源選擇refs1 、refs2用于選擇 adc的參考電壓源, 見表 6.2.1 。如果這些位在adc轉(zhuǎn)換過程中被改變,新的選擇將在該次adc轉(zhuǎn)換完成后( adcsra 中的 adif 被置位)才生效。一旦選擇內(nèi)部參考源( avcc、2.56v )為 adc的參考電壓后,aref引腳上不得施加外部的參考電源,只能與 gnd 之間并接抗干擾電容。表 6.2.1 adc參考電源選擇refs1 refs0 adc參考電源0 0 外部引腳

27、 aref ,斷開內(nèi)部參考源連接0 1 avcc,aref 外部并接電容1 0 保留1 1 內(nèi)部 2.56v,aref外部并接電容9 位 5adlar :adc結(jié)果左對齊選擇adlar 位決定轉(zhuǎn)換結(jié)果在adc數(shù)據(jù)寄存器中的存放形式。寫“1”到 adlar 位,將使轉(zhuǎn)換結(jié)果左對齊(left adjust ) ;否則,轉(zhuǎn)換結(jié)果為右對齊(right adjust ) 。無論 adc是否正在進(jìn)行轉(zhuǎn)換,改變adlar 位都將會立即影響adc數(shù)據(jù)寄存器。10位 4.0 mux4:0 :模擬通道和增益選擇這 5 個位用于對連接到adc的輸入通道和差分通道的增益進(jìn)行選擇設(shè)置,詳見表 6.2.2 。注意,只有轉(zhuǎn)

28、換結(jié)束后(adcsra 的 adif 是“ 1” ) ,改變這些位才會有效。表 6.2.2 adc 輸入通道和增益選擇mux4:0 單端輸入差分正極輸入差分負(fù)極輸入增益00000 adc0 n/a 00001 adc1 00010 adc2 00011 adc3 00100 adc4 00101 adc5 00110 adc6 00111 adc7 精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 7 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 7 頁,

29、共 17 頁 - - - - - - - - -01000 n/a adc0 adc0 1001001 adc1 adc0 1001010 adc0 adc0 20001011 adc1 adc0 20001100 adc2 adc2 1001101 adc3 adc2 1001110 adc2 adc2 20001111 adc3 adc2 20010000 adc0 adc1 110001 adc1 adc1 110010 adc2 adc1 110011 adc3 adc1 110100 adc4 adc1 110101 adc5 adc1 110110 adc6 adc1 110111

30、 adc7 adc1 111000 adc0 adc2 111001 adc1 adc2 111010 adc2 adc2 111011 adc3 adc2 111100 adc4 adc2 111101 adc5 adc2 111110 1.22v(vbg) n/a 11111 0v(gnd) 本實(shí)例中我們需要設(shè)置adc的參考電壓源為avcc,即 refs0設(shè)置為 1,adc默認(rèn)轉(zhuǎn)換結(jié)果為右對齊,我們不需要改變,模擬通道選擇adc0 通道單端輸入,即 mux4:0 。2adc控制和狀態(tài)寄存器aadcsra 位7 6 5 4 3 2 1 0 $06($0026)aden adsc adate

31、adif adie adps2 adps1adps0adcsra 讀/寫r/w r/w r/w r/w r/w r/w r/wr/w 復(fù)位值0 0 0 0 0 0 0 0 11位 7aden :adc使能該位寫入“ 1”時使能adc ,寫入“ 0”關(guān)閉 adc 。如在 adc轉(zhuǎn)換過程中將adc關(guān)閉,該次轉(zhuǎn)換隨即停止。12位 6adsc :adc轉(zhuǎn)換開始在單次轉(zhuǎn)換模式下,置該位為“1” ,將啟動一次轉(zhuǎn)換。在自由連續(xù)轉(zhuǎn)換模式下,該位寫入“ 1”將啟動第一次轉(zhuǎn)換。先置位aden 位使能 adc ,再置位adsc ;或置位 adsc的同時使能 adc ,都會使能adc開始進(jìn)行第一次轉(zhuǎn)換。第一次adc轉(zhuǎn)

32、換將需要25 個 adc時鐘周期,而不是常規(guī)轉(zhuǎn)換的13 個 adc時鐘周期,這是因?yàn)榈谝淮无D(zhuǎn)換需要完成對adc的初始化。在 adc轉(zhuǎn)換的過程中,adsc將始終讀出為“1” 。當(dāng)轉(zhuǎn)換完成時,它將轉(zhuǎn)變?yōu)椤?” 。強(qiáng)精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 8 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 8 頁,共 17 頁 - - - - - - - - -制寫入“ 0”是無效的。13位 5adate :adc自動轉(zhuǎn)換觸發(fā)允許當(dāng)該位被置為“1”時,允

33、許adc工作在自動轉(zhuǎn)換觸發(fā)工作模式下。在該模式下,在觸發(fā)信號的上升沿時adc將自動開始一次adc轉(zhuǎn)換過程。 adc的自動轉(zhuǎn)換觸發(fā)信號源由sfior寄存器中的adts位選擇確定。14位 4adif:adc中斷標(biāo)志位當(dāng) adc轉(zhuǎn)換完成并且adc數(shù)據(jù)寄存器被更新后該位被置位。如果adie 位( adc轉(zhuǎn)換結(jié)束中斷允許)和sreg 寄存器中的i 位被置“ 1” ,adc中斷服務(wù)程序?qū)⒈粓?zhí)行。adif在執(zhí)行相應(yīng)的中斷處理向量時被硬件自動清零。此外,adif 位可以通過寫入邏輯“1”來清零。15位 3adie:adc中斷允許當(dāng)該位和 sreg 寄存器中的i 位同時被置位時,允許adc轉(zhuǎn)換完成中斷。16位

34、2,0adps2:0 :adc預(yù)分頻選擇這些位決定了xtal時鐘與輸入到adc的 adc時鐘之間分頻數(shù),見表6.2.3 。表 6.2.3 adc時鐘分頻adps2:0 分頻系數(shù)000 2 001 2 010 4 011 8 100 16 101 32 110 64 111 128 本實(shí)例中我們需要使能adc ,即 aden 設(shè)置為 1,我們不用自動轉(zhuǎn)換,也不需要中斷,所以, adte 、adie 位不需要設(shè)置。在通常情況下,adc的逐次比較轉(zhuǎn)換電路要達(dá)到最大精度時, 需要 50khz200khz 之間的采樣時鐘。本例中使用的時鐘是12m的,所以要將時鐘64分頻,分頻后adc頻率為 188khz

35、,即時鐘分頻選擇adps2:0=6 。3adc數(shù)據(jù)寄存器 adcl和 adch adlar = 0,adc轉(zhuǎn)換結(jié)果右對齊時,adc結(jié)果的保存方式位15 14 13 12 11 10 9 8 $05 ($0025)- - - - - - adc9adc8adch $04 ($0024)adc7 adc6 adc5 adc4 adc3 adc2 adc1 adc0 adcl 位7 6 5 4 3 2 1 0 讀/寫r r r r r r rr 讀/寫r r r r r r rr 復(fù)位值0 0 0 0 0 0 0 0 復(fù)位值0 0 0 0 0 0 0 0 adlar = 1,adc轉(zhuǎn)換結(jié)果左對齊時,

36、adc結(jié)果的保存方式精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 9 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 9 頁,共 17 頁 - - - - - - - - -位15 14 13 12 11 10 9 8 $05 ($0025)adc9 adc8 adc7 adc6 adc5 adc4 adc3adc2adch $04 ($0024)adc1 adc0 - - - - - - adcl 位7 6 5 4 3 2 1 0 讀/寫r r r r

37、 r r rr 讀/寫r r r r r r rr 復(fù)位值0 0 0 0 0 0 0 0 復(fù)位值0 0 0 0 0 0 0 0 當(dāng) adc轉(zhuǎn)換完成后, 可以讀取adc寄存器的 adc0-adc9 得到 adc的轉(zhuǎn)換的結(jié)果。 如果是差分輸入,轉(zhuǎn)換值為二進(jìn)制的補(bǔ)碼形式。一旦開始讀取adcl后, adc數(shù)據(jù)寄存器就不能被adc更新,直到adch 寄存器被讀取為止。因此,如果結(jié)果是左對齊(adlar=1 ) ,且不需要大于 8 位的精度的話,僅僅讀取adch 寄存器就足夠了。否則,必須先讀取adcl寄存器, 再讀取 adch 寄存器。 admux 寄存器中的adlar 位決定了從adc數(shù)據(jù)寄存器中讀取

38、結(jié)果的格式。如果 adlar 位為“ 1” ,結(jié)果將是左對齊;如果adlar 位為“ 0” (默認(rèn)情況) ,結(jié)果將是右對齊。4特殊功能i/o 寄存器 sfior 位7 6 5 4 3 2 1 0 $30 ($0050)adts2 adts1 adts0 - acme pud psr2psr10sfior 讀/寫r/w r/w r/w r r/w r/w r/wr/w 復(fù)位值0 0 0 0 0 0 0 0 17位 7.5 adts2:0 :adc自動轉(zhuǎn)換觸發(fā)源選擇當(dāng)adcsra寄存器中的 adate 為“1”,允許 adc 工作在自動轉(zhuǎn)換觸發(fā)工作模式時,這3位的設(shè)置用于選擇 adc 的自動轉(zhuǎn)換觸

39、發(fā)源。如果禁止了adc 的自動轉(zhuǎn)換觸發(fā)(adate 為“ 0”) ,這 3個位的設(shè)置值將不起任何作用。表 10-6 adc自動轉(zhuǎn)換觸發(fā)源的選擇adts2:0 觸發(fā)源000 連續(xù)自由轉(zhuǎn)換001 模擬比較器010 外部中斷 0 011 t/c0 比較匹配100 t/c0 溢出101 t/c1 比較匹配 b 110 t/c1 溢出111 t/c1 輸入捕捉本例中我們不使用自動轉(zhuǎn)換功能,所以該寄存器可以不必設(shè)置。6.2.3、電路本實(shí)例的電路包括232 電平轉(zhuǎn)換電路和電阻分壓電路,這兩種電路在前面的實(shí)例中均做過介紹,這里不再重復(fù)。1、電路原理在本實(shí)例中利用max3232 芯片使單片機(jī)輸出的ttl 電平轉(zhuǎn)

40、換為標(biāo)準(zhǔn)的rs232 電平,從而使計(jì)算機(jī)能夠識別。同時將計(jì)算機(jī)輸出的rs232 電平轉(zhuǎn)換為單片機(jī)可以識別的ttl 電平。精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 10 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 10 頁,共 17 頁 - - - - - - - - -利用電位器產(chǎn)生電阻分壓電路,從而產(chǎn)生變化的模擬電壓加到單片機(jī)的模擬信號采集端口,供單片機(jī)采集。2、電路連接電路中 max3232芯片的 9、10 引腳分別連接單片機(jī)的pd0、 pd

41、1 端口, max3232的13、 14 引腳分別連接計(jì)算機(jī)串口線的3、2 腳。電位器 rp2 的動片引腳連接單片機(jī)的模擬信號采集通道pa0(adc0 ) 。3、特別說明本學(xué)習(xí)板采用的是串口插座是公頭的,所以與計(jì)算機(jī)相連的串口連接線應(yīng)該是交叉串口線,而不是串口延長線。5.2.4、程序設(shè)計(jì)1、程序功能程序的功能是通過單片機(jī)的串行接口,將單片機(jī)采集到的模擬電壓值發(fā)送到計(jì)算機(jī)中,通過計(jì)算機(jī)上的串口助手顯示采集的電壓值。 單片機(jī)串行接收中斷的編程在本例中,我們用到了單片機(jī)的串行接收中斷,需要編寫串行接收中斷服務(wù)程序,通過查詢wina vr (gcc)的中斷庫函數(shù)手冊,可以查找到atmega16 單片機(jī)

42、串行接收中斷的中斷向量為usart_rxc_vect 。據(jù)此我們可以編寫串行接收中斷服務(wù)程序,如下:/接收中斷函數(shù)isr(usart_rxc_vect ) unsigned char rev; rev = udr; /從 usart i/o 數(shù)據(jù)寄存器 udr 中讀出數(shù)據(jù)usart_putchar(rev); /將接收到的數(shù)據(jù)發(fā)送 在中斷服務(wù)程序中,我們首先把單片機(jī)串口接收到的數(shù)據(jù)放入變量rev 中,然后調(diào)用上一實(shí)例中編寫的串行接口字節(jié)發(fā)送函數(shù)將變量rev 中的數(shù)據(jù)發(fā)送到計(jì)算機(jī)。2、 單片機(jī)與計(jì)算機(jī)串行通信結(jié)果的觀察在觀察本例運(yùn)行結(jié)果時,我們同樣要用到串口助手,本例中,單片機(jī)發(fā)送串口數(shù)據(jù)采用的

43、波特率是9600bps,數(shù)據(jù)格式是8 位數(shù)據(jù)位, 1 位停止位,無奇偶校驗(yàn)。在串口助手里面,我們也要將波特率和數(shù)據(jù)格式設(shè)置成一樣的。3、函數(shù)說明本實(shí)例用到了6 個函數(shù),分別是:void port_init(void); /端口初始化配置void usart_init(void); /usart寄存器設(shè)置void ad_init(void); /ad初始化void usart_putchar(unsigned char ctxdata); /字節(jié)發(fā)送函數(shù)void usart_putstring(unsigned char *pcstring); / 字符串發(fā)送數(shù)據(jù)unsigned int ad_

44、getdata(void); /ad轉(zhuǎn)換函數(shù)4、使用wina vr 開發(fā)環(huán)境,在本例中我們使用的是外部12m 的晶振,所以需要將makefile文件中的時鐘頻率修改為12m 。另外在程序燒錄到單片機(jī)的時候,熔絲位也要選擇為外部12m 晶振( 注意是晶振,不是外部振蕩器,一定不要選擇錯了,否則會導(dǎo)致單片機(jī)不能再燒寫程序) 。5、程序代碼精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 11 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 11 頁,共 17 頁

45、 - - - - - - - - -#include #include #include /中斷函數(shù)頭文件/常量聲明#define baud 9600 /波特率設(shè)置值/全局變量聲明unsigned int addata; /ad 轉(zhuǎn)換獲得的數(shù)據(jù)/函數(shù)聲明void port_init(void); /端口初始化配置void usart_init(void); /usart 寄存器設(shè)置void ad_init(void); /ad 初始化void usart_putchar(unsigned char ctxdata); /字節(jié)發(fā)送函數(shù)void usart_putstring(unsigned c

46、har *pcstring); / 字符串發(fā)送數(shù)據(jù)unsigned int ad_getdata(void); /ad 轉(zhuǎn)換函數(shù)int main(void) unsigned char delay3s; port_init(); usart_init(); ad_init(); usart_putstring(ad轉(zhuǎn)換測試程序 ); usart_putstring( 測得 adc0 通道的電壓值為:); sei(); /使能全局中斷while(1) addata = (int)(long)ad_getdata() * 5010 / 1024); /將獲得的 ad 值轉(zhuǎn)換為電壓值/單位為 mv。

47、usart_putchar(addata / 1000 + 0 x30); /得到電壓值的千位并發(fā)送usart_putchar(.); /發(fā)送小數(shù)點(diǎn)usart_putchar(addata % 1000 / 100 + 0 x30); /得到電壓值的百位并發(fā)送usart_putchar(addata % 100 / 10 + 0 x30); /得到電壓值的十位并發(fā)送usart_putchar(addata % 10 + 0 x30); /得到電壓值的個位并發(fā)送usart_putchar(v); /發(fā)送電壓符號“v”usart_putchar(0 x0d); / 精品學(xué)習(xí)資料 可選擇p d f

48、- - - - - - - - - - - - - - 第 12 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 12 頁,共 17 頁 - - - - - - - - -usart_putchar(0 x0a); / ad 值發(fā)送結(jié)束,回車換行for(delay3s = 0;delay3s 30;delay3s+) /延時 3s _delay_ms(90); /端口狀態(tài)初始化設(shè)置函數(shù)void port_init() porta = 0x00; ddra = 0 x00; /adc 通道設(shè)置為輸入口

49、,高阻態(tài) /usart 寄存器配置函數(shù)void usart_init() ucsra = 0x00; ucsrc |= (1ursel) | (1 ucsz1) | (1 ucsz0); /異步,數(shù)據(jù)格式8,n,1 /ucsrc 寄存器與 ubrrh 寄存器共用相同的i/o 地址,寫 ucsrc 時, ursel 應(yīng)設(shè)置為1。ubrrl = (f_cpu / baud / 16 - 1) % 256; /波特率設(shè)置ubrrh = (f_cpu / baud / 16 - 1) / 256; ucsrb |= (1 rxcie) | (1 rxen) | (1 txen); /發(fā)送使能 /字節(jié)發(fā)

50、送函數(shù)void usart_putchar(unsigned char ctxdata) while( !(ucsra & (1 udre) ); /只有數(shù)據(jù)寄存器為空時才能發(fā)送數(shù)據(jù)udr = ctxdata; /發(fā)送數(shù)據(jù)送usart i/o 數(shù)據(jù)寄存器 udr /接收中斷函數(shù)isr(usart_rxc_vect ) unsigned char rev; rev = udr; /從 usart i/o 數(shù)據(jù)寄存器 udr 中讀出數(shù)據(jù)usart_putchar(rev); /將接收到的數(shù)據(jù)發(fā)送 精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 1

51、3 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 13 頁,共 17 頁 - - - - - - - - -void usart_putstring(unsigned char *pcstring) while (*pcstring) usart_putchar(*pcstring+); usart_putchar(0 x0d); usart_putchar(0 x0a); /結(jié)尾發(fā)送回車換行 /ad 轉(zhuǎn)換初始化函數(shù)void ad_init() admux |= (1 refs0); /adc 參

52、考電壓為avcc,adc 結(jié)果右對齊,選擇通道adc0 adcsra |= (1 aden) | (1 adps2) | (1 adps1); /使能 ad 轉(zhuǎn)換, adc 時鐘 64 分頻 /ad 轉(zhuǎn)換函數(shù)unsigned int ad_getdata() adcsra |= (1 adsc); /開始 ad 轉(zhuǎn)換while(!(adcsra & (1 adif); /等待轉(zhuǎn)換完成adcsra |= (1 adif); /清零 adc 中斷標(biāo)志位return adc; /返回 adc 值 附錄:adc 應(yīng)用設(shè)計(jì)要點(diǎn)1預(yù)分頻與轉(zhuǎn)換時間在通常情況下,adc的逐次比較轉(zhuǎn)換電路要達(dá)到最大精度

53、時,需要50khz200khz 之間的采樣時鐘。在要求轉(zhuǎn)換精度低于10 位的情況下,adc的采樣時鐘可以高于200khz,以獲得更高的采樣率。adc模塊中包含一個預(yù)分頻器的adc時鐘源,它可以對大于100khz的系統(tǒng)時鐘進(jìn)行分頻,以獲得合適的adc時鐘提供adc使用。預(yù)分頻器的分頻系數(shù)由adcsra 寄存器中的adps位設(shè)置的。一旦寄存器adcsra 中的 aden 位置“ 1” (adc開始工作),預(yù)分頻器就啟動開始計(jì)數(shù)。 aden 位為“ 1”時,預(yù)分頻器將一直工作;aden位為“ 0”時,預(yù)分頻器一直處在復(fù)位狀態(tài)。avr的 adc完成一次轉(zhuǎn)換的時間見表6.2.5 。從表中可以看出,完成一

54、次adc轉(zhuǎn)換通常需要 13-14 個 adc時鐘。而啟動adc開始第一次轉(zhuǎn)換到完成的時間需要25 個 adc時鐘,這是因?yàn)橐獙dc單元的模擬電路部分進(jìn)行初始化。表 6.2.5 adc轉(zhuǎn)換和采樣保持時間轉(zhuǎn) 換 形 式采樣保持時間完 成 轉(zhuǎn) 換 總 時 間精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 14 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 14 頁,共 17 頁 - - - - - - - - -當(dāng) adcsra 寄存器中的adsc 位置位,

55、啟動adc轉(zhuǎn)換時, a/d 轉(zhuǎn)換將在隨后adc時鐘的上升沿開始。一次正常的a/d 轉(zhuǎn)換開始時,需要1.5 個 adc時鐘周期的采樣保持時間(adc首次啟動后需要13.5 個 adc時鐘周期的采樣保持時間)。當(dāng)一次 a/d 轉(zhuǎn)換完成后, 轉(zhuǎn)換結(jié)果寫入 adc數(shù)據(jù)寄存器, adif(adc中斷標(biāo)志位)將被置位。在單次轉(zhuǎn)換模式下,adsc也同時被清零。用戶程序可以再次置位adsc 位,新的一次轉(zhuǎn)換將在下一個adc時鐘的上升沿開始。當(dāng) adc設(shè)置為自動觸發(fā)方式時,觸發(fā)信號的上升沿將啟動一次adc轉(zhuǎn)換。轉(zhuǎn)換完成的結(jié)果將一直保持到下一次觸發(fā)信號的上升沿出現(xiàn),然后開始新的一次adc轉(zhuǎn)換。這就保證了使adc每

56、隔一定的時間間隔進(jìn)行一次轉(zhuǎn)換。在這種方式下,adc需要 2 個 adc時鐘周期的采樣保持時間。在自由連續(xù)轉(zhuǎn)換模式下,一次轉(zhuǎn)換完畢后馬上開始一次新的轉(zhuǎn)換,此時,adsc位一直保持為“ 1” 。2adc輸入通道和參考電源的選擇寄存器 admux 中的 muxn 和 refs1 、refs0位實(shí)際上是一個緩沖器,該緩沖器與一個mcu可以隨機(jī)讀取的臨時寄存器相連通。采用這種結(jié)構(gòu), 保證了 adc輸入通道和參考電源只能在adc轉(zhuǎn)換過程中的安全點(diǎn)被改變。在adc轉(zhuǎn)換開始前,通道和參考電源可以不斷被更新,一旦轉(zhuǎn)換開始,通道和參考電源將被鎖定,并保持足夠時間,以確保adc轉(zhuǎn)換的正常進(jìn)行。在轉(zhuǎn)換完成前的最后一個

57、adc時鐘周期( adcsra 的 adif 位置“ 1”時) ,通道和參考電源又開始重新更新。注意,由于a/d 轉(zhuǎn)換開始于置位adsc 后的第一個adc時鐘的上升沿,因此,在置位 adsc 后的一個adc時鐘周期內(nèi)不要將一個新的通道或參考電源寫入到admux 寄存器中。改變差分輸入通道時需特別當(dāng)心。一旦確定了差分輸入通道,增益放大器需要125 s的穩(wěn)定時間。 所以在選擇了新的差分輸入通道后的125 s 內(nèi)不要啟動a/d 轉(zhuǎn)換,或?qū)⑦@段時間內(nèi)轉(zhuǎn)換結(jié)果丟棄。通過改變admux 中的 refs1 、refs0來更改參考電源后,第一次差分轉(zhuǎn)換同樣要遵循以上的時間處理過程。當(dāng)要改變adc輸入通道時,應(yīng)

58、該遵守以下方式,以保證能夠選擇到正確的通道:在單次轉(zhuǎn)換模式下,總是在開始轉(zhuǎn)換前改變通道設(shè)置。盡管輸入通道改變發(fā)生在adsc位被寫入“ 1”后的 1 個 adc時鐘周期內(nèi),然而,最簡單的方法是等到轉(zhuǎn)換完成后,再改變通道選擇。在連續(xù)轉(zhuǎn)換模式下,總是在啟動adc開始第一次轉(zhuǎn)換前改變通道設(shè)置。盡管輸入通道改變發(fā)生在adsc 位被寫入“ 1”后的 1 個 adc時鐘周期內(nèi),然而,最簡單的方法是等到第一次轉(zhuǎn)換完成后再改變通道的設(shè)置。然而由于此時新一次的轉(zhuǎn)換已經(jīng)自動開始,所以, 當(dāng)前這次的轉(zhuǎn)換結(jié)果仍反映前一通道的轉(zhuǎn)換值,而下一次的轉(zhuǎn)換結(jié)果將為新設(shè)置通道的值。adc電壓參考源adc的參考電壓( vref)決定

59、了a/d 轉(zhuǎn)換的范圍。如果單端通道的輸入電壓超過vref,將導(dǎo)致轉(zhuǎn)換結(jié)果接近于0 x3ff。adc的參考電壓vref可以選擇為avcc或芯片內(nèi)部的2.56v 參考源,或者為外接在aref 引腳上的參考電壓源。avcc通過一個無源開關(guān)連接到adc 。內(nèi)部 2.56v 參考源是由內(nèi)部能隙參考源(vbc)通過內(nèi)部的放大器產(chǎn)生的。注意,無論選用什么內(nèi)部參考電源,外部aref引腳都是直接與adc相連的,因此,可以通過外部在aref 引腳和地之間并接一個電容,使內(nèi)部參考電源更加穩(wěn)啟動 adc后的第一次轉(zhuǎn)換13.5 個 adc時鐘25 個 adc時鐘正常轉(zhuǎn)換,單端輸入1.5 個 adc時鐘13 個 adc時

60、鐘自動觸發(fā)方式2 個 adc時鐘13.5 個 adc時鐘正常轉(zhuǎn)換,差分輸入1.5/2.5個 adc時鐘13/14 個 adc時鐘精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 15 頁,共 17 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 15 頁,共 17 頁 - - - - - - - - -定和抗噪??梢酝ㄟ^使用高阻電壓表測量aref引腳,來獲得參考電源vref的電壓值。由于vref是一個高阻源,因此,只有容性負(fù)載可以連接到該引腳。如果將一個外部固定的電壓源連接到aref引腳,那就

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論