第09章模擬量輸入與輸出_第1頁
第09章模擬量輸入與輸出_第2頁
第09章模擬量輸入與輸出_第3頁
第09章模擬量輸入與輸出_第4頁
第09章模擬量輸入與輸出_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第09章單片機應用系統(tǒng)中的模擬量輸入與輸出9.1A/D轉換 9.1.1并行A/D轉換 9.1.2串行A/D轉換 9.2D/A轉換 9.3直流電機控制 9.4全自動洗衣機水量控制Proteus仿真具有模/數(shù)轉換器和數(shù)/模轉換器的單片機應用系統(tǒng)。

概述被測控的對象單片機應用系統(tǒng)傳感器采樣保持A/D開關控制部件模擬執(zhí)行部件D/A非電信號模擬電信號模擬信號:在時間上和數(shù)值上連續(xù)的信號。數(shù)字信號:在時間上和數(shù)值上不連續(xù)的(即離散的)信號。uu模擬信號波形數(shù)字信號波形ttA/D轉換器的基本原理1、模擬信號和數(shù)字信號A/D變換模數(shù)轉換則是將模擬電量轉換為數(shù)字量,使輸出的數(shù)字量與輸入的模擬電量成正比。實現(xiàn)這種轉換功能的電路稱為模數(shù)轉換器(ADC)。2、模數(shù)轉換概述典型數(shù)字控制系統(tǒng)框圖A/D轉換器的基本原理

模擬電子開關S在采樣脈沖CLKS的控制下重復接通、斷開的過程。S接通時,ui(t)對C充電,為采樣過程;S斷開時,C上的電壓保持不變,為保持過程。在保持過程中,采樣的模擬電壓經(jīng)數(shù)字化編碼電路轉換成一組n位的二進制數(shù)輸出。3、A/D轉換器的基本原理顯然,模數(shù)轉換一般要分采樣、保持、量化和編碼四個步驟進行。A/D轉換器的基本原理s(t)t

采樣是對模擬信號進行周期性地抽取樣值的過程,就是把隨時間連續(xù)變化的信號轉換成在時間上斷續(xù)、在幅度上等于采樣時間內(nèi)模擬信號大小的一串脈沖。1)采樣、保持utts(t)ttstws(t)t采樣電路示意圖采樣信號采樣

脈沖輸入模擬信號采樣保持信號

采樣脈沖的頻率fs(1/Ts)越高,采樣越密,采樣值就越多,其取樣信號vs的包絡線就越接近于輸入模擬信號的波形。

采樣定理:為了能不失真地恢復原模擬信號,采樣頻率應不小于輸人模擬信號頻譜中最高頻率的兩倍,即fs≥2fimax。A/D轉換器的基本原理2)采樣-保持電路:

由于A/D轉換需要一定的時間,所以在每次采樣結束后,應保持采樣電壓值在一段時間內(nèi)不變,直到下一次采樣開始。這就要在采樣后加上保持電路,實際采樣-保持是做成一個電路。

量化、編碼電路也要由取樣脈沖S(t)控制,使它分別在

t1-t5時刻開始對Vo轉換,也就是在保持時間內(nèi)(Ts-tw)內(nèi)完成量化和編碼。A/D轉換器的基本原理

經(jīng)過采樣和保持而抽取的電壓值仍然屬模擬量的范疇,由于任何一個數(shù)字量的大小只能是某個最小數(shù)量單位(1LSB)的整數(shù)倍,因此用數(shù)字量表示取樣電壓值時,先要把其采樣電壓化為最小單位的整數(shù)倍。3)量化和編碼量化:

所取得的最小單位,用△表示,△=1LSB。量化單位

把量化后的電壓值再轉化成對應的代碼,如二進制、十進制碼等的過程。編碼:量化編碼A/D轉換器的基本原理電路組成二、逐次逼近型模數(shù)轉換器DAC:數(shù)模轉換器,作用是按照不同的輸入數(shù)碼產(chǎn)生一組相應的比較電壓UR:

電壓比較器:將輸入的電壓信號UI與UR進行比較,當UI≥UR時,輸出C0=1(C0’=0);當UI<UR時,輸出C0=0(C0’=1);C0和C0’

分別連接各個邊沿JK觸發(fā)器的J、K端。4位脈沖發(fā)生器:用它來產(chǎn)生4各的負向節(jié)拍脈沖CLK0-CLK3’;用這4個節(jié)拍脈沖來控制其他電路完成逐次比較。該發(fā)生器通常由4位環(huán)形計數(shù)器構成。JK觸發(fā)器:作用是在4個的負向節(jié)拍脈沖CP0-CP3’=0的推動下,記憶每次比較的結果,并向DAC提供輸入數(shù)碼。3D存儲器:作用是在節(jié)拍脈沖的觸發(fā)下,記憶最后的比較結果,并行輸出二進制代碼。d2d0d1A/D轉換器的基本原理工作原理DAC輸出的比較電壓d2d0d1A/D轉換器的基本原理逐次逼近型ADCA/D轉換器的基本原理

相對精度是指A/D轉換器實際輸出數(shù)字量與理論輸出數(shù)字量之間的最大差值。通常用最低有效位LSB的倍數(shù)來表示。如相對精度不大于(1/2)LSB,就說明實際輸出數(shù)字量與理論輸出數(shù)字量的最大誤差不超過(1/2)LSB。三、A/D轉換器的主要技術指標1、分辨率A/D轉換器的分辨率用輸出二進制數(shù)的位數(shù)表示,位數(shù)越多,誤差越小,轉換精度越高。例如,輸入模擬電壓的變化范圍為0~5V,輸出8位二進制數(shù)可以分辨的最小模擬電壓為5V×(2-8-1)=20mV;而輸出12位二進制數(shù)可以分辨的最小模擬電壓為5V×2-12≈1.22mV。2、相對精度A/D轉換器的基本原理

轉換速度是指A/D轉換器完成一次轉換所需的時間。轉換時間是指從接到轉換控制信號開始,到輸出端得到穩(wěn)定的數(shù)字輸出信號所經(jīng)過的這段時間。3、轉換速度A/D轉換器的基本原理A/D轉換器的主要類型(1)雙積分型A/D轉換器特點:電路簡單、抗干擾能力強、精度高、速度慢。(2)逐次逼近型A/D轉換器特點:轉換速度快、分辨率高、抗干擾能力差。A/D轉換器的基本原理CLOCK:10~1280KHz9.1A/D轉換原理與接口1.ADC0809芯片簡介28只引腳ADC0809——逐次比較型模數(shù)轉換芯片分辨率為8位轉換時間100μS

工作量程為0~+5V功耗為15mW工作電壓為+5V具有鎖存控制的8路模擬開關輸出與TTL電平兼容8路模擬輸入信號——用三根地址線A,B,C選通IN0~IN7;引腳——START啟動AD轉換,CLK轉換節(jié)拍,VR參考電壓,EOC結束標志,OE輸出使能,ALE地址鎖存使能ADC0809結構:模擬開關/地址譯碼器/ADC/輸出鎖存器第8章單片機接口技術工作時序控制邏輯ALE產(chǎn)生正脈沖,鎖存ADDA、ADDB、ADDC通道選通端數(shù)據(jù),通過內(nèi)部地址譯碼,選通對應通道START端口輸入正脈沖信號,信號的上升沿清除內(nèi)部寄存器數(shù)據(jù),下降沿啟動AD轉換;AD轉換啟動后,EOC從高電平變成低電平,在AD轉換過程中,EOC保持低電平,轉換結束,EOC從低變成高電平。

向OE引腳輸入正脈沖,打開三態(tài)輸出鎖存器,內(nèi)部數(shù)據(jù)輸出到D0—D7數(shù)據(jù)總線;第8章單片機接口技術實例5:用查詢法實現(xiàn)0通道信號采集,結果以16進制顯示A、B、C三個地址線均接地選通0通道ST(ALE)、EOC、OE分別接IO端口CLOCK接虛擬信號發(fā)生器(5KHz)第8章單片機接口技術2、ADC0832

ADC0832是8引腳雙列直插式雙通道A/D轉換器。5V電源供電,輸入電壓在0~5V之間,工作頻率為250KHZ,轉換時間為32μS,一般功耗僅為15mW圖8-3ADC0832引腳ADC0832引腳功能如下:片選使能,低電平芯片使能。

CH0模擬輸入通道0,或作為IN+/-使用。

CH1模擬輸入通道1,或作為IN+/-使用。

GND芯片參考0電位(地)。

DI數(shù)據(jù)信號輸入,選擇通道控制。

DO數(shù)據(jù)信號輸出,轉換數(shù)據(jù)輸出。

CLK芯片時鐘輸入。

Vcc/REF電源輸入及參考電壓輸入(復用)。DI端使用DI端選擇的輸入通道。在第1個時鐘脈沖的下降沿之前DI端必須是高電平,表示啟動信號。在第2、3個脈沖的下降沿之前DI端應輸入2位數(shù)據(jù)用于選擇通道功能。當DI依次輸入為1、0時,只對CH0進行單通道轉換。當DI依次輸入為1、1時,只對CH1進行單通道轉換。當DI依次輸入為0、0時,將CH0作為正輸入端IN+,CH1作為負輸入端IN-進行輸入。當DI依次輸入為0、1時,將CH0作為負輸入端IN-,CH1作為正輸入端IN+進行輸入。作為單通道模擬信號輸入時,ADC0832的輸入電壓Vi的范圍是0~5V。當輸入電壓Vi=0時,轉換后的值VAL=0x00;而當Vi=5V時,轉換后的值VAL=0Xff,即十進制數(shù)的255。所以轉換后的輸出值(數(shù)字量D)為:

×V

式中,D為轉換后的數(shù)字量;V為輸入的模擬電壓。9.1.2ADC0809與單片機的接口8路模擬量輸入的巡回檢測系統(tǒng),使用中斷方式采樣數(shù)據(jù),把采樣轉換所得的數(shù)字量按序存于片內(nèi)RAM的30H~37H單元中。采樣完一遍后停止采集。

匯編參考程序:ORG0000H;上電后程序從00000H開始LJMPSTART;轉移到主程序ORG000BH;定時器T0的中斷入口地址LJMPINTT0;轉到中斷子程序ORG0100H;主程序從0100H開始START:MOVR0,#30H;設立數(shù)據(jù)存儲區(qū)指針

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

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

SETBEA;CPU開放中斷

SETBEX0;允許外部中斷0中斷

MOVDPTR,#0FEF8H;送入口地址并指向IN0LOOP:MOVX@DPTR,A;啟動A/D轉換,A的值無意義HERE:SJMPHERE;等待中斷中斷服務程序:

INTT0:MOVXA,@DPTR;讀取轉換后的數(shù)字量

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

INCDPTR;指向下一模擬通道

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

DJNZR2,INT;8路未轉換完,則繼續(xù)

CLREA;已轉換完,則關中斷

CLREX0;禁止外部中斷0中斷

RETI;中斷返回INT:MOVX@DPTR,A;再次啟動A/D轉換

RETI;中斷返回END用查詢方式實現(xiàn)轉換,參考程序如下:

ORG0000H;主程序入口地址

LJMPMAIN;跳轉主程序

ORG1000HMAIN:MOVR0,#30HMOVR2,#08HMOVDPTR,#0FEF8HMOVA,#00HL0:MOVX@DPTR,AL1:JBP3.3,L1;查詢/INT1是否為0MOVXA,@DPTR;/INT1為0,則轉換結束,讀出數(shù)據(jù)

MOV@R0,AINCR0INCDPTR

DJNZR2,L0SJMP$9.1.3ADC0832與單片機的接口ADC0832的讀時序

地址時鐘時序第1個CLK下降沿,DI=1,開始第2、3個CLK下降沿,DI輸入通道選擇編號第4--11個CLK下降沿,DO輸出轉換數(shù)據(jù)[例2]設圖8-6接口電路用于一個模擬量輸入的檢測系統(tǒng)。Ui為待轉換的模擬輸入電壓,要求對Ui連續(xù)采樣10次,每次采樣值經(jīng)串行A/D轉換電路(ADC0832)轉換成數(shù)字量,并按順序依次存于片內(nèi)RAM的30H~39H單元中。采樣完10次后停止。匯編語言數(shù)據(jù)采集串行A/D轉換參考程序:ORG0000HAJMPMAINORG0100HMAIN:MOVR7,#0AHMOVR1,#30HL1:LCALLA_D;調(diào)用將模擬信號轉換成數(shù)字信號子程序A_D

MOV@R1,AINCR1DJNZR7,L1SJMP$ENDA_D:MOVR7,#8;設循環(huán)次數(shù)SETBP3.4;置CS=1,一個轉換周期開始

CLRP1.0;為第一個脈沖作準備

CLRP3.4;CS置0,片選有效

SETBP1.1;P1.1置1,規(guī)定的起始信號

SETBP1.0;第一個脈沖

CLRP1.0;第一個脈沖的下降沿,此前P1.1必須是高電平

SETBP1.1;P1.1置1,通道選擇信號

SETBP1.0;第二個脈沖,第2、3個脈沖下降之前,DI必須分別輸入兩位數(shù)據(jù)用于選擇通道,這里選通道CH0CLRP1.0;第二個脈沖下降沿

CLRP1.1;DI置0,選擇通道0SETBP1.0;第三個脈沖

CLRP1.0;第三個脈沖下降沿SETBP1.1;第三個脈沖下降沿之后,輸入端DIO失去作用,應置1RR:SETBP1.0;第四個脈沖

CLRP1.0;第四個脈沖下降沿MOVC,P1.1;將DI輸入數(shù)據(jù)送位累加器C,高位在前RLCA;累加器A帶進位左移一位,循環(huán)8次,將轉換好的數(shù)據(jù)存在A中。DJNZR7,RRSETBP3.4;片選無效

RET;子程序返回1、DAC0832的引腳及功能DI0~DI7:8位數(shù)據(jù)輸入端。ILE:輸入數(shù)據(jù)允許鎖存,高電平有效。/CS:片選端,低電平有效。/WR1:輸入寄存器寫選通,低電平有效。/WR2:DAC寄存器寫選通,低電平有效。/XFER:數(shù)據(jù)傳送信號,低電平有效。IOUT1、IOUT2:電流輸出端。RFB:反饋電流輸入端。UREF:基準電壓輸入端。Vcc:正電源端。AGND:模擬地。DGND:數(shù)字地9.2D/A轉換器接口2.DAC0832邏輯結構注:/LE:1輸出跟隨輸入,0數(shù)據(jù)鎖存3、DAC0832工作方式用軟件指令控制這5個控制端:ILE、/CS、/WR1、/WR2、/XFER,可實現(xiàn)三種工作方式:直通工作方式:5個控制端均有效,直接D/A轉換;單緩沖工作方式:5個控制端一次選通,即兩個輸入寄存器中任意一個處于直通方式,另一個工作于受控方式。雙緩沖工作方式:5個控制端分二次選通。即兩個鎖存器都處于受控狀態(tài)。4、DAC0832單緩沖方式用DAC產(chǎn)生鋸齒波

參考電壓+5V,第一級運放輸出-5V-0V,第二級輸出0V-5V假定輸入寄存器地址為7FFFH,產(chǎn)生鋸齒波的源程序清單如下:

ORG0200HDASAW:MOVDPTR,#7FFFH;輸入寄存器地址,假定P2.7接

MOVA,#00H;轉換初值WW:MOVX@DPTR,A;D/A轉換

INCA;A中的植加1NOP;延時

NOPNOPAJMPWW;循環(huán)矩形波參考程序:BEGIN:MOVDPTR,#7FFFHLP:MOVA,#DATAH;矩形波上限

MOVX@DPTR,ALCALLDELAYH;高電平延時時間MOVA,#DATAL;矩形波下限

MOVX@DPTR,ALCALLDELAYL;低電平延時時間

SJMPLP產(chǎn)生階梯波的程序如下,階梯波如圖9-28所示。START:MOVA,#00HMOVDPTR,#7FFFH;0832的地址送DPTRMOVR1,#0AH;臺階數(shù)為10LP:MOVX@DPTR,A;送數(shù)據(jù)至0832CALLDELAY;1ms延時

DJNZR1,NEXT;不到10臺階轉移

SJMPSTART;產(chǎn)生下一個周期NEXT:ADDA,#10;臺階增幅

SJMPLP;產(chǎn)生下一臺階DELAY:MOV20H,#249;1ms延時程序AGAIN:NOPNOPDJNZ20H,AGAIN

DAC0832雙緩沖方式產(chǎn)生階梯波5.DAC0832雙緩沖方式

如果將DAC0832⑴和⑵的輸出端接運放后,分別接圖形顯示器X軸和Y軸偏轉放大器輸入端,實現(xiàn)同步輸出,則可更新圖形顯示器的光點位置。設已知X軸信號和Y軸信號已分別存于30H、31H中。參考程序如下:DOUT:MOVDPTR,#0DFFFH;置DAC0832(1)輸入寄存器地址

MOVA,30H;取X軸信號

MOVX@DPTR,A;X軸信號→0832(1)輸入寄存器

MOVDPTR,#0BFFFH;置DAC0832(2)輸入寄存器地址

MOVA,31H;取Y軸信號

MOVX@DPTR,A;Y軸信號→0832(2)輸入寄存器

MOVDPTR,#7FFFH;置0832(1)、(2)DAC寄存器地址

MOVX@DPTR,A;同步D/A,輸出X、Y軸信號

RET9.3直流電機控制直流電動機控制匯編語言參考程序如下(設經(jīng)A/D轉換后的數(shù)據(jù)存放在tmp單元中)TMPEQU30H;偽指令定義用TMP代表30HPWMBITP3.7;偽指令定義用PWM代表P3.7DBITP3.2;偽指令定義用D代表P3.2ORG0000H;上電后程序從00000H開始,在0000H單元存放轉移指令LJMPMAIN;轉移到主程序ORG0100H;主程序從0100H開始MAIN:SETBD;方向控制端為輸入端

JBD,POS;判開關狀態(tài),開關位為1,則正轉

AJMPNEG;開關位為0,則反轉POS:SETBPWM;正轉,PWM=1MOVA,TMP;時間常數(shù)為TMPLCALLDELAY;調(diào)用延時子程序

CLRPWM;PWM=0MOVA,#255;時間常數(shù)為255-TMPSUBBA,TMPLCALLDELAY;調(diào)用延時子程序

SJMPMAIN;無條件轉MAIN,循環(huán)NEG:CLRPWM;反轉,PWM=0MOVA,TMP;時間常數(shù)為TMPLCALLDELAY;調(diào)用延時子程序

SETBPWM;PWM=1MOVA,#255;時間常數(shù)為255-TMPSUBBA,TMPLCALLDELAY;調(diào)用延時子程序

SJMPMAIN;無條件轉MAIN,循環(huán);延時子程序(根據(jù)A/D轉換的結果,確定延時的時間)DELAY:MOVR6,#5;設循環(huán)次數(shù)D1:DJNZR6,D1;循環(huán)等待

DJNZACC,D1;循環(huán)等待

RET;子程序返回

END9.5全自動洗衣機水量控制原理及PROTUES仿真

圖9-16電路只模擬進水控制的一小段。當按鍵S按下,啟動洗衣機工作,開始進水,D2亮。調(diào)節(jié)電位器的中間抽頭,可改變模/數(shù)轉換器ADC0832輸入電壓的大小,以此來表示進水量的多少。變化的電壓經(jīng)ADC0832轉換成相應的二進制數(shù)送給單片機,單片機對數(shù)據(jù)進行比較后,判斷是否要停止進水。如轉換的數(shù)據(jù)(或變化的電壓)超過了預設進水量的標準,則在單片機控制下停止進水(D2燈滅),并啟動電機工作(D1燈亮),電機的速度調(diào)整,參考上一節(jié)內(nèi)容,其它工序此處不再討論。讀者自己思考。

圖8-15洗衣機簡易進水控制模擬仿真電路匯編語言參考程序:ORG0000H;在0000H存放轉移指令AJMPMAIN ;轉移到主程序ORG0100H ;主程序從0100H開始MAIN:CLRP1.6;先關進水信號,D2燈滅

CLRP1.7;關電機啟動信號,D1燈滅

MOVA,#00H;累加器A清0,準備移位接收數(shù)據(jù)L1:JBP2.7,L1;判按鍵S是否按下,沒按下循環(huán)等待

LCALLdelay10ms;若按鍵S按下,調(diào)延時子程序去抖動

JBP2.7,L1;再判按鍵S是否按下,沒按下循環(huán)等待,按下順序執(zhí)行

SETBP1.6;表示開始進水,D2燈亮L2:LCALLA_D;調(diào)用將模擬信號轉換成數(shù)字信號子程序A_DCJNER0,#128,L3;判轉換的數(shù)據(jù)是否到了預設值L3:JCL2;沒到,繼續(xù)進水

CLRP1.6;到了,停止進水SETBP1.7;啟動電機開始工作

SJMPL2;A/D轉換子程序功能:將模擬信號轉換成數(shù)字信號A_D:MOVR7,#8;設循環(huán)次數(shù)SEBTP3.4;置CS=1,一個轉換周期開始

CLRP1.

溫馨提示

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

評論

0/150

提交評論