數(shù)據(jù)采集系統(tǒng)與微機(jī)的接口課件_第1頁
數(shù)據(jù)采集系統(tǒng)與微機(jī)的接口課件_第2頁
數(shù)據(jù)采集系統(tǒng)與微機(jī)的接口課件_第3頁
數(shù)據(jù)采集系統(tǒng)與微機(jī)的接口課件_第4頁
數(shù)據(jù)采集系統(tǒng)與微機(jī)的接口課件_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

第三章 數(shù)據(jù)采集系統(tǒng)1—數(shù)據(jù)采集系統(tǒng)與微機(jī)的接口—數(shù)據(jù)采集系統(tǒng)主要實現(xiàn)從現(xiàn)場采集數(shù)據(jù),2由微處理器分析處理或顯示打印,為現(xiàn)場操作者提供操作指導(dǎo)等功能。數(shù)據(jù)采集系統(tǒng)組成(1)多路開關(guān)MUX、測量放大器、采樣-保持、模數(shù)轉(zhuǎn)換、微機(jī)接口、應(yīng)用軟件3數(shù)據(jù)采集系統(tǒng)組成(2)4數(shù)據(jù)采集系統(tǒng)與微機(jī)之間的接口(interface):實現(xiàn)微機(jī)(微處理器)與多路開關(guān)、采樣保持電路、ADC等部件之間信息的傳輸。硬件接口:為兩個設(shè)備提供物理連接,利用硬件技術(shù)來完成接口的設(shè)備稱為接口電路。微處理器(微機(jī))的接口電路,在于解決微機(jī)系統(tǒng)與外部世界的連接。數(shù)據(jù)線、緩沖、鎖存、地址譯碼、片選、讀/寫、中斷…軟件接口:為兩個程序之間提供通信。協(xié)議、驅(qū)動程序、應(yīng)用程序…5—

數(shù)據(jù)采集系統(tǒng)對微機(jī)接口的要求一個基本的外設(shè)接口6“外設(shè)接口”是“CPU”與“外設(shè)”之間傳遞信息的控制電路。是“CPU”與“外設(shè)”之間傳送信息的一個“界面”、一個連接部件。外設(shè)接口一邊通過CPU的三總線(或微機(jī)總線)同CPU連接,一邊通過三種信息—數(shù)據(jù)信息、控制信息和狀態(tài)信息—同外設(shè)連接。7外設(shè)接口的功能8轉(zhuǎn)換信息的格式提供聯(lián)絡(luò)信號協(xié)調(diào)定時差異進(jìn)行譯碼選址實現(xiàn)電平轉(zhuǎn)換具備時序控制最好可編程序數(shù)據(jù)采集系統(tǒng)對微機(jī)接口的要求:具有能與系統(tǒng)總線相連接的數(shù)據(jù)緩沖器和多根數(shù)據(jù)線。由于接口電路是掛在系統(tǒng)總線上的,只有接口電路為三態(tài)輸出時才不會對數(shù)據(jù)產(chǎn)生影響。傳輸數(shù)據(jù)在接口電路被激活之前先保存在數(shù)據(jù)緩沖器內(nèi)。應(yīng)有地址譯碼和片選功能,以便微機(jī)能通過尋址對其進(jìn)行訪問。應(yīng)有地址或數(shù)據(jù)鎖存功能。因為外部設(shè)備送到接口電路的信息,微機(jī)不一定有空讀取,此時接口應(yīng)把信息暫時鎖存,以待微機(jī)空閑時讀取。具有中斷請求和處理的功能,以便微機(jī)能通過中斷來讀取或輸出信息。9二

常用接口芯片10在外設(shè)接口電路中,常用緩沖器、數(shù)據(jù)收發(fā)

器和鎖存器等器件對傳輸過程中的信息進(jìn)行放大、隔離以及鎖存。。。。。。(1)8位3態(tài)D鎖存器

74LS3738D鎖存器,具有三態(tài)驅(qū)動輸出,由8個D門組成,8個輸入端1D~8D、8個輸出端1Q~8Q,2個控制端OC和C。118D型鎖存器74LS373功能表12舉例:在許多設(shè)備中常需要顯示計數(shù)器的計數(shù)值,計數(shù)值通常以8421BCD碼計數(shù),并以七段數(shù)碼顯示器顯示。問題:如果計數(shù)器的計數(shù)速度高,人眼則無法辨認(rèn)顯示的字符。措施:在計數(shù)器和譯碼器之間加入鎖存器,就可控制數(shù)據(jù)顯示的時間。若鎖存信號C=0時,數(shù)據(jù)被鎖存,譯碼顯示電路穩(wěn)定顯示鎖存的數(shù)據(jù)。13三態(tài)輸出的八緩沖器和線驅(qū)動器;8個輸入端,分為兩路—1A1~1A4,2A1~2A4;8個輸出端,分為兩路—1Y1~1Y4,2Y1~2Y4;分別由2個門控信號

和 控制;

和 為低,芯片工作,Y

=

A;74LS244緩沖器主要用于三態(tài)輸出的存儲地址驅(qū)動器、時鐘驅(qū)動器和總線定向接收器和定向發(fā)送器等。74LS244緩沖后,輸入信號被驅(qū)動,輸出信號的驅(qū)動能力加大了。

常用的緩沖器還有74LS240和74LS241等。(2)8位三態(tài)單向驅(qū)動器74LS2441474LS244緩沖器邏輯電路和引腳圖1574LS244的端?地址由P2.7決定,故端?地址可取7FFFH,通過下列指令可從該端?輸入數(shù)據(jù)。16MOV

DPTR,#7FFFHMOVX

A,@DPTR;DPTR指向74LS244端?;輸入數(shù)據(jù)74LS245是一種三態(tài)輸出的8總線收發(fā)器。該收發(fā)器有16個雙向傳送的數(shù)據(jù)端,即A1—A8,B1—B8,另有二個控制端——使能端 ,方向控制端

DIR

。該芯片的功能如表所示。74LS245通常用于數(shù)據(jù)的雙向傳送、緩沖和驅(qū)動。常用的數(shù)據(jù)收發(fā)器還有74LS243,Intel 8286、8287等。(3)8D三態(tài)雙向緩沖器74LS2451774LS245八總線收發(fā)器邏輯電路和引腳圖18使能方向控制DIR傳送方向00B→A01A→B1×隔開74LS245的真值表19應(yīng)用舉例(1)

74LS373、245、244在PC/XT機(jī)中的應(yīng)用208088發(fā)出的地址總線、數(shù)據(jù)總線和控制總線要經(jīng)過一些總線接口器件變成系統(tǒng)總線中的對應(yīng)信號;8288總線控制器是控制總線的接口器件;地址總線和數(shù)據(jù)總線的接口部件為:地址鎖存器74LS373;地址緩沖器74LS244;數(shù)據(jù)收發(fā)器74LS245。21(2)

用于一般的總線驅(qū)動電路228086系統(tǒng)中,存儲器和I/O接口較多,須在CPU總線和系統(tǒng)總線之間加接總線驅(qū)動電路,要求在加接驅(qū)動電路后CPU仍能進(jìn)行常規(guī)的存儲器讀寫、I/O讀寫、中斷響應(yīng)、總線請求響應(yīng)以及在

RESET有效時的相應(yīng)操作。23二 典型數(shù)據(jù)采集系統(tǒng)的微機(jī)接口電路24微機(jī)與多路模擬開關(guān)MUX接口電路微機(jī)與ADC接口電路地址譯碼器接口電路微機(jī)與DAC接口電路。。。。。。片選信號251.微機(jī)與多路模擬開關(guān)MUX接口電路多路模擬轉(zhuǎn)換開關(guān)常采用8

路模擬轉(zhuǎn)換開關(guān)CD4051

。CD4051是由地址譯碼器和多路雙向模擬開關(guān)組成的8路模擬轉(zhuǎn)換開關(guān),引腳功能如下:X0~X7:輸入;X:輸出,可以通過外部地址(C,B,A引腳)選擇8路輸入中的某1路與輸出X接通;VDD和VEE

:提供工作電源,其幅值不得低于模擬信號;INH:禁止控制輸入,輸入高電平時,多路開關(guān)中各開關(guān)均不通,輸出呈高阻態(tài)。264D型觸發(fā)器74LS175用作通道譯碼控制器:RD=1,CP=0時,輸出處于保持狀態(tài),MUX與微機(jī)總線隔離。RD=1,CP由0

—>1,Q=D,數(shù)據(jù)總線的通道選擇碼被加至多路開關(guān)八選一譯碼器輸入端。27實現(xiàn)D/A轉(zhuǎn)換器和微型計算機(jī)接口技術(shù)的關(guān)鍵是數(shù)據(jù)鎖存問題。有些D/A轉(zhuǎn)換器芯片本身帶有鎖存器,但也有些

D/A從轉(zhuǎn)換器芯片本身不帶鎖存器。此時一些并口芯片如

8212,74LS273及可編程的并行I/O接口芯片8255A均可作為D/A轉(zhuǎn)換的鎖存器。A/D和D/A與微機(jī)的接口有串行接口和并行接口之分。本章主要介紹并行D/A和A/D轉(zhuǎn)換的并行接口。目前大多數(shù)

A/D轉(zhuǎn)換器(高速)都內(nèi)含采樣保持器,所以,此處不考慮采樣保持器。282.微機(jī)與DAC的接口(1)D/A轉(zhuǎn)換器及其連接特性1)DAC的主要參數(shù)分辨率:DAC能轉(zhuǎn)換的二進(jìn)制數(shù)的位數(shù)。位數(shù)越多,分辨率越高。轉(zhuǎn)換時間:從輸入數(shù)字量到轉(zhuǎn)換結(jié)束,輸出達(dá)到最終值并穩(wěn)定所需的時間。電流型:幾百ns~幾μs;電壓型:運算放大器的響應(yīng)時間。精度:DAC實際輸出電壓與理論值之間的誤差。單位:LSB線性度:當(dāng)數(shù)字量變化時,輸出模擬量按比例變化的程度。線性誤差:模擬輸出偏離理想輸出的最大值。29VFS模擬量數(shù)字量2n理想曲線實際曲線1實際曲線2線性誤差最大302)DAC的連接特性輸入緩沖能力:是否外加數(shù)據(jù)鎖存器輸入數(shù)據(jù)的寬度(分辨率):與系統(tǒng)數(shù)據(jù)總線寬度比較——數(shù)據(jù)幾次輸入輸入數(shù)據(jù)碼制:二進(jìn)制、BCD碼或補(bǔ)碼、偏移二進(jìn)制碼輸出模擬量的類型:電壓型、電流型輸出模擬量的極性:單極性、雙極性31(2)D/A轉(zhuǎn)換器與微處理器的接口方法接口的任務(wù)

— 數(shù)據(jù)緩沖,無條件傳送接口的結(jié)構(gòu)形式直接與CPU相連——有輸入鎖存能力采用中小規(guī)模邏輯芯片與CPU相連

利用通用并行接口芯片與CPU相連

采用GAL器件32(3)D/A轉(zhuǎn)換器接口電路設(shè)計-以DAC0832為例DAC寄存器輸入寄存器D/A轉(zhuǎn)換器D0~7&&Io1Io2&LE1ILE2LEi=LE21:相應(yīng)緩沖器打開0:相應(yīng)緩沖器關(guān)閉CSWR1XFERWRDAC0832的內(nèi)部結(jié)構(gòu)DAC0832——8位DAC,內(nèi)部有兩級三態(tài)緩沖器。ILE=1,CS=WR1=0,寫入第1級緩沖器。XFER=WR2=0,寫入第2級緩沖器,并開始轉(zhuǎn)換。DAC0832的主要特性33DAC0832的工作方式DAC0832D0~7ILECS

WR1

XFERWR2+5VA直通方式(需外加鎖存器)DAC0832D0~7ILECSXFERWR1WR2A8255APA0~7PB4PB3PB2PB1PB0CPU341)直通方式用8255A作接口2DAC0832D0~7ILECSXFERWR1WRA單緩沖方式(2)+5VYIOW單緩沖方式(1)DAC0832D0~7ILECSWR1XFERWR2A+5VYIOW轉(zhuǎn)換NMOV

AL,NOUT

Port,

AL2)單緩沖方式:單緩沖方式是指

DAC0832內(nèi)部的兩個數(shù)據(jù)緩沖器有一個處于直通方式,另一個處于受單片機(jī)控制的方式。DX,PORTAL,0DX,ALALJMP

NEXTMOV

MOVNEXT:

OUTINC單緩沖方式輸出正向鋸齒波MOV

DX,PORTMOV

AL,0DX,AL

INCDOWN:

OUTUP:

OUTALJNZ

UPMOV

AL,0FEHDX,AL

DECALJNZ

DOWN

JMP

UP輸出三角波35DAC0832

的數(shù)字量輸入鎖存和D/A轉(zhuǎn)換輸出分兩步完成。首先,將數(shù)字量輸入到各路D/A轉(zhuǎn)換器的輸入寄存器,然后,控制各路D/A轉(zhuǎn)換器,使各路D/A轉(zhuǎn)換器輸入寄

存器中的數(shù)據(jù),同時進(jìn)入DAC寄存器,并轉(zhuǎn)換輸出。所以,在這種工作方式下,DAC0832占用兩個I/O地址,輸入寄存器和DAC寄存器各占一個I/O地址。3)雙緩沖方式WR1WR2DAC0832ILECSXFERD0~7+5VA雙緩沖方式Y(jié)0IOWY1轉(zhuǎn)換NMOV

AL,NOUT

P1,ALOUT

P2,AL36應(yīng)用:多個模擬通道要求同時更新數(shù)據(jù)CSXFER0832(1)AY1CSXFER0832(2)AY2CSXFERAYnY…0832(n)MOV

AL,N1OUT

P1,ALMOV

AL,N2OUT

P2,AL…MOV

OUTAL,NnPn,ALOUT

P,AL將所有0832的ILE接高電平,WR1、WR2與IOW相連,CS和XFER的連接如圖。設(shè)要求同時更新的數(shù)據(jù)依次為N1、N2…Nn,則程序段:37單片機(jī)與DAC0832的接口38DAC0832具有數(shù)字量的輸入鎖存功能,可以和單片機(jī)的P0口直接相連。單片機(jī)與

DAC0832的接口,可根據(jù)需要按雙緩沖器

方式、單級緩沖器方式和直通方式聯(lián)接。1)單緩沖器連接方式39ILE?+5V,片選信號及數(shù)據(jù)傳輸信號都與地址選擇線P2.7相連,地址為7FFFH,兩級寄存器

的寫信號都由CPU的P2.7端控制。數(shù)字量可以直?從MCS-51的P0口送入DAC0832。當(dāng)?shù)刂?/p>

選擇線選擇好DAC0832后,只要輸出控制信號,

DAC0832就能一次完成數(shù)字量的輸入鎖存和D/A轉(zhuǎn)換輸出。40執(zhí)行下列幾條指令就可以完成一次D/A轉(zhuǎn)換:41MOV DPTR,

#7FFFH ;

地址指向DAC0832MOV A,

#DATAMOVX @DPTR,

A;待轉(zhuǎn)換的數(shù)字量DATA送累加器A;數(shù)字量送P2.7指向的地址,有效時完成一次D/A輸入WAVE:MOV

DPTR,#addr;輸入寄存器和DAC寄存器地址MOV

A,DATA0

;數(shù)字量初值LOOP:

MOVX

@DPTR,ACJNE

A,DATAEND,MORESJMP

WAVEMORE:INC

ASJMP

LOOP42利用上圖所示電路,產(chǎn)生鋸齒波信號。2)雙緩沖器連接方式43從X、Y同步輸出不同電壓的程序:44MOVDPTR,#addr1;1#輸入寄存器地址MOVA,DATA1;數(shù)字量1送AMOV@DPTR,A;數(shù)字量1送1#輸入寄存器MOVDPTR,#addr2;2#輸入寄存器地址MOVA,DATA2;數(shù)字量2送AMOV@DPTR,A;數(shù)字量2送2#輸入寄存器MOVDPTR,#addr3;1#、2#DAC寄存器地址MOV@DPTR

,

A;1#、2#輸入寄存器的數(shù)字量1、2分別同時送1#、2#DAC寄存器,并同時轉(zhuǎn)換,同步輸出利用此電路輸出一對同步信號,如從X、Y輸出一組同步的鋸齒波和正弦波信號D/A轉(zhuǎn)換器接口電路設(shè)計-12位DAC1)無三態(tài)輸入緩沖器、12位DAC數(shù)據(jù)分兩次寫入,外加兩級輸入緩沖器左對齊:D15……D8D7…D4D3…D012位有效數(shù)據(jù)D15…D12D11…D8D7……D012位有效數(shù)據(jù)右對齊:AENIOWA0~9PC插槽D0~7譯碼電路D0~7

Q0~7CD0~3

Q0~3C12位DACD0~7D8~11A第二級Y0Y1右對齊第一級D0~7

Q0~7CD0~3轉(zhuǎn)換數(shù)據(jù)123H45MOV

AX,0123HOUT

P0,ALMOV

AL,AHOUT

P1,AL2)有三態(tài)輸入緩沖器12位DAC

DAC1210內(nèi)部有兩級緩沖器,左對齊方式輸入。數(shù)據(jù)內(nèi)部結(jié)構(gòu)與

DAC0832類似。Io1Io2DAC1210的內(nèi)部結(jié)構(gòu)8位輸入寄存器4位輸入寄存器12位DAC寄存器&&&LE1LE22CSWR1XFERWR12位D/A轉(zhuǎn)換器LE3D4~11D0~3B1/B2必須先寫高8位后寫低4位(寫入時令B1/B2=0)46應(yīng)用舉例—將數(shù)據(jù)123H送給DAC1210進(jìn)行轉(zhuǎn)換47轉(zhuǎn)換程序段MOV

BX,1230H48MOVDX,341HMOVAL,BHOUTDX,AL;寫入高8位MOVDX,340HMOVAL,BLOUTDX,AL;寫入低4位MOVDX,342HOUTDX,AL;開始轉(zhuǎn)換A/D轉(zhuǎn)換器(ADC):將模擬量轉(zhuǎn)換成數(shù)字量的線性電路器件按速度分:超高速(

330ns)次超高速(330ns~3.3μs)高速(3.3μs~20μs)中速(20μs~300μs)慢速(>300μs)按原理分直接轉(zhuǎn)換型:逐次逼近(較高分辨率及速度)、并聯(lián)比較間接轉(zhuǎn)換型:積分型(抗干擾、高分辨率、但速度慢)、電壓/頻率、電壓/脈寬按分辨率分:4位、8位、10位、12位…493.微機(jī)與ADC的接口電路1)ADC的主要參數(shù)分辨率:ADC能轉(zhuǎn)換成的二進(jìn)制數(shù)的位數(shù)。位數(shù)越多,分辨率越高轉(zhuǎn)換時間:從輸入啟動信號到轉(zhuǎn)換結(jié)束,得到穩(wěn)定的數(shù)字量所需的時間精度、線性度:同DAC2)ADC的外部特性模擬信號輸入線:單通道/多通道數(shù)字量輸出線:分辨率轉(zhuǎn)換啟動線:啟動方式轉(zhuǎn)換結(jié)束狀態(tài)線:查詢/引發(fā)中斷/請求DMA脈沖啟動電平啟動必備信號線ADC必須由外部啟動50芯片型號啟動信號轉(zhuǎn)換結(jié)束狀態(tài)ADC0809STARTEOCAD570B/C=0DRADC0804CS.WRINTRADC7570STARTBUSY=1ADC1131JCONVCMDSTATUS下降沿ADC1210SCCCAD574CE.(R/C=0).CSSTS=0513)ADC與微處理器的接口方法①

ADC與CPU的連接分辨率:是否高于系統(tǒng)數(shù)據(jù)總線的寬度數(shù)據(jù)輸出結(jié)構(gòu):是否有三態(tài)緩沖功能啟功方式:脈沖啟動(讀寫脈沖)/電平啟動(經(jīng)鎖存)數(shù)據(jù)傳送方式:查詢、中斷、DMA、板上RAM方式②

ADC接口的主要操作發(fā)啟動轉(zhuǎn)換信號取回“轉(zhuǎn)換結(jié)束”狀態(tài)信號

必須完成讀取轉(zhuǎn)換結(jié)果進(jìn)行通道選擇:多通道ADC發(fā)采樣/保持(S/H)控制信號:高速變化信號52④

ADC接口電路的結(jié)構(gòu)形式直接與CPU相連——有三態(tài)緩沖能力采用中小規(guī)模邏輯芯片與CPU相連利用通用并行接口芯片與CPU相連采用GAL器件③

ADC數(shù)據(jù)的傳送查詢方式中斷方式DMA方式:高速ADC板上RAM方式:超高速ADC534)查詢方式A/D轉(zhuǎn)換器接口電路設(shè)計①有三態(tài)輸出鎖存器、12位ADC—AD574AAD574A的主要特性——分辨率可選(8位/12位),單通道,逐次逼近型,負(fù)脈沖啟動,轉(zhuǎn)換時間25μs。54硬件連接Y0Y1AENA0~9D0~7PC插槽譯碼電路Y2&D7D4~7D8~11D0~3STSAD574A&IOWIORCS

12/8A0

R/CCEAY0:310H,Y1:311H,Y2:312H軟件編程數(shù)據(jù)采集程序段AL,DXMOV[DI],ALMOVDX,312HINMOVADD[DI+1],ALDI,2LOOPNEXTCX,64DI,BUFDX,312H;啟動轉(zhuǎn)換

DX,ALDX,310HAL,DXAL,80HJNZMOVWAIT

;STS=1,等待DX,311HINAL,DX;讀取低4位ANDAL,0FH;讀取高8位MOVLEANEXT:

MOVOUTWAIT:

MOVINAND對312H寫,啟動一次12位轉(zhuǎn)換對310H讀,取回STS(D7位)對311H讀,讀回低字節(jié)(D4~D7)對312H讀,讀回高字節(jié)可寫入任意值12位轉(zhuǎn)換,數(shù)據(jù)分兩次讀出,查詢方式,采集64個數(shù)據(jù)左對齊存入BUF為首址的內(nèi)存。55②無三態(tài)輸出鎖存器、12位ADC—ADC1210IORAEN

A0~9D0~7PC插槽Q0~3

D0~3ADC1210D0~7A右對齊D0~3Q7

D7譯碼電路Y0

1Y1Y2

1

1SCIND8~11CCD7GQ0~7

D0~7GLS244設(shè)Y0~Y2的地址為330H~332H對332H讀,啟動一次轉(zhuǎn)換對330H讀,取回CC(D7位)對331H讀,讀低8位對330H讀,讀高4位(D0~D3)SC:啟動信號,負(fù)脈沖有效;CC:轉(zhuǎn)換結(jié)束,低有效外加輸出鎖存器56采集一個數(shù)據(jù)→BXMOV DX,332H;啟動轉(zhuǎn)換OUT DX,ALMOV

DX,330HIN

AL,DXANDAL,80HJNZWAIT;CC=1,等待MOVDX,331H;讀取低8位INAL,DXMOVBL,ALMOVDX,330H;讀取高4位INAL,DXANDAL,0FHMOVBH,ALWAIT:57③多通道、8位ADC—ADC08098個模擬通道、逐次逼近型,正脈沖啟動,有三態(tài)輸出鎖存器ADC0809的內(nèi)部結(jié)構(gòu)通道選擇開關(guān)IN0IN1IN

…7通道地址鎖存及譯碼逐次逼近寄存器(SAR)比較器輸出鎖存器

(三態(tài))ADDAADDBADDCALED0~7EOCOECLK

START定時和控制開關(guān)樹組

(256R)VR(+) VR(-)A/D58IN0~I(xiàn)N7:通道0~7的模擬量輸入D0~7:數(shù)字量輸出ADDC、ADDB、ADDA:通道(0~7)選擇ALE:通道地址鎖存,正脈沖有效START:啟動信號,正脈沖有

效,上升沿所有寄存器清0,下降沿開始轉(zhuǎn)換EOC:轉(zhuǎn)換結(jié)束,高有效

OE:允許輸出,高有效通常,通道選擇由數(shù)據(jù)信號完成。START與ALE相連:選擇通道的同時啟動。硬件連接59軟件編程:依次對8個通道采樣,共采集256個數(shù)據(jù),存于BUF區(qū)中依次采集通道0~7,只要將通道號+1即(最低三位有效)

將通道號寫入P2,啟動轉(zhuǎn)換并鎖存通道號對P0讀,讀回EOC(D)7對P1讀,讀取轉(zhuǎn)換結(jié)果BL,0DX,P2AL,BLLOOPNEXT;EOC=0,等待WAITDX,P1AL,DX

;讀取結(jié)果[DI],ALBL

;通道號+1DI;通道號初值=0DX,AL

;啟動并鎖存通道號DX,P0AL,DXAL,80H程序段:LEADI,BUFMOVCX,256MOVNEXT:

MOVMOVOUTWAIT:

MOVINANDJZMOVINMOVINCINC本章首頁605)中斷方式ADC接口電路設(shè)計單板機(jī)系統(tǒng)中斷方式的數(shù)據(jù)采集系統(tǒng)設(shè)計要

求以TP86為控制器,對單通道模擬信號采集512個8位數(shù)據(jù),中斷方式存BUF,并送入DAC.硬件分析與設(shè)計ADC0804;DAC0832;8259AADC0804的工作特性ADC0804:8位,內(nèi)部有三態(tài)鎖存器,負(fù)脈沖啟動

INTR:轉(zhuǎn)換結(jié)束信號,低有效CS=WR=0,啟動;CS=RD=0,結(jié)果輸出61硬件連接TP868259AINTAINTRRDWRD0~7A0~9AENINTAINTA0RDWRD0~71IR0ADC0804AININTRRDCSWRD0~7IO1IO2D0~7WR1WR2CSXFERILEDAC0832譯碼電路+5VCS…A1中斷控制分析ADC0804的INTR反相后向8259A的IR0申請中斷62軟件編程主程序主要內(nèi)容8259A初始化中斷向量裝入啟動ADC0804開中斷等待中斷發(fā)生中斷服務(wù)程序內(nèi)容從ADC0804讀數(shù)

將數(shù)寫入DAC0832存儲數(shù)據(jù)中斷結(jié)束命令中斷服務(wù)程序AL,DXDX,0FFD6HMOVDX,0FFD4HINMOVOUTMOVINCDX,AL[DI],ALDI;讀取結(jié)果;送給DACA_D

PROC;保護(hù)現(xiàn)場DX,0FFDCHDX,AL;恢復(fù)現(xiàn)場MOV

AL,20HMOVOUTIRETA_D

ENDP;存儲;EOI命令A(yù)L,80HDX,ALAL,01HDX,ALAX,0ES,AXBX,4*80HES:[BX],OFFSETA_DES:[BX+2],SEGA_DDI,BUFCX,512DX,0FFDEHAL,DX主程序CLIMOV

DX,0FFDCHMOV

AL,13HOUT

DX,ALMOV

DX,0FFDEHMOVOUTMOVOUTMOVMOVMOVMOVMOVLEAMOVMOVINANDOUTMAL,0FEHDX,ALOV

DX,0FFD4HOUTDX,AL;8259A的ICW1;8259A的IMR2=0;裝入中斷向量NEXT:;8259A的ICW2;8259A的ICW4;啟動轉(zhuǎn)換STIHLTCLIDECCXJNZ

NEXT;等待轉(zhuǎn)換結(jié)束ADC0804的地址:FFD4H;DAC0832的地址FFD6H

8259A的地址:FFDCH、FFDEH63MCS-51與ADC0809的中斷方式接口64ADC0809

805l

之間的接口電路如圖所示。ADC0809時鐘信號由單片機(jī)的ALE信號2分頻獲得。

ADC0809

通道地址由

P0

口的低

3直接與ADC0809的A、B、C相連。ADC0809和8XX51的連接ALE~2731~Q0Q1Q23731INT1P08XX51RDALEDCLKQQ~ADDAADDBADDCD0D7EOCIN0IN7VCCVREF+STARTALE

VREF-OE

GNDADC0809CLK8G8

D0D7WRP2.7+5V1165轉(zhuǎn)換結(jié)束信號EOC根據(jù)不同的方式和單片機(jī)的連接方式不同:采用延時方式

EOC懸空,在啟動轉(zhuǎn)換后延時 100

μs,再讀轉(zhuǎn)換結(jié)果;采用查詢方式時,可將EOC接并行口(P1或P3)的某線,檢測

EOC變高后,再讀入轉(zhuǎn)換結(jié)果。采用中斷方式可將EOC經(jīng)非門反相接到單片機(jī)的中斷請求端,一旦轉(zhuǎn)換完成EOC變?yōu)楦唠娖?,?XX51提出中斷請求,進(jìn)入中斷服務(wù)后讀入轉(zhuǎn)換結(jié)果。上圖為一個中斷方式的接口電路。66采用延時方法,對N(N≤8)路模擬信號進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換后的N個數(shù)據(jù)順序存放到起始地址為data_addr數(shù)據(jù)存區(qū)。ADST:MOV

R1,#data_addr

;置數(shù)據(jù)區(qū)首地址指針MOV

DPTR,#addr_ch1

;指向第1個通道67MOV

R2,#0NHLOOP:MOVX

@DPTR,ACALL

DELAYMOVX

A,@DPTRMOV

@R1,AINC

DPTRINC

R1;通道個數(shù);啟動A/D轉(zhuǎn)換;延時;讀取轉(zhuǎn)換結(jié)果;結(jié)果轉(zhuǎn)存到數(shù)據(jù)區(qū);指向下一地址;修改數(shù)據(jù)區(qū)指針DJNZ

R2,LOOP;若N路未轉(zhuǎn)換完則繼續(xù)轉(zhuǎn)換采用中斷方式,對N(N≤8)路模擬信號進(jìn)行A/D轉(zhuǎn)換。68初始化程序:ADST:

MOVR1,#dat_addr;數(shù)據(jù)暫存區(qū)首地址MOVR2,#0NH;共N路SETBITl;INT1下降沿觸發(fā)SETBEA;中斷允許SETBEX1;開中斷1MOV

DPTR,#addr_ch1;指向第1通道MOVX

@DPTR,AMOV

A,R2LOOP:

JNZ

LOOP;啟動A/D轉(zhuǎn)換;通道數(shù)送A;N路未轉(zhuǎn)換完等中斷中斷服務(wù)程序: MOVX

A,@DPTR MOVX

@R1,A69INC

DPTRINC

R1;讀取A/D轉(zhuǎn)換結(jié)果;存A/D轉(zhuǎn)換結(jié)果;下一個通道;下一個數(shù)據(jù)存放單元;啟動下一個通道;通道數(shù)減1MOVX

@DPTR,ADEC

R2MOV

A,R2RETI;中斷返回LS244-數(shù)據(jù)緩沖功能雙向傳輸功能1G=2G=1:輸出高阻態(tài),

ADC0804與數(shù)據(jù)總線隔離。1G=0:信號從左到右1A1~1A4與1Y1~1Y4相通2G=0:信號從右到左2A1~2A4與2Y1~2Y4相通LS245-八總線收發(fā)器G=1:A、B高阻態(tài),接口數(shù)據(jù)總線與微機(jī)數(shù)據(jù)總線隔離。G=0,DIR=0:

信號從B到AG=0,DIR=1:信號從A到B70工

原 理:IOR=IOW=1:1G=2G=1,ADC0804輸出高阻態(tài),與數(shù)據(jù)總線隔離。

IOR=0,IOW=1:1G=0,CPU通過讀取LS244 1Y1的值查詢ADC的INTR狀態(tài)(是否已完成轉(zhuǎn)換);DIR=IOR&IOW=0,數(shù)據(jù)由接口數(shù)據(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

提交評論