版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
單片機(jī)原理與接口技術(shù)/第14章 A/D與?D/A轉(zhuǎn)在單片換機(jī)應(yīng)技用系統(tǒng)術(shù)中,輸出控制是單片機(jī)實現(xiàn)控制運算處理后,對控制對象的輸出通道接口。單片機(jī)主要輸出三種形態(tài)的信號:數(shù)字量,開關(guān)量和頻率量。單片機(jī)對模擬信號 被控制的對象處的信理號除上述三種可以直接由單片機(jī)直接產(chǎn)生的信號外,還有模擬量控制信號,該信號通過D/A轉(zhuǎn)換產(chǎn)生。也就是說把單片機(jī)發(fā)出的數(shù)字信號轉(zhuǎn)換成為模擬信號用來控制外部的設(shè)備,單片機(jī)僅能產(chǎn)生和處理數(shù)字信號,對于模擬信號只能借助D/A或者A/D轉(zhuǎn)換芯片來完成。14.1D/A.A/D轉(zhuǎn)換在單?片14機(jī).1.系1統(tǒng)A/中D-D的/A應(yīng)轉(zhuǎn)換用的數(shù)據(jù)通道 在一般的系統(tǒng)中通過傳感器采集現(xiàn)場的信息也就是模擬量,模擬量經(jīng)過前期電路處理再經(jīng)過A/D轉(zhuǎn)換進(jìn)入到單片機(jī)中14.1.1A/D-D/A轉(zhuǎn)換的數(shù)據(jù)通道單片機(jī)經(jīng)過D/A轉(zhuǎn)換對現(xiàn)場物理量進(jìn)行控制由于單片機(jī)的工作速度很快物理量的變化速度相對比較慢故一個A/D轉(zhuǎn)換器可以通用于各現(xiàn)場監(jiān)測點經(jīng)過多路開關(guān)的定時循環(huán)接通,各路信號依次及時可靠進(jìn)入到單片機(jī)14.1.1A/D-D/A轉(zhuǎn)換的數(shù)據(jù)通道多路開關(guān)循環(huán)接通電路,而現(xiàn)場信號通過采樣保持器進(jìn)行保存,以此來保證轉(zhuǎn)換的通暢性。另外采樣頻率必須是現(xiàn)場被測信號頻譜中最高頻率的兩倍以上14.1.1A/D-D/A轉(zhuǎn)換的數(shù)據(jù)通道D/A轉(zhuǎn)換示意圖:14.1.2
D/A轉(zhuǎn)換工作原理 D/A轉(zhuǎn)換是一種將數(shù)字信號轉(zhuǎn)換成連續(xù)模擬信號的操作,它作為單片機(jī)系統(tǒng)的數(shù)字信號和模擬環(huán)境的連續(xù)信號之間提供了一種接口,它工作的原理就是輸入數(shù)字信號輸出模擬信號。A/D轉(zhuǎn)換原理圖14.1.2
D/A轉(zhuǎn)換工作原理 D/A轉(zhuǎn)換器的輸入信號主要有兩種分別為:數(shù)字信號和基準(zhǔn)電壓。 D/A轉(zhuǎn)換器的輸出信號是模擬量,大部分的輸出是電流,也有的輸出電壓。14.1.2
D/A轉(zhuǎn)換工作原理D/A轉(zhuǎn)換器內(nèi)置運算放大器以低阻抗輸出電壓,稱之為電壓輸出型D/A轉(zhuǎn)換器D/A轉(zhuǎn)換器如果采用電流開關(guān)型電路,電流開關(guān)形電路如果直接輸出生成的電流,則為電流輸出型D/A轉(zhuǎn)換器。14.1.2
D/A轉(zhuǎn)換工作原理D/A轉(zhuǎn)換器的輸入數(shù)據(jù)是在不斷變換的,為了保持輸出的穩(wěn)定,須在其內(nèi)部處理器與輸入口之間增加鎖存數(shù)據(jù)的功能。一些D/A轉(zhuǎn)換器甚至具有雙重或者多重的數(shù)據(jù)緩沖結(jié)構(gòu),并具有數(shù)據(jù)鎖存和地址譯碼電路。這樣的轉(zhuǎn)換器多見于12位甚至更高的D/A轉(zhuǎn)換器。14.1.3如何選擇參考指D標(biāo)/:A轉(zhuǎn)換器分辨率:則最小輸出模擬量與最大輸出模擬量之比轉(zhuǎn)換時間:將一個數(shù)字量轉(zhuǎn)換為穩(wěn)定模擬量所需要的時間叫轉(zhuǎn)換時間。一般情況下電流輸出的D/A轉(zhuǎn)換時間比較短,電壓輸出的D/A轉(zhuǎn)換時間比較長線性度:考慮輸出的線形關(guān)系轉(zhuǎn)換精度:相對實際物理量的誤差14.1.3如何選擇D/A轉(zhuǎn)D換/器A的轉(zhuǎn)類型:換器根據(jù)輸出端口是并口還是串口,可分為串型輸出和并行輸出器件根據(jù)輸出是電流還是電壓,可分為電壓輸出型和電流輸出型器件根據(jù)能否進(jìn)行乘法運算,可分為乘法運算型和非乘法運算型根據(jù)內(nèi)部是否有鎖存器,可分為鎖存型器件和非鎖存型器件14.1.3如何選?擇D在D//AA轉(zhuǎn)換轉(zhuǎn)器中換有在器基準(zhǔn)電壓上加交流信號的,這樣就可以得到數(shù)字輸入和交流信號輸入相乘的結(jié)果所以稱為乘法型D/A轉(zhuǎn)換器,這種轉(zhuǎn)換器不僅可以進(jìn)行乘法運算,還可以使輸入信號衰減,也可以做調(diào)制器對輸入信號進(jìn)行調(diào)制。14.2
8位D/A芯片DAC0DA8C038322是由8位輸入寄存器,8 位DAC寄存器和8位D/A轉(zhuǎn)換器組成。 DAC0832中有兩級鎖存器,第一級即輸入 寄存器,第二級為DAC寄存器。除了能工作在單緩沖方式,通過這兩級鎖存器DAC0832可以工作在雙緩沖方式下,在輸出模擬信號的同時可以采集下一個數(shù)字量,提高了轉(zhuǎn)換速度。14.2
8位D/A芯片DAC利0用8兩級3轉(zhuǎn)2換器的作用可以讓多個 D/A轉(zhuǎn)換器同時工作,再通過第二級鎖存 信號實現(xiàn)多路D/A轉(zhuǎn)換的同時輸出。只要數(shù)據(jù)一進(jìn)入DAC寄存器便啟動D/A轉(zhuǎn)換。14.2.1?DDAAC0C8302的8引3腳2如的下:引腳DI0~DI7:8為數(shù)據(jù)輸入端ILE:輸入寄存器的數(shù)據(jù)允許鎖存信號?DAC0832的引腳:輸入寄存器選擇信號:輸入寄存器的數(shù)據(jù)寫信號:DAC寄存器寫信號,并啟動轉(zhuǎn)換:數(shù)據(jù)向DAC寄存器傳送信號,傳送后即啟動轉(zhuǎn)換14.2.1
DAC0832的引腳VREF:參考電壓輸入端IOUT1,IOUT2:電流輸出端Rfb:反饋信號輸入端AGND:模擬電路地(第三腳)DGND:數(shù)字電路地(第十腳)VCC:芯片供電電壓14.2.1
DAC0832的引腳注意:當(dāng)時,輸入數(shù)據(jù);當(dāng)時,數(shù)據(jù)被鎖定。14.2.2單片機(jī)與
DAC0832的接口電路14.2.2單片機(jī)與
DAC0832的接口電路?DAC0832帶有數(shù)據(jù)輸入寄存器,是總線兼容型的,可以將D/A芯片直接與數(shù)據(jù)總線相連,作為一個拓展的I/O口。?單緩沖接口方式?在單緩沖接口方式下,ILE接+5V。寫信號控制數(shù)據(jù)的鎖存,和相連,接單片機(jī)的,即數(shù)據(jù)同時寫入兩個寄存器;傳送允許信號與片選相連,即選中本片DAC0832后,寫入數(shù)據(jù)立刻啟動轉(zhuǎn)換。本例子DAC0832的地址為FFFEH。這種單緩沖方式適用于只有一路模擬信號輸出的場合。14.2.2單片機(jī)與
DAC0832的接口電路 本例子在運放輸出端輸出一個鋸齒波電壓信號,程序設(shè)計如下:#include<absacc.h>#include<reg51.h>#defineDAC0832XBYTE[0xfffe]#defineucharunsignedchar#defineunitunsignedintvoidstar(void){ uchari;while(1) {for(i=0;i<=255;i++) /*形成鋸齒波輸出值,最大255*/{DAC0832=i} /*D/A轉(zhuǎn)換輸出*/}}14.3 基于MAX536的串行D/A轉(zhuǎn)換器?MAX536是一款具有4路12位電壓輸出的D/A轉(zhuǎn)換器,它包括一個16位輸入/輸出的移位寄存器,4個輸入寄存器,4個DAC寄存器和4個輸出放大器。D/A轉(zhuǎn)換器采用倒T型R-2R電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器。14.3 基于MAX536的串行D/A轉(zhuǎn)換器?通過對輸入?yún)⒖茧妷悍謮韩@得模擬電壓輸出。其中,D/A轉(zhuǎn)換器A和B共享REFAB參考電壓,D/A轉(zhuǎn)換器C和D共享REFCD參考電壓。參考電壓范圍為0V到VDD-4V。14.3基于MAX536的串行D/A轉(zhuǎn)換器 在單片機(jī)系統(tǒng)中,可分為硬件部分和軟件部分。其中硬件部分是整個系統(tǒng)的實體構(gòu)成,是軟件系統(tǒng)的平臺和基礎(chǔ),沒有硬件做支撐設(shè)計出的軟件就無法調(diào)試也不能得到驗證。下面就是動態(tài)顯示硬件設(shè)計例子,我們給出了完整的電路圖。536的內(nèi)部結(jié)構(gòu)536的外部引MAX536引腳功能OUTB:DACB電壓輸出OUTA:DACA電壓輸出VSS:負(fù)電壓輸入AGND:模擬地REFAB:DACA和B參考電壓輸出DGND:數(shù)字地:DAC加載輸入(低電平有效,將輸入寄存器內(nèi)容傳送到DAC寄存器)MAX536引腳功能–SDI:串行數(shù)據(jù)輸入– :片選信號,低電平有效–SCK:移位寄存器輸入時鐘–SDO:串行數(shù)據(jù)輸出–REFCD:DACC和D的參考電壓輸出MAX536引腳功能TP:測試引腳,正常使用時連接VDDVDD正電壓輸入(12~15V)OUTD:DACD電壓輸出OUTC:DACC電壓輸出14.3.2工作原理和時序?MAX536的串行接口的最高時鐘為10MHz。工作期間引腳的低電平必須保持20微秒以上。它可以使用3線接口或4線接口的接口方式。在3線接口時,它的時序如下:MAX536的時序14.3.2工作原理和時◆序引腳接地或者接VDD。在為低電平期間,SDI引腳的串行輸入數(shù)據(jù)由串行時鐘SCLK的上升沿逐位送入移位寄存器,轉(zhuǎn)換成并行數(shù)據(jù)。輸入數(shù)據(jù)全部進(jìn)入移位寄存器后,置為高電平,利用的上升沿執(zhí)行命令字,對MAX536內(nèi)部寄存器進(jìn)行相應(yīng)控制。14.3.3
MAX536的編程方式?MAX接收的是16位的串行數(shù)據(jù),高位在前,低位在后。在串行數(shù)據(jù)中包括兩個地址位(A1.A0),兩個控制位(C1.C0)和待轉(zhuǎn)換的12位數(shù)據(jù)(D11~D0)。從高到低依次排列 這16位數(shù)據(jù)從高到低依次排列為:A1,A0,C1,C0,D11,D10,D9,D8,D7,D6,D5,D4,D3,D2,D1,D0。這些命令字與引腳的狀態(tài)來共同控制MAX536的轉(zhuǎn)換。14.3.3
MAX536的編程方式16位串行字功能A1
A0 C1
C0D11~D0000112位數(shù)據(jù)1加載DAC
A輸入寄存器,DAC輸出不變010112位數(shù)據(jù)1加載DAC
B輸入寄存器,DAC輸出不變100112位數(shù)據(jù)1加載DAC
C輸入寄存器,DAC輸出不變110112位數(shù)據(jù)1加載DAC
D輸入寄存器,DAC輸出不變001112位數(shù)據(jù)1加載DAC
A輸入寄存器,所有DAC寄存器改變011112位數(shù)據(jù)1加載DAC
B輸入寄存器,所有DAC寄存器改變101112位數(shù)據(jù)1加載DAC
C輸入寄存器,所有DAC寄存器改變111112位數(shù)據(jù)1加載DAC
D輸入寄存器,所有DAC寄存器改變x00012位數(shù)據(jù)x從移位寄存器加載所有數(shù)據(jù)到DAC14.3.3
MAX536的編程方式14.3.3
MAX536的應(yīng)用14.3.3
MAX536的應(yīng)用單片機(jī)的P2.1、P2.2.P2.3分別接MAX536的 、SCK、SDI。MAX536采用3線接口方式, 引腳接數(shù)字地,轉(zhuǎn)換器A、B、C.D都使用+5V的參考電壓,輸出電壓范圍為(0~5V)。單片機(jī)對MAX536的控制?本電路主要實現(xiàn)單片機(jī)對MAX536的控制,并使用MAX536進(jìn)行D/A轉(zhuǎn)換。四個通道都可以輸出數(shù)據(jù),實際應(yīng)用中根據(jù)具體情況可以減少通道。主程序#include<absacc.h>#include<reg51.h>sbit
cs=p2^1//定義的控制接口sbit
sck=p2^2//定義SCK的控制接口sbit
sdi=p2^3//定義SDI的控制接口 voiddata_out(unsignedcharnumer,unsignedintvalue) //定義MAX536的輸出函數(shù),通道號和輸出量 {switch(numer) //numer在實際應(yīng)用中可根據(jù)情況賦值 {case1: cs=0;//置低電平,低電平有效,開啟MAX536,可以輸入數(shù)據(jù)?? w536(value|0x1000);//定義DACA輸出,由編程方式可以知道A通道輸出的數(shù)字編碼是0x1000,通過“或”把命令加到輸出數(shù)據(jù)中。cs=1;//置高電平,利用的上升沿執(zhí)行命令字,對MAX536內(nèi)部寄存器進(jìn)行相應(yīng)的控制。break; //程序返回 case2:cs=0;//置低電平,低電平有效,開啟MAX536,可以輸入數(shù)據(jù) w536(value|0x5000);//定義DACB輸出,由編程方式可以知道B通道輸出的數(shù)字編碼是0x5000,通過“或”把命令加到輸出數(shù)據(jù)中? cs=1;//置高電平,利用的上升沿執(zhí)行命令字,對MAX536內(nèi)部寄存器進(jìn)行相應(yīng)的控制。break;case3://程序返回cs=0; //置低電平,低電平有效,開啟MAX536,可以輸入數(shù)據(jù)? w536(value|0x9000);//定義DACC輸出,由編程方式可以知道C通道輸出的數(shù)字編碼是0x9000,通過“或”把命令加到輸出數(shù)據(jù)中cs=1;//置高電平,利用的上升沿執(zhí)行命令字,對MAX536內(nèi)部寄存器進(jìn)行相應(yīng)的控制。break;//程序返回? case4: cs=0; //置低電平,低電平有效,開啟MAX536,可以輸入數(shù)據(jù)w536(value|0xD000);//定義DACD輸出,編程方式可以知道D通道輸出的數(shù)字編碼是0xD000,通過“或”把命令加到輸出數(shù)據(jù)中? cs=1;//置高電平,利用的上升沿執(zhí)行命令字,對MAX536內(nèi)部寄存器進(jìn)行相應(yīng)的控制。break; //程序返回}}子程序
void
w536(unsigned
int
indata) //indata為準(zhǔn)備輸出的數(shù)據(jù)包含了命令字{ char
n,i,j;unsigned
int
in_on;//定義數(shù)據(jù)邏輯in_on=ox0001;
//初始化數(shù)據(jù)邏輯,預(yù)備輸出數(shù)據(jù),從最低位開始輸出 for(n=0;n<16;n++)據(jù)//預(yù)備輸出16位數(shù)?{
sck=0;//設(shè)置SCK為低電平for(i=0,i<10;i++);
//延時
j=indata&in_on;
//使用“與”取出準(zhǔn)備輸出那一位的值?if(j==0001)//判斷輸出位//輸出sdi=1;elsesdi=0;?//輸出for(i=0,i<10;i++); //延時 sck=1; //設(shè)置SCK為高電平,在SCK的上升沿由SDI輸入的一位數(shù)據(jù)進(jìn)入移位寄存器。
indata=indata>>1;MAX536輸入下一位數(shù)據(jù)}//數(shù)字邏輯右移,}14.4
A/D轉(zhuǎn)換工作原理在單片機(jī)系統(tǒng)中,單片機(jī)所能處理的都是離散的數(shù)字信號。但是外部受控制的有關(guān)設(shè)備所產(chǎn)生的和接收的往往是模擬量。例如:溫度,速度,亮度等。所以必須將外部設(shè)備產(chǎn)生的模擬信號轉(zhuǎn)換成為數(shù)字信號才能使這些信號為單片機(jī)所識別,并在單片機(jī)中進(jìn)行處理。而將模擬信號轉(zhuǎn)換成為數(shù)字信號的過程我們稱之為模擬/數(shù)字(A/D)轉(zhuǎn)換,所使用的器件我們就稱之為模擬/數(shù)字(A/D)轉(zhuǎn)換器。14.4
A/D轉(zhuǎn)換工作原理?A/D轉(zhuǎn)換是一種將連續(xù)的模擬信號轉(zhuǎn)換成適合在單片機(jī)中處理并運行的二進(jìn)制數(shù),也就是把連續(xù)信號變成離散的信號。A/D轉(zhuǎn)換的工作原理如圖所示14.4.1
如何選擇A/DA/轉(zhuǎn)D轉(zhuǎn)換換器的器種類很多,性能也有很 大的不同,在A/D轉(zhuǎn)換器的選擇上不僅要 考慮它的性能還要考慮具體的應(yīng)用要求。 下面我們來看看選擇A/D轉(zhuǎn)換器的一些參 考性能指標(biāo)。14.4.1
如何選擇A/D轉(zhuǎn)換器1.A/D轉(zhuǎn)換器的位數(shù)A/D轉(zhuǎn)換器位數(shù)的確定,主要的考慮因素是轉(zhuǎn)換的誤差,位數(shù)越多所產(chǎn)生的誤差和失真就越小 為了減低硬件的消耗減少成本在一般的系統(tǒng)中我們都選用中分辨率的A/D轉(zhuǎn)換器,而其中以10位和11位是最合適的。14.4.1
如何選擇?A2./AD/D轉(zhuǎn)轉(zhuǎn)換器換的轉(zhuǎn)器換頻率 A/D轉(zhuǎn)換器從啟動到結(jié)束總需要一定的時間,而每秒鐘所完成的轉(zhuǎn)換次數(shù)就是A/D轉(zhuǎn)換器的轉(zhuǎn)換頻率。在確定A/D轉(zhuǎn)換器的轉(zhuǎn)換頻率的時候還要考慮到系統(tǒng)的采樣頻率。例如:A/D轉(zhuǎn)換器的轉(zhuǎn)換頻率為10KHz,而模擬信號一個周期的信號需要10個采樣點,根據(jù)采樣定理這個A/D轉(zhuǎn)換器所能處理的最高頻率的模擬信號僅為1KHz當(dāng)然通過提高A/D轉(zhuǎn)換器的轉(zhuǎn)換頻率可以提高處理的頻率,但是由于單片機(jī)的處理速度有限所以在單片機(jī)系統(tǒng)中始終有一個瓶頸無法突破。14.4.1
如何選擇A3./滿D量程轉(zhuǎn)誤差換器 這個指標(biāo)指的是滿量程輸出的時候?qū)?yīng)的輸入信號和理想輸入信號的差別4.線性度 本指標(biāo)指的是A/D轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大偏移。5.采樣/保持器 對于高頻信號來說是必須加采樣/保持器的。如果是低頻信號并采用高速的A/D轉(zhuǎn)換器的時候是可以不用采樣/保持器的。而直流信號和變化很慢的信號也可以不使用采樣/保持器。14.4.1
如何選擇A6./A/DD轉(zhuǎn)轉(zhuǎn)換器的換量程 器部分A/D轉(zhuǎn)換器提供了不同量程的引腳,必須使用正確才能保證信號盡量不失真。這樣的A/D轉(zhuǎn)換器不同的量程的輸入電壓可以從不同的引腳輸入。7.偏置極性 部分A/D轉(zhuǎn)換器提供了雙極性偏置控制。當(dāng)該引腳接地時,信號為單極性輸入方式;當(dāng)該引腳接基準(zhǔn)電壓時,信號為雙極性輸入方式。11.7
LED動態(tài)顯?示2.分及析:實驗 MAX7221在使用之前必須進(jìn)行初始化,即設(shè)置MAX7221的顯示模式、譯碼方式、亮度控制、掃描范圍(掃描LED個數(shù))。當(dāng)采用CodeB譯碼方式時,我們只要向數(shù)碼管0(digit0)~數(shù)碼管7(digit7)送出0x0~0x7即可。14.4.2 8位A/D轉(zhuǎn)換芯片ADC0809?ADC0809是8位逐次逼近型A/D轉(zhuǎn)換器,帶有8個模擬量輸入通道,芯片內(nèi)帶通道地址譯碼鎖存器,輸出帶三態(tài)數(shù)據(jù)鎖存器,啟動信號為脈沖啟動方式,每一通道的轉(zhuǎn)換大概需要100微秒。14.4.2 8位A/D轉(zhuǎn)換芯片ADC0809?ADC0809由三個部分組成,第一個部分是輸入部分,包括8位模擬開關(guān),3條地址線的通道地址鎖存器和譯碼器,第四條為ALE,這三個地址引腳通過編碼可以用來實現(xiàn)8路模擬信號輸入通道的選擇;第二部分是轉(zhuǎn)換部分,里面是一個逐次逼近型的A/D轉(zhuǎn)換器;第三個部分是輸出部分,該部分是一個三態(tài)輸出數(shù)據(jù)鎖存器,有8位數(shù)據(jù)輸出最上為LSB最下為MSB。8位A/D轉(zhuǎn)換芯片
ADC0809內(nèi)部結(jié)構(gòu)圖ADC0809的外部引腳圖ADC0809的引腳功√能IN0~IN8:8個模擬通道輸入端?!?START:啟動轉(zhuǎn)換信號√ EOC:轉(zhuǎn)換結(jié)束信號√ OE:輸出允許信號。信號由CPU讀信號和片選信號組合產(chǎn)生?!?CLOCK:外部時鐘脈沖輸入端,典型值為640KHz√ ALE:地址鎖存允許信號√ A,B,C:通道地址線。CBA的8種組合狀態(tài)000~111對應(yīng)了8個通道的選擇√ VREF(+),VREF(—):參考電壓輸入端√ VCC:+5V電源√ GND:地√ D0~D7:D7為最高位MSB,D0為最低位LSB。D7~D0組成8位數(shù)據(jù)輸出。ADC0809的地址編碼地址碼選通的模擬通道C
B
A000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ADC0809的應(yīng)用?C,B,A輸入的地址在ALE有效的時候被鎖存。啟動信號START上升沿到來時開始啟動轉(zhuǎn)換,EOC信號是在START下降沿到的10微秒后才變成低電平,表示轉(zhuǎn)換已經(jīng)結(jié)束。當(dāng)單片機(jī)接收到轉(zhuǎn)換結(jié)束的信號后,發(fā)送一個讀的信號給OE,然后開始從ADC0809輸入信號。14.3.2
ADC0809與單片機(jī)的接口14.3.2
ADC0809與單片本例機(jī)子數(shù)的據(jù)輸接出端口口D7~D0接單片機(jī)的P0^7~P0^0。啟動信號START由P3^0產(chǎn)生,ALE和START相連,即按輸入的通道地址接通模擬量并啟動轉(zhuǎn)換。地址選通信號C,B,A分別由P2^2,P2^1,P2^0產(chǎn)生。輸出允許信號由P3^7產(chǎn)生,即通過讀信號使得數(shù)據(jù)從P0口直接輸入單片機(jī)。轉(zhuǎn)換結(jié)束信號EOC與p3^2即外部中斷0相連。主程序sfr
p0=0x80;sfr
p2=0xA0;sfr
p3=0xB0;//定義P0的地址//定義P2的地址//定義P3的地址sbitad_ch=p3^2;//定義查詢引腳,當(dāng)0809轉(zhuǎn)換結(jié)束的時候EOC為低電平sbitread=p3^7;//定義讀信號sbitstar=p3^0//定義啟動轉(zhuǎn)換信號voidmain(void){ataticucharidataa[10];a0809(a); //啟動轉(zhuǎn)換并采樣AD0809通道的值}voida0809(ucharidata*x) //轉(zhuǎn)換函數(shù){uchari;ucharxdata*a_adr;//設(shè)置AD0809通道0的地址//把通道地址值賦給a_adr//處理8個通道的數(shù)據(jù)//啟動轉(zhuǎn)換p2=0xf8;a_adr=&p2;for(i=0;i<8;i++){
star=1;*a_adr=0;i=i;i=i;i=i;//延時等待EOC變?yōu)榈碗娖絯hile(ad_ch==0);//查詢是否轉(zhuǎn)換已經(jīng)結(jié)束,若轉(zhuǎn)換結(jié)束則讀取數(shù)據(jù)read=1; //讀數(shù)據(jù)信號有效,使OE為高電平開始讀取數(shù)據(jù)x[i]=*a_adr; //存儲轉(zhuǎn)換的結(jié)果//進(jìn)入下一通道的轉(zhuǎn)換#include<absacc.h>#include<reg51.h>#define
uchar
unsigned
char????????????????????????a_adr++;}}14.5 12位A/D轉(zhuǎn)換芯片ADS7804與8位和16位的A/D轉(zhuǎn)換器相比,12位A/D轉(zhuǎn)換器以其較高的性能價格比而在各類系統(tǒng)中中得到廣泛的應(yīng)用。下面就以ADS7804為例子詳細(xì)介紹12位A/D轉(zhuǎn)換器的應(yīng)用。ADS7804為12位的A/D轉(zhuǎn)換器,它不僅分辨率高、轉(zhuǎn)換速度快,而且接口方便,電路簡單、應(yīng)用靈活,因而具有廣泛的應(yīng)用前景。14.5.1
ADS7804的內(nèi)部結(jié)構(gòu)14.5.1
ADS7804的內(nèi)部結(jié)構(gòu)ADS7804芯片采用28腳0.3英寸PDIP(塑料雙列直插式)封裝,兩列管腳間距為0.3英寸,比一般DIP28封裝窄一倍,所以俗稱瘦型DIP;ADS7804采用單5V電源供電;芯片內(nèi)部含有采樣保持、電壓基準(zhǔn)和時鐘等電路,可極大簡化用戶的電路設(shè)計和硬件開鎖,并可提高系統(tǒng)的穩(wěn)定性。ADS7804采用CMOS工藝制造,轉(zhuǎn)換速度快、功耗低(最大功耗為100mW)。另外ADS7804采用逐次逼近式工作原理,單通道輸入,模擬輸入電壓的范圍為±10V,采樣速率為100kHz。ADS7804的外部引腳圖ADS7804的引腳?功VDIG數(shù)能字電源,和模擬電源VANA通常一起接到5V電源上VANA模擬電源,和數(shù)字電源VDIG通常一起接到5V電源上DGND數(shù)字地,通常與模擬地共地AGND1.AGND2模擬地,通常與數(shù)字地共地REF為參考電壓端,通常對地接2.2μF電容,芯片內(nèi)部可產(chǎn)生2.5V基準(zhǔn)電壓。CAP為參考電壓所需電容,對地接2.2μF電容VIN模擬信號輸入端D11~D0為數(shù)字量并行輸出口DZ(19~22腳)是為了使管腳與16位A/D轉(zhuǎn)換器ADS7805兼容而設(shè)的,可懸空 片選信號,與結(jié)合在下降沿有效,并持續(xù)40ns~6μs可啟動A/D轉(zhuǎn)換,第二個下降沿輸出數(shù)據(jù)。讀取模數(shù)轉(zhuǎn)換結(jié)果的控制信號轉(zhuǎn)換結(jié)束信號,高電平表示轉(zhuǎn)換結(jié)束,低電平表示轉(zhuǎn)換進(jìn)行中 BYTE控制從總線讀出的數(shù)據(jù)是轉(zhuǎn)換結(jié)果的高字節(jié)還是低字節(jié)。它為低電平的時候選擇低字節(jié),為高電平的時候選擇高字節(jié)。14.5.2
ADS7804如何啟動?轉(zhuǎn)換和首讀先將取腳電轉(zhuǎn)平換變低結(jié);然果后在腳輸入一個脈沖并在其下降沿啟動A/D轉(zhuǎn)換,此脈沖的寬度要求在40ns~6μs之間;這時BUSY腳電平拉低表示正在進(jìn)行轉(zhuǎn)換;在經(jīng)過大約8μs以后,轉(zhuǎn)換完成,BUSY腳電平相應(yīng)變高;再把R/C腳電平拉高,這樣,腳脈沖的下降沿即把轉(zhuǎn)換結(jié)果輸出到數(shù)據(jù)總線上。ADS7804啟動轉(zhuǎn)換和讀取轉(zhuǎn)換結(jié)果的時序圖模擬電壓和數(shù)字輸出的關(guān)系模擬輸入 初碼形式的數(shù)字輸出二進(jìn)制十六進(jìn)制9.99512V0111
1111
11117FF4.88mV0000
0000
00010010V0000
0000
0000000-4.88mV1111
1111
1111FFF-10V1000
0000
0000800ADS7804的輸出 因為ADS7804為12位A/D轉(zhuǎn)換器所以它的轉(zhuǎn)換結(jié)果為12位,對8位單片機(jī)而言,就必須分兩次讀入,而這個功能是由BYTE引腳來實現(xiàn)的。當(dāng)BYTE腳為高電平時,數(shù)據(jù)總線上輸出高字節(jié),當(dāng)BYTE腳為低電平時,輸出低字節(jié)。14.5.3
ADS7804與單片 因為A機(jī)DS7的804接的信口號脈沖寬度要求為40ns~6μs之間,而對于單片機(jī)而言,如采用12MHz的晶振,單周期指令和雙周期指令分別為1μs和2μs,而一個對位操作的指令為1μs所以我們把它和單片的P2.1端口相連,而 、 和BYTE信號,則分別與P2.0,P2.2,P2.3相連ADS7804與單片機(jī)的接口電路程序分析本數(shù)據(jù)采集系統(tǒng)程序如下: 單點采樣子程序SPS():用來返回一個有符號整數(shù)形式的轉(zhuǎn)換結(jié)果。 定長采樣子程序DLS():根據(jù)入口參數(shù)fixedtime(單位為μs)給定的采樣間隔采樣N點,并采用查詢單片機(jī)內(nèi)置定時器的方式來控制采樣時序,N點采樣結(jié)果存儲在外部存儲器數(shù)組array中。主程序1sfr
p2=0xA0; //定義P2的地址sbit
CS=p2^1;//定義片選地址sbit
BYTE=p2^3;//定義數(shù)據(jù)選擇地址sbit
RC=P2^2;//定義讀取結(jié)果地址sbit
BUSY=P2
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年核苷類藥物項目提案報告范文
- 2024-2025學(xué)年邢臺市巨鹿縣數(shù)學(xué)三上期末考試模擬試題含解析
- 2024-2025學(xué)年新疆維吾爾昌吉州奇臺縣數(shù)學(xué)三年級第一學(xué)期期末達(dá)標(biāo)檢測模擬試題含解析
- 去藥廠實習(xí)報告范文匯編5篇
- 2024-2025學(xué)年西安市碑林區(qū)三上數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 2024年版企業(yè)勞動合同及員工勞動保障合同版B版
- 2025年板臥式電除塵器項目規(guī)劃申請報告模范
- 2024年期多邊投資補(bǔ)償協(xié)議樣本一
- 大學(xué)實習(xí)報告范文合集10篇
- 暑假銀行實習(xí)報告匯編十篇
- 委托招生協(xié)議書范本2025年
- 解剖學(xué)試題與參考答案
- 2024版短視頻IP打造與授權(quán)運營合作協(xié)議3篇
- 小學(xué)生防詐騙安全教育內(nèi)容
- 人工智能技術(shù)賦能多模態(tài)大學(xué)英語閱讀教學(xué)模式的探究
- 北京市某中學(xué)2024-2025學(xué)年七年級上學(xué)期期中考試語文試卷
- 2023-2024學(xué)年浙江省寧波市鄞州區(qū)多校統(tǒng)編版六年級上冊期末考試語文試卷
- 裝修逾期索賠合同范例
- 2024-2025學(xué)年上學(xué)期深圳初中地理七年級期末模擬卷3
- 中國當(dāng)代文學(xué)專題-003-國開機(jī)考復(fù)習(xí)資料
- 2024年廣東公需科目答案
評論
0/150
提交評論