數(shù)制與編碼:第9章 DA和AD轉(zhuǎn)換器接口_第1頁
數(shù)制與編碼:第9章 DA和AD轉(zhuǎn)換器接口_第2頁
數(shù)制與編碼:第9章 DA和AD轉(zhuǎn)換器接口_第3頁
數(shù)制與編碼:第9章 DA和AD轉(zhuǎn)換器接口_第4頁
數(shù)制與編碼:第9章 DA和AD轉(zhuǎn)換器接口_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第9章

D/A和A/D轉(zhuǎn)換器接口9.1D/A轉(zhuǎn)換器與51單片機(jī)接口9.2A/D轉(zhuǎn)換器與51單片機(jī)接口作業(yè)單片機(jī)的總線單片機(jī)具有專用的總線指令MOVX(雙周期),一條指令可使地址、數(shù)據(jù)、控制總線聯(lián)動。在第1個周期,ALE下降沿鎖定P0中的地址信息A7~A0,第2個周期,#WR或#RD的輸出或讀取P0中的數(shù)據(jù)D7~D0。1、寫總線指令或語句為:MOVX@DPTR,A XBYTE[0x7fff]=0x55; P0、P2、#WR會協(xié)調(diào)作用2、讀總線指令或語句為: MOVXA,@DPTR y=XBYTE[0x7fff];P0、P2、#RD會協(xié)調(diào)作用3、地址用法

直連

局部譯碼

全譯碼

9.1D/A轉(zhuǎn)換器與51單片機(jī)接口

---概述D/A轉(zhuǎn)換器是把數(shù)字量轉(zhuǎn)換為模擬量的器件。Vo--輸出電壓;VREF—基準(zhǔn)電壓或參考電壓

9.1D/A轉(zhuǎn)換器與51單片機(jī)接口

T型權(quán)電阻網(wǎng)絡(luò)-組成D/A轉(zhuǎn)換器采用T型電阻網(wǎng)絡(luò)的D/A轉(zhuǎn)換器

I=I3+I2+I1+I0-Vref-1/2Vref-1/4Vref-1/8Vref9.1D/A轉(zhuǎn)換器與51單片機(jī)接口I=d3*I3+d2*I2+d1*I1+d0*I0Vo=-I*Rf=-(d3*I3+d2*I2+d1*I1+d0*I0)*RfVo--輸出電壓;VREF—基準(zhǔn)電壓或參考電壓

guzhaolin@126.com9.1D/A轉(zhuǎn)換器與51單片機(jī)接口--轉(zhuǎn)換器性能指標(biāo)分辨率=1/(2n-1)1LSB對應(yīng)總量的比例,或者說為n位轉(zhuǎn)換時間(速率):由數(shù)字量得到模擬電壓的時間,如1us9.1D/A轉(zhuǎn)換器與51單片機(jī)接口---DAC0832芯片DAC0832內(nèi)部結(jié)構(gòu)DAC0832是一個分辨率為8bit的D/A轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)及管腳如圖。9.1D/A轉(zhuǎn)換器與51單片機(jī)接口---

DAC0832轉(zhuǎn)換器主要參數(shù)8位D/A轉(zhuǎn)換器,可由以下公式變換:D--數(shù)字量; 8bit:0~0xffV--輸入; 由VREF決定VREF--標(biāo)準(zhǔn)電壓; DAC0832:-10V~+10V9.1D/A轉(zhuǎn)換器與51單片機(jī)接口---

DAC0832轉(zhuǎn)換器工作方式1、直通方式使ILE、#CS、#WR1、#WR2、#XFER選通信號直接連接為有效電平,這樣由數(shù)字量直接到得模擬量。2、單緩沖方式使ILE、#CS、#WR1、#WR2、#XFER選通信號一級直通,另一級受控,受控的一級有效為電平時,可由數(shù)字量到得模擬量。3、雙緩沖方式使ILE、#CS、#WR1、#WR2、#XFER選通信號兩級都受控,通常先選通第一級,再選通第二級,最后到得模擬量。9.1D/A轉(zhuǎn)換器與51單片機(jī)接口---

與DAC0832連線單片機(jī)和DAC0832接口時,通常采用下面兩種方法:總線控制單緩沖方式:MOVX@DPTR,A(XBYTE[0x7fff]=0x0),寫信號WR、片選信號A15由總線自動發(fā)出并行I/O控制單緩沖方式:P0=x;P3_6=0;P2_7=0;寫、片選由指令控制P3.6、P2.7發(fā)出9.1D/A轉(zhuǎn)換器與51單片機(jī)接口---

應(yīng)用實(shí)例1例1:編程由DAC0832輸出0~5V正向鋸齒波。解:0V對應(yīng)數(shù)字量D0v=-0/(-5)*255=05V對應(yīng)數(shù)字量D5v=-5/(-5)*255=255x范圍:0~255例1程序:Unsignedcharx=0;main(){ while(1) {XBYTE[0x7fff]=x; x++; }}9.1D/A轉(zhuǎn)換器與51單片機(jī)接口---

應(yīng)用實(shí)例2例2:編程由DAC0832輸出2~4V正向鋸齒波。解:2V對應(yīng)數(shù)字量D2v=-2/(-5)*255=1024V對應(yīng)數(shù)字量D4v=-4/(-5)*255=204x范圍:102~204程序:#defineD_MIN102#defineD_MAX204unsignedcharx=102;main(){while(1){for(x=D_MIN;x<=D_MAX;x++) XBYTE[0x7fff]=x;}}9.1D/A轉(zhuǎn)換器與51單片機(jī)接口---

應(yīng)用實(shí)例3例3:編程由DAC0832輸出2~4V正向三角波。解:2V對應(yīng)數(shù)字量D2v=-2/(-5)*255=1024V對應(yīng)數(shù)字量D4v=-4/(-5)*255=204x范圍:102~204~102程序:#defineD_MIN102#defineD_MAX204unsignedcharx=102;main(){ while(1) { for(x=D_MIN;x<D_MAX;x++) XBYTE[0x7fff]=x; for(x=D_MAX;x>D_MIN;x--) XBYTE[0x7fff]=x; }}9.1D/A轉(zhuǎn)換器與51單片機(jī)接口---

應(yīng)用實(shí)例4例4:編程使用查表法由DAC0832輸出0~5V正向正弦波。程序:#include<reg51.h>#include<absacc.h>#defineDAC_PORT0X7FFF#defineMAX180//共180個點(diǎn)組成的一個正弦波周期unsignedcharx=0; //X范圍:0~179unsignedchardac_data[180]={…};main(){while(1){ for(x=0;x<180;x++) XBYTE[DAC_PORT]=dac_data[x];}} 9.2A/D轉(zhuǎn)換器與51單片機(jī)接口A/D轉(zhuǎn)換器是將模擬量轉(zhuǎn)換為數(shù)字量的器件。模/數(shù)轉(zhuǎn)換的類型及方法:

計(jì)數(shù)法

逐次逼近法

雙積分法guzhaolin@126.com9.2A/D轉(zhuǎn)換器與51單片機(jī)接口

1.計(jì)數(shù)式A/D轉(zhuǎn)換2.5V1Vref=5V000000000V000000010.02V000000100.04V000000110.06V100000002.5V還有次數(shù)少的方法嗎?9.2A/D轉(zhuǎn)換器與51單片機(jī)接口

2.逐次逼近式A/D轉(zhuǎn)換Vref=5V0.25V100000002.5V0010000001.25V000100000.625V000010000.3125V00000

1000.156V00000

1100.195V00000

1110.273V00000

1101.25V19.2A/D轉(zhuǎn)換器與51單片機(jī)接口

3.雙積分式A/D轉(zhuǎn)換(a)電路工作原理 (b)雙積分原理

Ui:如0.5VUi:如2.5VN2=N1×Ui/VrefVref:如0.5V9.2A/D轉(zhuǎn)換器ADC0809與51單片機(jī)接口

模/數(shù)轉(zhuǎn)換涉及的參數(shù)轉(zhuǎn)換率:每秒轉(zhuǎn)換的次數(shù)或1次轉(zhuǎn)換所使用的時間,如100us。分辨率:8位、10位、12位、16位等。

9.2A/D轉(zhuǎn)換器ADC0809與51單片機(jī)接口---ADC0809芯片ADC0809管腳圖: ADC0809是一個帶8選1開關(guān)的A/D轉(zhuǎn)換器,8路模擬量輸入依次是IN0~IN7,由ADDC、ADDB、ADDA三個地址控制由哪個模擬口輸入。CLK-最大640kHz,對應(yīng)轉(zhuǎn)換時間100usSTART-正脈沖啟動轉(zhuǎn)換EOC-轉(zhuǎn)換期間為0,轉(zhuǎn)換結(jié)束為1OE-正脈沖讀取轉(zhuǎn)換結(jié)果ADC0809結(jié)構(gòu)圖1、ADC0809流程及與單片機(jī)的總線連接(1)地址:CBA分別連接A2、A1、A0用于選擇通道。(2)需要給START加正脈沖啟動轉(zhuǎn)換器;EOC由低變高后,需要給OE加正脈沖讀取數(shù)據(jù),通常,地址線A15與#WR“或非”驅(qū)動“START”;A15與#RD“或非”驅(qū)動“OE”信號。A15,A2A1A0共同構(gòu)成通道地址。(3)數(shù)據(jù):數(shù)據(jù)線與D0~D7(P0)相連。(4)clock最大640KHz,可由ALE二分頻得到,參考電壓通常為+5V。2、判斷A/D完成轉(zhuǎn)換的三種編程方式:(1)啟動后延時100us以上讀取數(shù)據(jù);(2)查詢EOC是否由低變?yōu)楦撸唬?)EOC取反后作為中斷請求信號。9.2單片機(jī)與A/D轉(zhuǎn)換器ADC0809接口--與單片機(jī)接口9.2單片機(jī)與A/D轉(zhuǎn)換器ADC0809接口---應(yīng)用實(shí)例連線總線法(ADC0809的IN0通道地址:0x7ffc,即A15=0,A2=0,A1=0,A0=0即可)單片機(jī)控制ADC轉(zhuǎn)換編程流程:啟動IN0通道轉(zhuǎn)換, START=A15+WR,且A2A1A0=000轉(zhuǎn)換結(jié)束,EOC由0變?yōu)?讀取數(shù)據(jù), OE=A15+RD啟動IN0用輸出命令: XBYTE[0x7ff8]=0X0;讀取IN0結(jié)果,用輸入命令: result=XBYTE[0x7ff8];9.2A/D轉(zhuǎn)換器ADC0809與51單片機(jī)接口---控制流程例1:在Protues中,用ADC0809采集IN0通道上連接的電位器0~5V電壓,并在P0顯示數(shù)值。9.2A/D轉(zhuǎn)換器ADC0809與51單片機(jī)接口---

溫馨提示

  • 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

提交評論