51單片機(jī)與A/D接口設(shè)計(jì)詳解
掃描二維碼
隨時(shí)隨地手機(jī)看文章
A/D轉(zhuǎn)換器用于實(shí)現(xiàn)模擬量→數(shù)字量的轉(zhuǎn)換,按轉(zhuǎn)換原理可分為4種,即:計(jì)數(shù)式A/D轉(zhuǎn)換器、雙積分式A/D轉(zhuǎn)換器、逐次逼近式A/D轉(zhuǎn)換器和并行式A/D轉(zhuǎn)換器。
目前最常用的是雙積分式A/D轉(zhuǎn)換器和逐次逼近式A/D轉(zhuǎn)換器。雙積分式A/D轉(zhuǎn)換器的主要優(yōu)點(diǎn)是轉(zhuǎn)換精度高,抗干擾性能好,價(jià)格便宜。其缺點(diǎn)是轉(zhuǎn)換速度較慢,因此,這種轉(zhuǎn)換器主要用于速度要求不高的場合。
另一種常用的A/D轉(zhuǎn)換器是逐次逼近式的,逐次逼近式A/D轉(zhuǎn)換器是一種速度較快,精度較高的轉(zhuǎn)換器,其轉(zhuǎn)換時(shí)間大約在幾μs到幾百μs之間。通常使用的逐次逼近式典型A/D轉(zhuǎn)換器芯片有:
(1)ADC0801~ADC0805型8位MOS型A/D轉(zhuǎn)換器(美國國家半導(dǎo)體公司產(chǎn)品)。
(2)ADC0808 / 0809型8位MOS型A/D轉(zhuǎn)換器。
(3) ADC0816 / 0817。這類產(chǎn)品除輸入通道數(shù)增加至16個(gè)以外,其它性能與ADC0808 /0809型基本相同。
典型A/D轉(zhuǎn)換器芯片ADC0809
ADC0809是典型的8位8通道逐次逼近式A/D轉(zhuǎn)換器,CMOS工藝。
1. ADC0809的內(nèi)部邏輯結(jié)構(gòu)
ADC0809內(nèi)部邏輯結(jié)構(gòu)如圖所示。
圖中,多路開關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用一個(gè)A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。地址鎖存與譯碼電路完成對(duì)A、B、C三個(gè)地址位進(jìn)行鎖存和譯碼,其譯碼輸出用于通道選擇。
對(duì)ADC0809主要信號(hào)引腳的功能說明如下:
(1) IN7~I(xiàn)N0:模擬量輸入通道。ADC0809對(duì)輸入模擬量的要求主要有:信號(hào)單極性,電壓范圍0~5 V,若信號(hào)過小還需進(jìn)行放大。另外,在A/D轉(zhuǎn)換過程中,模擬量輸入的值不應(yīng)變化太快,因此,對(duì)變化速度快的模擬量,在輸入前應(yīng)增加采樣保持電路。
(2) A、B、C:地址線。A為低位地址,C為高位地址,用于對(duì)模擬通道進(jìn)行選擇。圖中為ADDA、ADDB和ADDC。
(3) ALE:地址鎖存允許信號(hào)。在對(duì)應(yīng)ALE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。
(4)START:轉(zhuǎn)換啟動(dòng)信號(hào)。START上跳沿時(shí),所有內(nèi)部寄存器清0;START下跳沿時(shí),開始進(jìn)行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,START應(yīng)保持低電平。
(5)D7~D0:數(shù)據(jù)輸出線。其為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連。
(6)OE:輸出允許信號(hào)。其用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=0,輸出數(shù)據(jù)線呈高電阻;OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。
(7)CLK:時(shí)鐘信號(hào)。ADC0809的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供,因此有時(shí)鐘信號(hào)引腳。通常使用頻率為500kHz的時(shí)鐘信號(hào)。
(8)EOC:轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)。EOC=0,正在進(jìn)行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。該狀態(tài)信號(hào)既可作為查詢的狀態(tài)標(biāo)志,又可以作為中斷請(qǐng)求信號(hào)使用。
(9)VCC:+5 V電源。
(10)Vref:參考電源。參考電壓用來與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為+5 V(Vref (+) =+5 V,Vref(-) =0 V)
MCS-51單片機(jī)與ADC0809接口
ADC0809與8031單片機(jī)的一種連接如圖所示。
電路連接主要涉及兩個(gè)問題,一是8路模擬信號(hào)通道選擇,二是A/D轉(zhuǎn)換完成后轉(zhuǎn)換數(shù)據(jù)的傳送。
8路模擬通道選擇
A、B、C分別接地址鎖存器提供的低三位地址,只要把三位地址寫入0809中的地址鎖存器,就實(shí)現(xiàn)了模擬通道選擇。對(duì)系統(tǒng)來說,地址鎖存器是一個(gè)輸出口,為了把三位地址寫入,還要提供口地址。圖7.40中使用的是線選法,口地址由P2.0確定,同時(shí)和相或取反后作為開始轉(zhuǎn)換的選通信號(hào)。
轉(zhuǎn)換數(shù)據(jù)的傳送
A/D轉(zhuǎn)換后得到的是數(shù)字量的數(shù)據(jù),這些數(shù)據(jù)應(yīng)傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D轉(zhuǎn)換完成,因?yàn)橹挥写_認(rèn)數(shù)據(jù)轉(zhuǎn)換完成后,才能進(jìn)行傳送。為此,可采用下述三種方式。
1) 定時(shí)傳送方式
對(duì)于一種A/D轉(zhuǎn)換器來說,轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指標(biāo)是已知的和固定的。例如,ADC0809轉(zhuǎn)換時(shí)間為128 μs,相當(dāng)于6 MHz的MCS-51單片機(jī)R 64個(gè)機(jī)器周期??蓳?jù)此設(shè)計(jì)一個(gè)延時(shí)子程序,A/D轉(zhuǎn)換啟動(dòng)后即調(diào)用這個(gè)延時(shí)子程序,延遲時(shí)間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進(jìn)行數(shù)據(jù)傳送。
2) 查詢方式
A/D轉(zhuǎn)換芯片有表明轉(zhuǎn)換完成的狀態(tài)信號(hào),例如ADC0809的EOC端。因此,可以用查詢方式,軟件測試EOC的狀態(tài),即可確知轉(zhuǎn)換是否完成,然后進(jìn)行數(shù)據(jù)傳送。
3) 中斷方式
把表明轉(zhuǎn)換完成的狀態(tài)信號(hào)(EOC)作為中斷請(qǐng)求信號(hào),以中斷方式進(jìn)行數(shù)據(jù)傳送。
在圖中,EOC信號(hào)經(jīng)過反相器后送到單片機(jī)的UMDJ,因此可以采用查詢?cè)撘_或中斷的方式進(jìn)行轉(zhuǎn)換后數(shù)據(jù)的傳送。
不管使用上述哪種方式,一旦確認(rèn)轉(zhuǎn)換完成,即可通過指令進(jìn)行數(shù)據(jù)傳送。
首先送出口地址,并以作選通信號(hào),當(dāng)信號(hào)有效時(shí),OE信號(hào)即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機(jī)接收,即:
MOV DPTR,#0000H ;選中通道0
MOVX A, @DPTR ;信號(hào)有效,輸出轉(zhuǎn)換后的數(shù)據(jù)到A累加器