微型計算機控制技術(shù)_第1頁
微型計算機控制技術(shù)_第2頁
微型計算機控制技術(shù)_第3頁
微型計算機控制技術(shù)_第4頁
微型計算機控制技術(shù)_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

8-1MCS-51單片機與ADC的接口8-2MCS-51單片機與DAC的接口第8章MCS-51與D/A、A/D的接口單片機擴展I/O電路的功能:1、速度協(xié)調(diào);2、輸出數(shù)據(jù)鎖存;3、輸入數(shù)據(jù)三態(tài);4、數(shù)據(jù)轉(zhuǎn)換:

模擬量→數(shù)字量:由A/D轉(zhuǎn)換完成;數(shù)字量→模擬量:由D/A轉(zhuǎn)換完成。單片機和被控實體間的接口示意圖舉例1:溫度測控系統(tǒng)舉例2:速度測控系統(tǒng)舉例3:紅外線自動門控制系統(tǒng)原理圖BISS000160K20K1032M10K10u1M1M47K10347u電壓檢測模塊電機溫度檢測P3.3/INT1手動/自動切換手動關(guān)按鈕P3.4P3.02.2uDSG紅外傳感器+5VGND3.3K103103470u+5V330K330K10210nVCVDD2OUT2IN-1IN+1IN-1OUT220KIBRR1AV0RC1RC2RR2VSS+5V行程開關(guān)2行程開關(guān)3手動開按鈕光電隔離電機正轉(zhuǎn)繼電器J1電機過熱報警轉(zhuǎn)速檢測模塊A/D轉(zhuǎn)換蜂鳴報警行程開關(guān)4行程開關(guān)1電壓過高報警速度異常報警速度變換繼電器J3電機反轉(zhuǎn)繼電器J2ADC0809P1.0P1.3P1.2P1.1P1.4P1.5P1.6P2.0P2.1P2.3P2.2P3.2/INT0P3.1P0/WR/RDALEP1.710K×6LEDAT89C51VCC紅外線傳感器集成芯片BISS0001特點(1)用CMOS工藝,功耗低。(2)具有獨立的高輸入阻抗運算放大器,可與多種傳感器匹配。(3)雙向鑒幅器可有效抑制干擾信號。(4)內(nèi)設(shè)延時和封鎖定時器,性能穩(wěn)定,調(diào)節(jié)范圍寬。(5)內(nèi)置參考電源。(6)工作電壓范圍寬(3V~5V)。BISS000112345678910111213141516AV0RR1RC1RC2RR2VssVRF/RESETVcIBVDD2OUT2IN-1IN+1IN-1OUT8.1MCS-51單片機與ADC的接口8.1.1A/D轉(zhuǎn)換器概述一.A/D轉(zhuǎn)換器的類型及原理

A/D轉(zhuǎn)換器(ADC)的作用是把模擬量轉(zhuǎn)換成數(shù)字量,以便于計算機進行處理。隨著超大規(guī)模集成電路技術(shù)的飛速發(fā)展,現(xiàn)在有很多類型的A/D轉(zhuǎn)換器芯片,不同的芯片,它們的內(nèi)部結(jié)構(gòu)不一樣,轉(zhuǎn)換原理也不同,各種A/D轉(zhuǎn)換芯片分類如下:根據(jù)轉(zhuǎn)換原理可分為計數(shù)型A/D轉(zhuǎn)換器、逐次比較式、

雙重積分型和并行式A/D轉(zhuǎn)換器等;按轉(zhuǎn)換方法可分為直接A/D轉(zhuǎn)換器和間接A/D轉(zhuǎn)換器;按其分辨率可分為4~16位的A/D轉(zhuǎn)換器芯片。A/D(AnalogtoDigit)轉(zhuǎn)換器A/D轉(zhuǎn)換是把模擬量信號轉(zhuǎn)化成與其大小成比例的數(shù)字信號。A/D轉(zhuǎn)換電路主要分成:1、雙積分式(速度慢,精度高:用于速度要求不高的場合);2、逐次逼近式(速度較快,精度較高:常用)。常用芯片:

MC14433(3?位)雙積分式ICL7135(4?位)

ICL7109(12位)

ADC0808、ADC0809(8位)逐次逼近式ADC1210(12位)

AD574(12位)1、計數(shù)型A/D轉(zhuǎn)換器計數(shù)型A/D轉(zhuǎn)換器由D/A轉(zhuǎn)換器、計數(shù)器和比較器組成,工作時,計數(shù)器由零開始計數(shù),每計一次數(shù)后,計數(shù)值送往D/A轉(zhuǎn)換器進行轉(zhuǎn)換,并將生成的模擬信號與輸入的模擬信號在比較器內(nèi)進行比較,若前者小于后者,則計數(shù)值加1,重復D/A轉(zhuǎn)換及比較過程,依此類推,直到當D/A轉(zhuǎn)換后的模擬信號與輸入的模擬信號相同,則停止計數(shù),這時,計數(shù)器中的當前值就為輸入模擬量對應(yīng)的數(shù)字量。這種A/D轉(zhuǎn)換器結(jié)構(gòu)簡單、原理清楚,但它的轉(zhuǎn)換速度與精度之間存在矛盾,當提高精度時,轉(zhuǎn)換的速度就慢,當提高速度時,轉(zhuǎn)換的精度就低,所以在實際中很少使用。逐次逼近型A/D轉(zhuǎn)換器是由一個比較器、D/A轉(zhuǎn)換器、寄存器及控制電路組成。與計數(shù)型相同,也要進行比較以得到轉(zhuǎn)換的數(shù)字量,但逐次逼近型是用一個寄存器從高位到低位依次開始逐位試探比較。轉(zhuǎn)換過程如下:開始時寄存器各位清0,轉(zhuǎn)換時,先將最高位置1,送D/A轉(zhuǎn)換器轉(zhuǎn)換,轉(zhuǎn)換結(jié)果與輸入的模擬量比較,如果轉(zhuǎn)換的模擬量比輸入的模擬量小,則1保留,如果轉(zhuǎn)換的模擬量比輸入模擬量大,則1不保留,然后從第二位依次重復上述過程直至最低位,最后寄存器中的內(nèi)容就是輸入模擬量對應(yīng)的數(shù)字量。一個n位的逐次逼近型A/D轉(zhuǎn)換器轉(zhuǎn)換只須要比較n次,轉(zhuǎn)換時間只取決于位數(shù)和時鐘周期。逐次逼近型A/D轉(zhuǎn)換器轉(zhuǎn)換速度快,在實際中廣泛使用。2、逐次逼近型A/D轉(zhuǎn)換器逐次逼近A/D轉(zhuǎn)換原理:N位寄存器用來存放N位二進制數(shù)碼。當VX≥VN,則保留DN-1=1,否則清0。其余類推。3、雙重積分型A/D轉(zhuǎn)換器雙重積分型A/D轉(zhuǎn)換器將輸入電壓先變換成與其平均值成正比的時間間隔,然后再把此時間間隔轉(zhuǎn)換成數(shù)字量,它屬于間接型轉(zhuǎn)換器。它的轉(zhuǎn)換過程分為采樣和比較兩個過程。采樣即用積分器對輸入模擬電壓進行固定時間的積分,輸入模擬電壓值越大,采樣值越大,比較就是用基準電壓對積分器進行反向積分,直至積分器的值為0,由于基準電壓值固定,所以采樣值越大,反向積分時積分時間越長,積分時間與輸入電壓值成正比,最后把積分時間轉(zhuǎn)換成數(shù)字量,則該數(shù)字量就為輸入模擬量對應(yīng)的數(shù)字量。由于在轉(zhuǎn)換過程中進行了兩次積分,因此稱為雙重積分型。雙重積分型A/D轉(zhuǎn)換器轉(zhuǎn)換精度高,穩(wěn)定性好,測量的是輸入電壓在一段時間的平均值,而不是輸入電壓的瞬間值,因此它的抗干擾能力強,但是轉(zhuǎn)換速度慢,雙重積分型A/D轉(zhuǎn)換器在工業(yè)上應(yīng)用也比較廣泛。雙積分型A/D轉(zhuǎn)換器工作原理:雙積分型A/D轉(zhuǎn)換是一種間接A/D

轉(zhuǎn)換技術(shù)。首先將模擬電壓轉(zhuǎn)換成積分時間,然后用數(shù)字脈沖計時方法轉(zhuǎn)換成計數(shù)脈沖數(shù),最后將此代表模擬輸入電壓大小的脈沖數(shù)轉(zhuǎn)換成二進制或BCD碼輸出。因此,雙積分型A/D轉(zhuǎn)換器轉(zhuǎn)換時間較長,一般要大于40~50ms。MC14433與80C51直接連接的接口80C51MC14433ICL7109與80C51的接口電路圖80C51二.A/D轉(zhuǎn)換器的主要性能指標1.分辨率;2.轉(zhuǎn)換時間;3.量程;4.轉(zhuǎn)換精度。8.1.2ADC0809與MCS-51的接口一.ADC0809芯片

ADC0809是CMOS單片型逐次逼近型A/D轉(zhuǎn)換器,具有8路模擬量輸入通道,有轉(zhuǎn)換起停控制,模擬輸入電壓范疇為0~+5V,轉(zhuǎn)換時間為100μs,它的內(nèi)部結(jié)構(gòu)如下圖所示。IN0IN1IN2IN3IN4IN5IN6IN7ADDAADDBADDCALE通道選擇開關(guān)地址鎖存和譯碼定時和控制逐次逼近寄存器SAR8位三態(tài)鎖存緩沖器OEEOCCLOCKSTARTVCCGNDVREF+VREF-ADC0809D0D1D2D3D4D5D6D7DAC二.ADC0809的引腳ADC0809芯片有28個引腳,采用雙列直插式封裝,如圖。其中:IN0~IN7:8路模擬量輸入端。D0~D7:8位數(shù)字量輸出端。ADDA、ADDB、ADDC:3位地址輸入線,用于選擇8路模擬通道中的一路。ALE:地址鎖存允許信號,輸入,高電平有效。START:A/D轉(zhuǎn)換啟動信號,輸入,高電平有效。EOC:A/D轉(zhuǎn)換結(jié)束信號,輸出。

0:正在進行轉(zhuǎn)換;

1:一次轉(zhuǎn)換完成。OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當轉(zhuǎn)換結(jié)束后,如果從該引腳輸入高電平,則打開輸出三態(tài)門,輸出鎖存器的數(shù)據(jù)從D0~D7送出。CLK:時鐘脈沖輸入端。其內(nèi)部無時鐘電路。要求時鐘頻率不高于640KHZ.VREF+、VREF-:基準電壓輸入端。決定輸入模擬量的范圍。典型值分別為+5V和0V。Vcc:電源,接+5V電源。GND:地。

ADDA、ADDB、ADDC:3位地址輸入線,用于選擇8路模擬通道中的一路,選擇情況如下:ADDCADDBADDA選擇通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7多路轉(zhuǎn)換開關(guān)CBAIN0IN1IN7A/D轉(zhuǎn)換三.ADC0809的工作流程ADC0809的工作流程如圖所示:1.輸入3位地址,并使ALE=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器譯碼從8路模擬通道中選通一路模擬量送到比較器。2.送START一高脈沖,START的上升沿使逐次逼近寄存器復位,下降沿啟動A/D轉(zhuǎn)換,并使EOC信號為低電平。3.當轉(zhuǎn)換結(jié)束時,轉(zhuǎn)換的結(jié)果送入到輸出三態(tài)鎖存器,并使EOC信號回到高電平,通知CPU已轉(zhuǎn)換結(jié)束。4.當CPU執(zhí)行一讀數(shù)據(jù)指令,使OE為高電平,則從輸出端D0~D1讀出數(shù)據(jù)。四.ADC0809與MCS-51單片機的接口下圖是一個ADC0809與8051的一個接口電路圖。1.硬件連接涉及2個問題:(1)8路模擬信號通道選擇;(2)A/D轉(zhuǎn)換完成后轉(zhuǎn)換數(shù)據(jù)的傳送。轉(zhuǎn)換數(shù)據(jù)的傳送:①定時傳送方式;(不需接EOC腳)②查詢方式;(測試EOC腳的狀態(tài))③中斷方式。(EOC腳接INT腳)注意:(1)不能用無條件方式;(2)2個ALE不能相接。8路模擬通道的地址:0000H~0007H。P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ALEWR

P2.7RDINT0+++5VGNDD0D1D2D3D4D5D6D7ADDAADDBADDCCLKALESTARTOEEOCIN0IN1IN2IN3IN4IN5IN6IN7

VREF+VREF-ADC08098051分頻器2.軟件編程設(shè)接口電路用于一個8路模擬量輸入的巡回檢測系統(tǒng),使用中斷方式采樣數(shù)據(jù),把采樣轉(zhuǎn)換所得的數(shù)字量按序存于片內(nèi)RAM的30H~37H單元中。采樣完一遍后停止采集。A/D轉(zhuǎn)換程序:(延時等待方法)MOV DPTR,#0000H;ADC0809地址MOV A,#00H ;選中IN0MOVX @DPTR,A ;啟動A/D轉(zhuǎn)換LCALL DELAY ;等待轉(zhuǎn)換結(jié)束MOVX A,@DPTR ;讀轉(zhuǎn)換結(jié)果RET不用接EOC腳,采用定時傳送方式。匯編語言編程:中斷方法

ORG0003H LJMPINT0 ORG0100H ;主程序

MOVR0,#30H ;設(shè)立數(shù)據(jù)存儲區(qū)指針

MOVR2,#08H ;設(shè)置8路采樣計數(shù)值

SETBIT0 ;設(shè)置外部中斷0為邊沿觸發(fā)方式

SETBEA ;CPU開放中斷

SETBEX0 ;允許外部中斷0中斷

MOVDPTR,#0000H ;送入口地址并指向IN0LOOP:MOVX@DPTR,A ;啟動A/D轉(zhuǎn)換,A的值無意義HERE:SJMPHERE ;等待中斷

ORG0200H ;中斷服務(wù)程序INT0:MOVXA,@DPTR ;讀取轉(zhuǎn)換后的數(shù)字量

MOV@R0,A ;存入片內(nèi)RAM單元

INCDPTR ;指向下一模擬通道

INCR0 ;指向下一個數(shù)據(jù)存儲單元

DJNZR2,NEXT ;8路未轉(zhuǎn)換完,則繼續(xù)

CLREA ;已轉(zhuǎn)換完,則關(guān)中斷

CLREX0 ;禁止外部中斷0中斷

RETI ;中斷返回NEXT:MOVX@DPTR,A ;再次啟動A/D轉(zhuǎn)換

RETI ;中斷返回C語言編程:#include<reg51.h>#include<absacc.h> //定義絕對地址訪問#defineucharunsignedchar#defineIN0XBYTE[0x0000]//定義IN0為通道0的地址staticuchardatax[8];//定義8個單元的數(shù)組,存放結(jié)果uchar

xdata*ad_adr;//定義指向通道的指針uchari=0;voidmain(void){IT0=1; //初始化EX0=1;EA=1;i=0;ad_adr=&IN0; //指針指向通道0*ad_adr=i; //啟動通道0轉(zhuǎn)換for(;;){;} //等待中斷}voidint_adc(void)interrupt0//中斷函數(shù){x[i]=*ad_adr; //接收當前通道轉(zhuǎn)換結(jié)果i++;ad_adr++; //指向下一個通道if(i<8){*ad_adr=i; //8個通道未轉(zhuǎn)換完,啟動下一個通道返回}else{EA=0;EX0=0; //8個通道轉(zhuǎn)換完,關(guān)中斷返回}}例:初始化程序:(中斷方式)

MOVR0,#0A0H ;數(shù)據(jù)存儲區(qū)首地址

MOVR2,#08H ;8路計數(shù)器

SETBIT1 ;邊沿觸發(fā)方式

SETBEA ;中斷允許

SETBEX1 ;允許外部中斷1中斷

MOVDPTR,#0FEF8H ;指向ADC0809首地址LOOP:MOVX@DPTR,A ;啟動A/D轉(zhuǎn)換HERE:SJMPHERE ;等待中斷

DJNZR2,LOOP ;巡回,未完繼續(xù)

CLREA ;結(jié)束,關(guān)中斷

SJMP$ ;結(jié)束停止設(shè)有一個8路模擬量輸入的巡回檢測系統(tǒng),采樣數(shù)據(jù)依次存放在外部RAM0A0H~0A7H單元中,ADC0809的8個通道地址為0FEF8H~0FEFFH。中斷服務(wù)程序:

MOVXA,@DPTR

;讀數(shù)

MOVX@R0,A

;存數(shù)

INC DPTR

;指向下一模擬通道

INC R0

;指向數(shù)據(jù)存儲區(qū)下一單元

RETIC51程序:#include<absacc.h>#include<reg51.h>#defineucharunsignedchar#defineIN0XBYTE[0xFEF8] /*設(shè)置ADC0809的通道0地址*/sbit

ad_busy=P3^3; /*即EOC狀態(tài)*/voidad0809(ucharidata*x) /*采樣結(jié)果放指針中的A/D采集函數(shù)*/{uchari;

uchar

xdata*ad_adr;

ad_adr=&IN0;

for(i=0;i<8;i++) /*處理8通道*/ { *ad_adr=0; /*啟動轉(zhuǎn)換*/ i=i; /*延時等待EOC變低*/ i=i;

while(ad_busy==0); /*查詢等待轉(zhuǎn)換結(jié)束*/

x[i]=*ad_adr; /*存轉(zhuǎn)換結(jié)果*/

ad_adr++; /*下一通道*/ }}voidmain(void){ staticuchar

idataad[8]; ad0809(ad); /*采樣ADC0809通道的值*/}五、AD574A與MCS-51單片機接口80C51AD574A邏輯控制真值表8.2MCS-51單片機與DAC的接口8.2.1D/A轉(zhuǎn)換器概述一、D/A(DigittoAnalog)轉(zhuǎn)換器為把數(shù)字量轉(zhuǎn)換成模擬量,在D/A轉(zhuǎn)換芯片中要有解碼網(wǎng)絡(luò): ①權(quán)電阻網(wǎng)絡(luò); ②倒T型電阻網(wǎng)絡(luò)。T型電阻網(wǎng)絡(luò)型D/A轉(zhuǎn)換器:D/A轉(zhuǎn)換器的原理:把輸入數(shù)字量中每位都按其權(quán)值分別轉(zhuǎn)換成模擬量,并通過運算放大器求和相加。根據(jù)克希荷夫定律,如下關(guān)系成立:

I0=20 I1=21 I2=22 I3=23 n位數(shù)字量與模擬量的關(guān)系式:

VO=-VREF×(數(shù)字碼/2n)

(VREF——參考電壓)注:因使用反相比例放大器來實現(xiàn)電流到電壓的轉(zhuǎn)換,所以輸出模擬信號(VO)的極性與參考電壓(VREF)極性相反。二、D/A轉(zhuǎn)換器的分類D/A轉(zhuǎn)換器的品種繁多、性能各異。1、按輸入數(shù)字量的位數(shù)分:

8位、10位、12位和16位等;2、按輸入的數(shù)碼分:

二進制方式和BCD碼方式;3、按傳送數(shù)字量的方式分:

并行方式和串行方式;4、按輸出形式分:

電流輸出型和電壓輸出型;電壓輸出型又有單極性和雙極性;5、按與單片機的接口分:

帶輸入鎖存的和不帶輸入鎖存的。D/A輸出形式:①電壓;②電流運算放大器

電壓。三、注意區(qū)分D/A內(nèi)部是否帶有鎖存器與P1、P2接口:不需加鎖存器,直接接口。無鎖存器與P0接口:因P0的特殊功能,需加鎖存器。D/A內(nèi)如:DAC800、AD7520、AD7521等。

有鎖存器:最好與P0直接接口。如:DAC0832、DAC1230等。四、性能指標:1、分辨率(Resolution)是指D/A轉(zhuǎn)換器能分辨的最小輸出模擬增量,取決于輸入數(shù)字量的二進制位數(shù)。

2、建立時間(EstablishingTime)是描述D/A轉(zhuǎn)換速度的快慢。3、轉(zhuǎn)換精度(ConversionAccuracy)指滿量程時DAC的實際模擬輸出值和理論值的接近程度。

4、偏移量誤差(OffsetError)偏移量誤差是指輸入數(shù)字量為零時,輸出模擬量對零的偏移值。

5、線性度(Linearity)線性度是指DAC的實際轉(zhuǎn)換特性曲線和理想直線之間的最大偏移差。主要技術(shù)指標:1、分辨率(Resolution):對D/A轉(zhuǎn)換器輸入量變化敏感程度進行描述,與輸入數(shù)字量的位數(shù)有關(guān)。若數(shù)字量的位數(shù)為n,則分辨率為2-n。數(shù)字量位數(shù)越多,分辨率就越高。應(yīng)用時,應(yīng)根據(jù)分辨率的需要選定轉(zhuǎn)換器的位數(shù)。注:BCD碼輸出的A/D轉(zhuǎn)換器用位數(shù)表示分辨率。2、建立時間(EstablishingTime):(轉(zhuǎn)換速度)描述D/A轉(zhuǎn)換速度的快慢。輸出形式為電流的轉(zhuǎn)換器比電壓的建立時間短。

D/A轉(zhuǎn)換速度遠高于A/D轉(zhuǎn)換。3、轉(zhuǎn)換精度(ConversionAccuracy):

指滿量程時DAC的實際模擬輸出值和理論值的接近程度。五、D/A轉(zhuǎn)換器與單處機的連接1.數(shù)據(jù)線的連接

D/A轉(zhuǎn)換器與單片機的數(shù)據(jù)線的連接主要考慮兩個問題:一是位數(shù),當高于8位的D/A轉(zhuǎn)換器與8位數(shù)據(jù)總線的MCS-51單片機接口時,MCS-51單片機的數(shù)據(jù)必須分時輸出,這時必須考慮數(shù)據(jù)分時傳送的格式和輸出電壓的“毛刺”問題;二是D/A轉(zhuǎn)換器有無輸入鎖存器的問題,當D/A轉(zhuǎn)換器內(nèi)部沒有輸入鎖存器時,必須在單片機與D/A轉(zhuǎn)換器之間增設(shè)鎖存器或I/O接口。2.地址線的連接一般的D/A轉(zhuǎn)換器只有片選信號,而沒有地址線。這時單片機的地址線采用全譯碼或部分譯碼,經(jīng)譯碼器輸出來控制D/A轉(zhuǎn)換器的片選信號,也可由某一位I/O線來控制D/A轉(zhuǎn)換器的片選信號。3.控制線的連接

D/A轉(zhuǎn)換器主要有片選信號、寫信號及啟動轉(zhuǎn)換信號等,一般由單片機的有關(guān)引腳或譯碼器提供。8.2.2MCS-51與8位DAC0832的接口一、內(nèi)部結(jié)構(gòu):DAC0832:8位雙緩沖器結(jié)構(gòu)的D/A轉(zhuǎn)換器。DAC0832內(nèi)部結(jié)構(gòu)框圖(請見P197圖8.5)DI0~7:轉(zhuǎn)換數(shù)據(jù)輸入(8位);CS:片選信號(輸入);ILE:數(shù)據(jù)鎖存允許信號(輸入);XFER:數(shù)據(jù)傳送控制信號(輸入);WR1:第一寫信號(輸入),與ILE共同控制輸入寄存器是數(shù)據(jù)直通方式還是數(shù)據(jù)鎖存方式;WR2:第2寫信號(輸入),與XFER共同控制DAC寄存器是數(shù)據(jù)直通方式還是數(shù)據(jù)鎖存方式;8位DACDAC寄存器輸入寄存器-+IOUT2IOUT1RfbVODI0~7AGNDILECS與與與WR1WR2XFERLE1LE2LE1(LE2)=0:鎖存1:直通雙極性輸出電壓與輸入數(shù)字量的關(guān)系輸入數(shù)字量Bb7b6b5b4b3b2b1b0Vout(理想值)+VREF時-VREF時11111111|VREF|-LSB-|VREF|+LSB┆┆┆11000000|VREF|/2-|VREF|/2┆┆┆1000000000┆┆┆01111111-LSBLSB┆┆┆00111111-|VREF|/2-LSB|VREF|/2+LSB┆┆┆00000000-|VREF||VREF|二、DAC0832的引腳DAC0832有20引腳,采用雙列直插式封裝,如圖所示。其中:DI0~DI7(DI0為最低位):8位數(shù)字量輸入端。ILE:數(shù)據(jù)允許控制輸入線,高電平有效。/CS:片選信號。/WR1:寫信號線1。/WR2:寫信號線2。/XFER:數(shù)據(jù)傳送控制信號輸入線,低電平有效。CSWR1AGNDDI3DI2DI2DI0VREFRFBDGNDVCCILEWR2XFERDI4DI5DI6DI7IOUT1IOUT21234567891020191817161514131211IOUT1:模擬電流輸出線1。它是數(shù)字量輸入為“1”的模擬電流輸出端。IOUT2:模擬電流輸出線2,它是數(shù)字量輸入為“0”的模擬電流輸出端,采用單極性輸出時,IOUT2常常接地。Rfb:片內(nèi)反饋電阻引出線,反饋電阻制作在芯片內(nèi)部,用作外接的運算放大器的反饋電阻。VREF:基準電壓輸入線。電壓范圍為-10V~+10V。VCC:工作電源輸入端,可接+5V~+15V電源。AGND:模擬地。DGND:數(shù)字地。三、DAC0832的工作方式DAC0832有三種方式:

1、直通方式;

2、單緩沖方式;

3、雙緩沖方式。1.直通方式:輸入寄存器和DAC寄存器共用一個地址,同時選通輸出;

WR1和WR2同時進行,并且不與CPU相接。

特點:轉(zhuǎn)換速度快。MOVP1,A當引腳/WR1、/WR2、/CS、/XFER直接接地,ILE接電源,DAC0832工作于直通方式,此時,8位輸入寄存器和8位DAC寄存器都直接處于導通狀態(tài),8位數(shù)字量到達DI0~DI7,就立即進行D/A轉(zhuǎn)換,從輸出端得到轉(zhuǎn)換的模擬量。

舉例:DACS:MOV DPTR,#00FEH;0832I/O地址

MOV A,#00H ;開始輸出0VDACL:MOVX @DPTR,A ;D/A轉(zhuǎn)換

INC A ;升壓

ACALL DELAY ;延時100ms/256:決定鋸齒波的周期

AJMP DACL ;連續(xù)輸出DELAY:… ;延時子程序例:D/A轉(zhuǎn)換程序,用DAC0832輸出0~+5V鋸齒波,電路為直通方式。設(shè)VREF=-5V,若DAC0832地址為00FEH,脈沖周期要求為100ms。100msC51程序:#include<absacc.h>#include<reg51.h>#defineDAC0832XBYTE[0x00FE] #defineucharunsignedchar#defineunitunsignedint

voidstair(void) /*鋸齒波*/

{

uchari; while(1){

for(i=0;i<=255;i=i++)

/*形成鋸齒波輸出值,最大255*/ {DAC0832=i; /*D/A轉(zhuǎn)換輸出*/ } }}2.單緩沖方式:輸入寄存器和DAC寄存器共用一個地址,同時選通輸出,輸入數(shù)據(jù)在控制信號作用下,直接進入DAC寄存器中;

WR1和WR2同時進行,并且與CPU的WR相連,CPU對0832執(zhí)行一次寫操作,將數(shù)據(jù)直接寫入DAC寄存器中。

適用:只有一路模擬信號輸出或幾路模擬信號非同步輸出。單緩沖方式下的DAC083280C51當連接引腳/WR1、/WR2、/CS、/XFER,使得兩個鎖存器的一個處于直通狀態(tài),另一個處于受控制狀態(tài),或者兩個被控制同時導通,DAC0832就工作于單緩沖方式。對于下圖的單緩沖連接,只要數(shù)據(jù)DAC0832寫入8位輸入鎖存器,就立即開始轉(zhuǎn)換,轉(zhuǎn)換結(jié)果通過輸出端輸出。舉例:

ORG 2000HSTAR:MOV DPTR,#00FEH;DAC0832地址

MOV A,#00H ;開始輸出0VUP:MOVX @DPTR,A ;D/A轉(zhuǎn)換

INC A ;產(chǎn)生上升段電壓

JNZ UP

;上升到A中為FFH(A≠0跳)DOWN:DEC A ;產(chǎn)生下降段電壓

MOVX @DPTR,A

JNZ DOWN

;下降到A中為00H

SJMP UP

;重復注:若想改變波形的周期(頻率),只需在SJMPUP前插入延時程序即可。例:D/A轉(zhuǎn)換程序,用DAC0832輸出0~+5V三角波,電路為單緩沖方式。設(shè)VREF=-5V,若DAC0832地址為00FEH,脈沖周期要求為(100ms)。100ms3.雙緩沖方式:輸入寄存器和DAC寄存器分配有各自的地址,可分別選通用同時輸出多路模擬信號。

適用:同時輸出幾路模擬信號的場合,可構(gòu)成多個0832同步輸出電路。當8位輸入鎖存器和8位DAC寄存器分開控制導通時,DAC0832工作于雙緩沖方式,雙緩沖方式時單片機對DAC0832的操作分兩步,第一步,使8位輸入鎖存器導通,將8位數(shù)字量寫入8位輸入鎖存器中;第二步,使8位DAC寄存器導通,8位數(shù)字量從8位輸入鎖存器送入8位DAC寄存器。第二步只使DAC寄存器導通,在數(shù)據(jù)輸入端寫入的數(shù)據(jù)無意義。舉例:

ORG 2000H MOV DPTR,#00FEH ;選中1#0832(的輸入寄存器):A0=0 MOV A,#Datax

MOVX@DPTR,A

;Datax寫入1#0832輸入寄存器

MOV DPTR,#00FDH ;選中2#0832(的輸入寄存器):A1=0 MOV A,#Datay

MOVX@DPTR,A ;Datay寫入2#0832輸入寄存器

MOV DPTR,#00FBH ;選中1#和2#0832的DAC寄存器:A2=0 MOVX@DPTR,A

;1#和2#輸入寄存器的內(nèi)容同時傳送到DAC寄存器中例:用DAC0832實現(xiàn)驅(qū)動繪圖儀,電路為雙緩沖方式。

1#和2#DAC0832地址分別為00FEH和00FDH。則繪圖儀的驅(qū)動程序為:C51程序:#include<absacc.h>#include<reg51.h>#defineINPUTR1XBYTE[0x00FE]#defineINPUTR2XBYTE[0x00FD] #defineDACRXBYTE[0x00FB] #defineucharunsignedchar voiddac2b(data1,data2) uchardata1,data2;{ INPUTR1=data1; /*數(shù)據(jù)送到一片DAC0832*/ INPUTR2=data2; /*數(shù)據(jù)送到另一片DAC0832*/ DACR=0; /*啟動兩路D/A同時轉(zhuǎn)換*/}四、DAC1208內(nèi)部框圖80C51與DAC1208的接口80C51華工考研題:

PC/XT的D/A接口使用DAC0832。其有關(guān)信號接線如圖所示,其輸出電壓Vo和輸入數(shù)字量DI7-DI0之間呈線性且如表所示?,F(xiàn)要求Vo從零開始按圖示波形周期變化(周期可自定)。試用匯編語言編寫其控制部分程序。五、DAC0832的應(yīng)用

D/A轉(zhuǎn)換器在實際中經(jīng)常作為波形發(fā)生器使用,通過它可以產(chǎn)生各種各樣的波形。它的基本原理如下:利用D/A轉(zhuǎn)換器輸出模擬量與輸入數(shù)字量成正比這一特點,通過程序控制CPU向D/A轉(zhuǎn)換器送出隨時間呈一定規(guī)律變化的數(shù)字,則D/A轉(zhuǎn)換器輸出端就可以輸出隨時間按一定規(guī)律變化的波形。【例8-1】根據(jù)圖8.9編程從DAC0832輸出端分別產(chǎn)生鋸齒波、三角波和方波。根據(jù)單緩沖方式圖的連接,DAC0832的口地址為7FFFH。匯編語言編程:鋸齒波:

MOVDPTR,#7FFFH CLRALOOP:MOVX@DPTR,A INCA SJMPLOOPVoutVCCILECSWR1DI0~DI7WR2XFERDGNDAGNDVREFRfbIOUT1IOUT2+5V-5V-A+P2.7WRP0.0~P0.78051DAC0832三角波:

MOV DPTR,#7FFFH CLR ALOOP1:MOVX @DPTR,A INC A CJNE A,#0FFH,LOOP1LOOP2:MOVX@DPTR,A DEC A JNZ LOOP2 SJMP LOOP1方波:

MOV DPTR,#7FFFHLOOP:MOV A,#00H MOVX@DPTR,A ACALLDELAY MOV A,#0FFH MOVX@DPTR,A ACALLDELAY SJMP LOOPDELAY:MOV R7,#0FFH DJNZ R7,$ RETC語言編程:鋸齒波:#include<absacc.h>//定義絕對地址訪問#defineucharunsignedchar#defineDAC0832XBYTE[0x7FFF]voidmain(){uchari;while(1){for(i=0;i<0xff;i++){DAC0832=i;}}}三角波

溫馨提示

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

評論

0/150

提交評論