單片機(jī)教案(第8章A-DD-A轉(zhuǎn)換接口)_第1頁
單片機(jī)教案(第8章A-DD-A轉(zhuǎn)換接口)_第2頁
單片機(jī)教案(第8章A-DD-A轉(zhuǎn)換接口)_第3頁
單片機(jī)教案(第8章A-DD-A轉(zhuǎn)換接口)_第4頁
單片機(jī)教案(第8章A-DD-A轉(zhuǎn)換接口)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第九章 A/D、D/A轉(zhuǎn)換接口 模/數(shù)、數(shù)/模轉(zhuǎn)換技術(shù)在數(shù)字測(cè)量和數(shù)字控制技術(shù)中非常重要。本章著重從應(yīng)用角度分析幾種典型的A/D,D/A電路芯片及與8031的接口邏輯以及相應(yīng)的程序設(shè)計(jì)。9-1 數(shù)模D/A轉(zhuǎn)換器DAC08329.1.1 DAC0832芯片的結(jié)構(gòu)原理一、芯片結(jié)構(gòu)DAC0832是CMOS工藝制造的8位單片D/A轉(zhuǎn)換器,芯片采用的是雙列直插封裝結(jié)構(gòu)。二、 功能特點(diǎn)1、 分辨率為8位。2、 只需在滿量程下調(diào)整其線性度。3、 可與所有的單片機(jī)或微處理器直接接口,也可單獨(dú)使用。4、 電流穩(wěn)定時(shí)間1ms。 5、 可以雙緩沖(速度快),單緩沖可直通數(shù)據(jù)輸入。6、 低功耗,200mW。7、 邏輯

2、電平輸入與TTL兼容。8、 單電源供電(+5V或+15V)。三、引腳功能1、 DI0DI7:8位數(shù)字量數(shù)據(jù)輸入端(內(nèi)部為8位數(shù)據(jù)寄存器)。2、 AGND:模擬信號(hào)輸出的接地端。3、 DGND:數(shù)字信號(hào)輸入的接地端。4、 、:模擬電流信號(hào)輸出端,與的和為常數(shù)且與DAC寄存器的內(nèi)容線性變化。5、 :工作電源。6、 :反饋信號(hào)輸入端。芯片內(nèi)已有反饋電阻。在片外一般接運(yùn)放的輸出端。7、 :基準(zhǔn)電壓輸入端。(由外部電路提供的,可在-10V+10V內(nèi)選?。?、 ILE:數(shù)據(jù)鎖存允許信號(hào)輸入端,高電平有效。9、 :8位數(shù)據(jù)寄存器的選通信號(hào)輸入端,低電平有效。10、:輸入寄存器寫選通信號(hào)輸入端,低電平有效。1

3、1、:DAC寄存器寫選通信號(hào)輸入端,低電平有效。12、:數(shù)據(jù)轉(zhuǎn)移控制信號(hào)輸入端,低電平有效。13、:為內(nèi)部?jī)蓚€(gè)寄存器的輸入鎖存端。 當(dāng)=ILE··=0時(shí),8位輸入寄存器的輸出跟隨輸入變化;當(dāng)=ILE··=1時(shí),數(shù)據(jù)鎖存在輸入寄存器中,不再變化。 當(dāng)=·=0時(shí),8位DAC寄存器的輸出跟隨輸入變化; 當(dāng)=·=1時(shí),數(shù)據(jù)鎖存在DAC寄存器中,不再變化。 因此:由ILE、確定,由、確定。四、工作原理1、DAC0832是電流型D/A轉(zhuǎn)換電路,輸入數(shù)字量,輸出模擬量,通過運(yùn)算放大器將電流信號(hào)轉(zhuǎn)換成單端電壓信號(hào)輸出。2、由于輸出的模擬信號(hào),極易受到

4、電源和數(shù)字信號(hào)的干擾而發(fā)生波動(dòng),因此為提高模擬信號(hào)的精度,一方面將“數(shù)地”和“模地”分開(各自獨(dú)立),另一方面采用了高精度的基準(zhǔn)電源與“模地”配合使用。 MCS-51單片機(jī)與DAC0832的接口 一般有兩種接口方式:1、單緩沖器連接方式;2、雙緩沖器連接方式。一、單緩沖器連接方式DAC0832內(nèi)部的兩個(gè)寄存器 (輸入/DAC) 中的任一個(gè)都是處于常通狀態(tài)的(即共用一個(gè)地址7FFFH0111 1111 1111 1111B),相當(dāng)于是一個(gè)寄存器。當(dāng)數(shù)據(jù)進(jìn)入了輸入寄存器后,同時(shí)也寫入了DAC寄存器,故稱單緩沖器連接方式。單緩沖器軟件編程實(shí)例 設(shè)計(jì)一個(gè)生成鋸齒波的程序WAVE:MOV DPTR,#7

5、FFFH ;提供一個(gè)地址給輸入/DAC寄存器MOV A,DATA0 ;取數(shù)字量的初值LOOP:MOVX DPTR,A ;將數(shù)字量送入DAC0832進(jìn)行A/D轉(zhuǎn)換CJNE A,DATAEND,MORE;不為最大值就轉(zhuǎn)到MORE處;若為最大值程序往下執(zhí)行SJMP WAVE ;轉(zhuǎn)到WAVE處,繼續(xù)轉(zhuǎn)換MORE:INC A ;數(shù)字量加1,SJMP LOOP ;將增大的數(shù)字量繼續(xù)送入DAC0832進(jìn)行轉(zhuǎn)移二、雙緩沖器連接方式(以兩片DAC0832為例)1、雙緩沖器的工作特點(diǎn) 先將要轉(zhuǎn)換的數(shù)字量保存在輸入寄存器中,在適當(dāng)?shù)臅r(shí)候,再由輸入寄存器送至DAC寄存器鎖存并進(jìn)行D/A轉(zhuǎn)換輸出。2、雙緩沖器的連線特點(diǎn)

6、 輸入寄存器和DAC寄存器各占用一個(gè)I/O地址,所以每片DAC0832芯片工作在雙緩沖方式時(shí)需要兩個(gè)地址。 1#DAC0832的輸入寄存器用P2.7選通;(單獨(dú)地址,設(shè)為1#地址7FFFH0111 1111 1111 1111B) 2#DAC0832的輸入寄存器用P2.6選通;(單獨(dú)地址,設(shè)為2#地址0BFFFH1011 1111 1111 1111B) 1#和2#DAC0832的DAC寄存器合用P2.5選通;(共用地址,設(shè)為3#地址0DFFFH1101 1111 1111 1111B)雙緩沖器編程實(shí)例 對(duì)應(yīng)上電路,試編寫一個(gè)輸出一組同步信號(hào)的程序設(shè)計(jì)思路:1、由于上電路的兩個(gè)輸入寄存器不同地

7、址,因此可以將兩組不同的數(shù)字信號(hào)分時(shí)輸入給這兩個(gè)輸入寄存器中;2、又由于上電路的兩個(gè)DAC寄存器同地址,因此又可以同時(shí)將存放在輸入寄存器中的數(shù)據(jù)下傳給各自的DAC寄存器進(jìn)行D/A轉(zhuǎn)換,同步輸出。 (即:兩路數(shù)字信號(hào)輸入不同步,而轉(zhuǎn)換后的兩路模擬信號(hào)輸出同步)編制程序:MOV DPTR,#7FFFH ;提供1#輸入寄存器的地址(P2.7=0)MOV A,DATA1 ;將一組數(shù)字信號(hào)送入累加器AMOV DPTR,A ;再轉(zhuǎn)送到1#輸入寄存器中MOV DPTR,#0BFFFH ;提供2#輸入寄存器的地址(P2.6=0)MOV A,DATA2 ;將另一組數(shù)字信號(hào)送入累加器AMOV DPTR,A ;再轉(zhuǎn)

8、送到2#輸入寄存器中MOV DPTR,#0DFFH ;提供3#地址(即1#和2#DAC寄存器的地址P2.5=0)MOV DPTR,A ;同時(shí)轉(zhuǎn)換后兩路模擬量,實(shí)現(xiàn)同步輸出9-2模數(shù)A/D轉(zhuǎn)換器ADC08099.2.1 ADC0809芯片的結(jié)構(gòu)原理一、芯片結(jié)構(gòu) ADC0809是COMS工藝、采用逐次逼近法的8位A/D轉(zhuǎn)換芯片,共有28個(gè)引腳,雙列直插式封裝,片內(nèi)除A/D轉(zhuǎn)換部分外,還有多路模擬開關(guān)部分。二、功能特點(diǎn)1、 采用了8路模擬量的分時(shí)輸入(模擬開關(guān)),最多允許8路模擬量分時(shí)輸入。2、 共用一個(gè)A/D轉(zhuǎn)換器進(jìn)行模/數(shù)轉(zhuǎn)換。3、 內(nèi)部主要有四大部分組成: 8路模擬開關(guān); 8位A/D轉(zhuǎn)換器;

9、三態(tài)輸出鎖存器; 地址鎖存譯碼器。三、引腳功能1、 IN0IN7:8個(gè)輸入通道的模擬量輸入端。2、 D0D7:8位數(shù)字量輸出端。3、 START:轉(zhuǎn)換的啟動(dòng)信號(hào)輸入端。加上正脈沖后,A/D轉(zhuǎn)換才開始進(jìn)行。 (在正脈沖的上升沿,所有內(nèi)部寄存器清0;在正脈沖的下降沿,開始進(jìn)行A/D轉(zhuǎn)換。在此期間START應(yīng)保持低電平。)4、 ALE:地址鎖存信號(hào)輸入端。高電平時(shí)把3個(gè)地址信號(hào)A、B、C送入地址鎖存器,并經(jīng)過譯碼器得到地址輸出,以選擇相應(yīng)的模擬輸入通道。5、 A、B、C:轉(zhuǎn)換通道的地址(8位模擬開關(guān)的地址)信號(hào)輸入端。ALE鎖存信號(hào)CBA接通的通道1000IN01001IN11010IN21011I

10、N31100IN41101IN51110IN61111IN76、 EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出端。在START下降沿后10左右,EOC為低電平,表示正在進(jìn)行轉(zhuǎn)換;轉(zhuǎn)換結(jié)束時(shí),EOC返回高電平,表示轉(zhuǎn)換結(jié)束。EOC常用于A/D轉(zhuǎn)換狀態(tài)的查詢或作中斷請(qǐng)求信號(hào)。7、 OE:輸出允許控制輸入端。OE直接控制三態(tài)輸出鎖存器輸出數(shù)字信息。OE輸入0,數(shù)字輸出口為高阻態(tài);OE輸入1,允許轉(zhuǎn)換后結(jié)果輸出。8、 CLK:時(shí)鐘信號(hào)輸入端。ADC內(nèi)部沒有時(shí)鐘電路,故需外加時(shí)鐘信號(hào)。其最大允許值為640KHz,在實(shí)用中,需將主機(jī)的脈沖信號(hào)降頻后接入。9、 和:A/D轉(zhuǎn)換器的參考電壓輸入端。10、Vcc:芯片的電源電壓輸入

11、端。因?yàn)锳DC0809是CMOS芯片,所以允許的電壓很寬,可以從+5V+15V。11、GND:接地端。9.2.2 MCS-51單片機(jī)與ADC0809芯片的接口一、8051與ADC0809的實(shí)用接口電路1、 ADC0809的時(shí)鐘由8051輸出的ALE信號(hào)二分頻后提供。2、 ADC0809的通道地址A、B、C選由8051的P0口的低3位直接提供。3、 啟動(dòng)ADC0809的工作時(shí)序 先由P0口的低3位給出模擬通道的地址給A、B、C。聯(lián)合(邏輯或)提供一個(gè)信號(hào)給ADC0809芯片的START端和ALE地址鎖存端。 假定選中ADC0809的IN0通道,我們可知此時(shí)的通道地址由P2和P0組成(P2=111

12、1 1110,P0=1111 1000)即為:0FEF8H A/D轉(zhuǎn)換完畢后,再由EOC發(fā)出一個(gè)正脈沖通知8051。 8051在收到EOC的正脈沖信號(hào)后,產(chǎn)生一個(gè)信號(hào)并與P2.0聯(lián)合(邏輯或)提供一個(gè)信號(hào)給ADC0809芯片的OE端。 OE端有效后,打開輸出鎖存器三態(tài)門,8位數(shù)字信息就被讀入CPU。 以上所有的動(dòng)作都是在程序的導(dǎo)引下,一步一步的完成的。二、8051與ADC0809的實(shí)用接口電路的程序 有兩種結(jié)構(gòu)的程序:一種是采用查詢方式結(jié)構(gòu)的程序,另一種是采用中斷方式結(jié)構(gòu)的程序。1、 查詢方式結(jié)構(gòu)的程序 實(shí)例 將6路通道的模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換,并把轉(zhuǎn)換結(jié)果順序存放到以0A0H為首地址的RAM

13、中。 設(shè):數(shù)據(jù)暫存區(qū)的首地址為0A0H;需要進(jìn)行A/D轉(zhuǎn)換的模擬信號(hào)的通道個(gè)數(shù)N為6(N8)。ADST: MOV R1,#0A0H ;設(shè)置數(shù)據(jù)存儲(chǔ)區(qū)的首地址MOV DPTR,#0EF8H ;設(shè)置第一個(gè)模擬信號(hào)通道IN0的地址指針MOV R2,#06H ;設(shè)置待轉(zhuǎn)換的通道個(gè)數(shù)LOOP: MOVX DPTR ,A ;啟動(dòng)A/D轉(zhuǎn)換器 ;延時(shí)至A/D轉(zhuǎn)換完畢(約10)MOVX A,DPTR ;CPU讀取轉(zhuǎn)換結(jié)果MOV R1,A ;結(jié)果送入0A0H單元中INC DPTR ;指向下一個(gè)模擬信號(hào)通道INC R1 ;修改數(shù)據(jù)存儲(chǔ)區(qū)的地址DJNZ R2,LOOP ;若還未轉(zhuǎn)換完6路通道的信號(hào)則轉(zhuǎn)至LOOP處繼

14、續(xù)轉(zhuǎn)換。 以上程序僅對(duì)6路通道的模擬量進(jìn)行了一次A/D轉(zhuǎn)換,實(shí)用中則要反復(fù)多次的或者定時(shí)的循環(huán)檢測(cè)轉(zhuǎn)換。2、中斷方式結(jié)構(gòu)的程序 由主程序和中斷服務(wù)程序合成,中斷源設(shè)為。主程序(初始化程序) ADST: MOV R1,#0A0H ;設(shè)置數(shù)據(jù)存儲(chǔ)區(qū)的首地址MOV R2,#06H ;設(shè)置待轉(zhuǎn)換的通道個(gè)數(shù)SETB IT1 ;將中斷源設(shè)為下降沿觸發(fā)SETB EA ;設(shè)為允許中斷(總允許)SETB EX1 ;設(shè)中斷源為允許中斷MOV DPTR,#0EFF8H;設(shè)置第一個(gè)模擬信號(hào)通道IN0的地址指針MOVX DPTR,A ;啟動(dòng)A/D轉(zhuǎn)換器MOV A,R2 ;通道數(shù)送入累加器A中LOOP: JNZ LOOP

15、 ;如果6路通道未轉(zhuǎn)換完畢,則在原地等待中斷服務(wù)子程序MOVX A,DPTR ;CPU讀取轉(zhuǎn)換結(jié)果MOVX R1,A ;結(jié)果送入數(shù)據(jù)存儲(chǔ)區(qū)的單元中INC DPTR ;指向下一個(gè)模擬信號(hào)通道INC R1 ;修改數(shù)據(jù)存儲(chǔ)區(qū)的地址MOVX DPTR,A ;啟動(dòng)A/D轉(zhuǎn)換器的下一個(gè)通道DEC R2 ;修改(遞減)通道數(shù)MOV A,R2 ;新的通道數(shù)送入累加器A中RETI ;中斷返回9-2 數(shù)/模D/A與模/數(shù)A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)一、分辯率 分辯率是轉(zhuǎn)換器能夠分辯最小信號(hào)的能力。對(duì)于N位轉(zhuǎn)換器,實(shí)際分辯率為模擬量滿量程的。如:用一個(gè)8位的A/D轉(zhuǎn)換器去轉(zhuǎn)換一個(gè)滿量程為5V的模擬電壓,則它能分辯的最小電壓為:。 因此我們稱這樣的轉(zhuǎn)換器為8位或20mV分辯率的轉(zhuǎn)換器。二、轉(zhuǎn)換誤差 轉(zhuǎn)換誤差是反映轉(zhuǎn)換器的實(shí)際轉(zhuǎn)換值與理論值之間的誤差。如: 具有8位分辯

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論