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

下載本文檔

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

文檔簡介

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

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

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

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

脈沖輸入模擬信號(hào)采樣保持信號(hào)

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

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

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

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

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

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

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

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

電壓比較器:將輸入的電壓信號(hào)UI與UR進(jìn)行比較,當(dāng)UI≥UR時(shí),輸出C0=1(C0’=0);當(dāng)UI<UR時(shí),輸出C0=0(C0’=1);C0和C0’

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

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

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

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

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

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

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

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

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

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

DO數(shù)據(jù)信號(hào)輸出,轉(zhuǎn)換數(shù)據(jù)輸出。

CLK芯片時(shí)鐘輸入。

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

×V

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

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

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

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

SETBEA;CPU開放中斷

SETBEX0;允許外部中斷0中斷

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

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

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

INCDPTR;指向下一模擬通道

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

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

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

CLREX0;禁止外部中斷0中斷

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

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

ORG0000H;主程序入口地址

LJMPMAIN;跳轉(zhuǎn)主程序

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

MOV@R0,AINCR0INCDPTR

DJNZR2,L0SJMP$9.1.3ADC0832與單片機(jī)的接口ADC0832的讀時(shí)序

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

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

CLRP1.0;為第一個(gè)脈沖作準(zhǔn)備

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

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

SETBP1.0;第一個(gè)脈沖

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

SETBP1.1;P1.1置1,通道選擇信號(hào)

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

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

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

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

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

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

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

MOVA,#00H;轉(zhuǎn)換初值WW:MOVX@DPTR,A;D/A轉(zhuǎn)換

INCA;A中的植加1NOP;延時(shí)

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

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

MOVX@DPTR,ALCALLDELAYL;低電平延時(shí)時(shí)間

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

DJNZR1,NEXT;不到10臺(tái)階轉(zhuǎn)移

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

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

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

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

MOVA,30H;取X軸信號(hào)

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

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

MOVA,31H;取Y軸信號(hào)

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

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

MOVX@DPTR,A;同步D/A,輸出X、Y軸信號(hào)

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

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

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

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

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

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

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

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

RET;子程序返回

END9.5全自動(dòng)洗衣機(jī)水量控制原理及PROTUES仿真

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

圖8-15洗衣機(jī)簡易進(jìn)水控制模擬仿真電路匯編語言參考程序:ORG0000H;在0000H存放轉(zhuǎn)移指令A(yù)JMPMAIN ;轉(zhuǎn)移到主程序ORG0100H ;主程序從0100H開始MAIN:CLRP1.6;先關(guān)進(jìn)水信號(hào),D2燈滅

CLRP1.7;關(guān)電機(jī)啟動(dòng)信號(hào),D1燈滅

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

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

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

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

CLRP1.6;到了,停止進(jìn)水SETBP1.7;啟動(dòng)電機(jī)開始工作

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

CLRP1.

溫馨提示

  • 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)論