ADC(模數(shù)轉(zhuǎn)換器)是許多單片機(jī)開發(fā)中非常重要的一部分,本文是關(guān)于將ADC連接到8051單片機(jī)。ADC0804是此處使用的ADC,在進(jìn)行接口程序之前,我們必須清楚地了解ADC0804的工作原理。
一、ADC0804
ADC0804是一顆8位、單通道的A/D轉(zhuǎn)換器。ADC0804的特點(diǎn)是差分模擬電壓輸入,0-5V輸入電壓范圍,無調(diào)零,內(nèi)置時(shí)鐘發(fā)生器,可以外部調(diào)節(jié)參考電壓以將較小的模擬電壓跨度轉(zhuǎn)換為8位分辨率等。ADC0804引腳圖如下圖所示:
ADC0804的Vref/2(引腳9)處的電壓可以在外部進(jìn)行調(diào)節(jié),以將較小的輸入電壓跨度轉(zhuǎn)換為全8位分辨率。Vref/2(pin9)左開表示輸入電壓跨度為0-5V,步長為5/255=19.6V。查看下表,了解不同的Vref/2電壓和相應(yīng)的模擬輸入電壓范圍:
轉(zhuǎn)換模擬輸入和讀取ADC0804輸出的步驟:
(1)使CS=0并向WR引腳發(fā)送一個(gè)低到高的脈沖以啟動(dòng)轉(zhuǎn)換。
(2)現(xiàn)在繼續(xù)檢查INTR引腳。如果轉(zhuǎn)換未完成,INTR將為1,如果轉(zhuǎn)換完成,INTR將為0。
(3)如果轉(zhuǎn)換未完成(INTR=1),則輪詢直到完成。
(4)如果轉(zhuǎn)換完成(INTR=0),則進(jìn)入下一步。
(5)使CS=0并向RD引腳發(fā)送一個(gè)從高到低的脈沖以從ADC讀取數(shù)據(jù)。
二、原理圖
上圖顯示了ADC0804與8051的接口原理圖。電路啟動(dòng)ADC以轉(zhuǎn)換給定的模擬輸入,然后接受相應(yīng)的數(shù)字?jǐn)?shù)據(jù)并將其顯示在連接在P0的LED陣列上。例如,如果模擬輸入電壓Vin為5V,則所有LED都會(huì)發(fā)光,以二進(jìn)制表示11111111,相當(dāng)于十進(jìn)制的255。AT89s51是這里使用的單片機(jī)。ADC0804的數(shù)據(jù)輸出引腳(D0至D7)分別連接到端口引腳P1.0至P1.7。LEDD1至D8分別連接到端口引腳P0.0至P0.7。電阻器R1至R8是限流電阻器。簡單來說,單片機(jī)的P1是輸入端口,P0是輸出端口。ADC的控制信號(hào)(INTR、WR、RD和CS)分別在端口引腳P3.4至P3.7處可用。電阻器R9和電容器C1與ADC的內(nèi)部時(shí)鐘電路相關(guān)聯(lián)。預(yù)設(shè)電阻R10形成一個(gè)分壓器,可用于將特定輸入模擬電壓施加到ADC。按鈕S1、電阻器R11和電容器C4形成去抖動(dòng)復(fù)位機(jī)制。晶體X1和電容器C2、C3與單片機(jī)的時(shí)鐘電路相關(guān)。
四、程序
ORG00H
MOVP1,#11111111B
MAIN:CLRP3.7
SETBP3.6
CLRP3.5
SETBP3.5
WAIT:JBP3.4,WAIT
CLRP3.7
CLRP3.6
MOVA,P1
CPLA
MOVP0,A
SJMPMAIN
-
adc
+關(guān)注
關(guān)注
97文章
6291瀏覽量
542383 -
模數(shù)轉(zhuǎn)換器
+關(guān)注
關(guān)注
26文章
3039瀏覽量
126533 -
8051單片機(jī)
+關(guān)注
關(guān)注
5文章
153瀏覽量
25430
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論