單片機應(yīng)用技術(shù)中級教程7課件_第1頁
單片機應(yīng)用技術(shù)中級教程7課件_第2頁
單片機應(yīng)用技術(shù)中級教程7課件_第3頁
單片機應(yīng)用技術(shù)中級教程7課件_第4頁
單片機應(yīng)用技術(shù)中級教程7課件_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第七章單片機的典型外圍接口技術(shù)

作為單片機應(yīng)用系統(tǒng),鍵盤和顯示器作為最常用的輸入、輸出接口往往是不可缺少的外圍部件;另外計算機只能接受和處理數(shù)字信號,因此對于大量的模擬信號的處理,往往需要A/D、D/A接口,本章將初步介紹這方面的一些知識。1.教學(xué)內(nèi)容:鍵盤接口、鍵盤分類:獨立聯(lián)接式和矩陣式,編碼鍵盤和非編碼鍵盤,鍵盤接口電路和工作原理,LED顯示器接口,靜態(tài)顯示電路和動態(tài)顯示電路及工作原理,并行DAC接口和簡單編程,并行ADC接口和接口程序。2.教學(xué)重點:簡單鍵盤、LED顯示接口電路及工作原理,并行DAC,ADC與80C51單片機接口方法。3.教學(xué)要求:掌握簡單鍵盤、LED顯示接口電路及工作原理;掌握并行DAC,ADC與80C51單片機接口方法;了解串DAC、ADC的接口鍵盤處理程序任務(wù)1)鍵輸入檢查鍵盤是否有鍵被按下,消除按鍵抖動。確定被按鍵的鍵號,獲取鍵號。硬件電路消除抖動或軟件消除抖動。2)鍵譯碼鍵號為鍵盤位置碼,根據(jù)鍵號查表得出被按鍵的鍵值。鍵值:數(shù)字鍵0~9、字符鍵0AH~0FH、功能鍵10H~。延時等待10ms仍有按鍵信號?Y有按鍵信號?NYN鍵盤處理

按鍵釋放?NY3)鍵處理根據(jù)鍵值轉(zhuǎn)移到不同程序段。若鍵值屬于數(shù)字、字符鍵,則調(diào)用顯示數(shù)字和字符的子程序。若鍵值屬于功能鍵,則進行多分支轉(zhuǎn)移,執(zhí)行各個功能程序段。抖動時間<10ms開關(guān)動作時間>100ms“1”“0”<10ms&I/O接口&+5v+5v消除抖動電路開關(guān)單片機鍵盤狀態(tài)的監(jiān)測方法:中斷方式還是查詢方式

7.1鍵盤接口

1。鍵盤的工作原理:有獨立連接式和矩陣式兩類鍵盤。

(1)獨立連接式鍵盤:

這是一類最簡單的鍵盤,每個鍵獨立地連接一根數(shù)據(jù)輸入線。如P222圖7-1所示。當(dāng)沒有任何鍵被按下時,所有輸入線都為高電平,若某鍵被按下,該線被拉成低電平。其優(yōu)點是結(jié)構(gòu)簡單、使用方便;但占口線太多。(2)矩陣式鍵盤:如P223圖7-2a所示。它包括:鍵盤開關(guān)矩陣;輸出(行線)鎖存器;輸入(列線)緩沖器。2。矩陣式鍵盤的工作過程:

①逐行掃描(使某行為0,其余為高);②讀入列緩沖器狀態(tài),若為全1,則該行無鍵按下,繼續(xù)另一行;若有列線為0,則該行該列的鍵被按下;③若已判斷有某鍵被按下,則轉(zhuǎn)該鍵的鍵處理子程序。鍵盤掃描程序框圖見P223圖7-2b,掃描方式有:程控、定時、中斷掃描。獨立式鍵盤電路矩陣式鍵盤

0

1+5vC0C1R0R1鍵盤I/O接口1.鍵盤掃描方式(1).掃描法列線輸出,行線輸入。列線逐行輸出0,某行有按鍵,行線輸入有0,若無按鍵,行線輸入全部為1。(2).反轉(zhuǎn)法行列線交換輸入、輸出,兩步獲取按鍵鍵號。P1.0P1.1P1.7+5v每個按鍵單獨占有一根I/O接口引線。單鍵管理程序key:setbp1.0jbp1.0,key2;有鍵按下P1.0=0key1:acalldis;延時,防止抖動setbp1.0jbp1.0,key2

;鍵是否釋放消除了連擊功能

jnbp1.0,key1key2:ret

ORG0000HAT0:SETBP1.0SETBP1.1JBP1.0,AT2ACALLDISJBP1.0,AT4MOV30H,#00HAT1:JBP1.0,AT4ACALLDISAJMPAT1AT2:JBP1.1,AT4ACALLDISJBP1.1,AT4MOV30H,#01HAT3:JBP1.1,AT4ACALLDISAJMPAT3AT4:RETDIS:

7.1.2鍵盤的接口電路1。直接使用I/O口的鍵盤電路如P224圖7-3

所示。由于80C51的I/O口具有輸出鎖存與輸入緩沖的功能,可用來組成鍵盤電路。圖中用P1口組成4×4的16鍵鍵盤,列線接低4位并通過與門和/INT0相連;行線串聯(lián)一個二極管接高4位,串聯(lián)二極管是為了防止多鍵同時按下時使輸出口短路。MOVR3,AAJMPAT3AT4:MOVB,#04HAT5:JNBACC.4,AT6INCR3RRADJNZB,AT5AJMPAT7AT6:ACALLDISACALLKS1JNZAT6AT7:RETKS1:MOVP1,#0F0HMOVA,P1ORLA,#0FHCPLARETDIS:RET2。利用I/O口和譯碼器的接口如P224圖7-4

所示。利用138譯碼器可由三根口線產(chǎn)生8根列線,節(jié)省I/O口線。

3。利用串行口的鍵盤電路如P224圖7-5

所示。數(shù)碼管字型編碼表顯示字符字型共陽極共陰極dpgfedcba字型碼dpGfedcba字型碼0011000000C0H001111113FH1111111001F9H0000011006H2210100100A4H010110115BH3310110000B0H010011114FH441001100199H0110011066H551001001092H011011016DH661000001082H011111017DH7711111000F8H0000011107H881000000080H011111117FH991001000090H011011116FHAA1000100088H0111011177HBB1000001183H011111007CHCC11000110C6H0011100139H顯示字符字型共陽極共陰極

dpgfedcba字型碼dpGfedcba字型碼DD10100001A1H010111105EHEE1000011086H0111100179HFF100011108EH0111000171HHH1000100189H0111011076HLL11000111C7H0011100038HPP100011008CH0111001173HRR11001110CEH0011000131HUU11000001C1H001111103EHYY1001000191H011011106EH10111111BFH0100000040H..011111117FH1000000080H熄滅滅11111111FFH0000000000H7.2.2顯示器的分類與接口

顯示電路通常分為靜態(tài)顯示和動態(tài)顯示兩類。

abhCOMafbge

cdh

abhCOM

abhCOM每個LED需要一個8位并行口COMhCOMD7…D1D0D0D1D2hbbhCOMafbge

cdhaaba多位LED共用一個8位字段口,各位LED公共端用字位口控制,掃描輸出顯示不同字形。(2)動態(tài)顯示電路:它和靜態(tài)顯示相比,可以節(jié)省顯示驅(qū)動器,但要求CPU定時對顯示器進行刷新,要占用較多的CPU工作時間。其顯示電路如P229圖7-11所示,包括顯示塊、字形鎖存器和字位鎖存器。工作過程是:先將顯示字形代碼送字形鎖存器鎖存,然后把要顯示的位置送字位鎖存器鎖存,從而使該位點亮。為防止閃爍,顯示時間為1~2ms,且每隔20ms以內(nèi)要刷新一次。例1(P230):通過P1口及138譯碼器的接口電路。這是一個動態(tài)顯示的例子。接口電路見P231圖7-13。

工作過程:首先,使P1口的低4位輸出字形代碼;P1口的高3位輸出一個位掃描字(與138譯碼配合),顯示某一位,并保持1ms。各位顯示一遍之后,關(guān)顯示。爾后,使P1口的高4位轉(zhuǎn)為輸入方式,P1口的低4位輸出鍵掃描信號,有鍵按下時,轉(zhuǎn)入鍵譯碼和處理程序。其中,要注意在適當(dāng)?shù)臅r候進行顯示器刷新,以使顯示不滅掉。其它的有關(guān)顯示與鍵盤的接口方法將在后續(xù)課程中進一步講解。7.3DAC數(shù)/模轉(zhuǎn)換接口一、D/A轉(zhuǎn)換器的性能指標(biāo)1.分辨率(Resolution)分辨率是指D/A轉(zhuǎn)換器能分辨的最小輸出模擬增量,取決于輸入數(shù)字量的二進制位數(shù)。如果數(shù)字量的位數(shù)為n,則稱D/A轉(zhuǎn)換器分辨率為n位或稱為模擬量滿量程的1/2n.如8位D/A轉(zhuǎn)換器,轉(zhuǎn)換后的電壓滿量程是5V,則分辨率為8位或5V/28=20mV.

2.轉(zhuǎn)換精度(ConversionAccuracy)指滿量程時DAC的實際模擬輸出值和理論值的接近程度。轉(zhuǎn)換精度為1/2個最低有效位(常用±1/2LSB表示),如8位D/A轉(zhuǎn)換器的精度為:±(1/2)×(1/256)=±1/5123.偏移量誤差(OffsetError)偏移量誤差是指輸入數(shù)字量為零時,輸出模擬量對零的偏移值。

4.線性度(Linearity)線性度是指DAC的實際轉(zhuǎn)換特性曲線和理想直線之間的最大偏移差。5.建立時間建立時間是描述D/A轉(zhuǎn)換速度快慢的一個參數(shù),指從輸入數(shù)字量變化到輸出達到終值誤差±1/2LSB(最低有效位)時所需的時間,通常以建立時間來表明轉(zhuǎn)換速度.二、D/A轉(zhuǎn)換原理n位數(shù)字量與模擬量的關(guān)系式: VO=VREF/2n×D (VREF-參考電壓)三、集成D/A轉(zhuǎn)換器DAC0832DAC0832是8位雙緩沖器結(jié)構(gòu)的D/A轉(zhuǎn)換器。單電源供電,在+5~+15V范圍內(nèi)均可正常工作?;鶞?zhǔn)電壓的范圍為±10V,電流建立時間為1μs,CMOS工藝,低功耗20mW。DAC0832共有20條引腳,雙列直插式封裝。引腳連接和命名如圖所示。DAC0832內(nèi)部結(jié)構(gòu)框圖D7~D0:轉(zhuǎn)換數(shù)據(jù)輸入端,:片選信號,輸入,低電平有效。ILE:數(shù)據(jù)鎖存允許信號,輸入,高電平有效。:寫信號1,輸入,低電平有效。:寫信號2,輸入,低電平有效。:數(shù)據(jù)傳送控制信號,輸入,低電平有效。

IOUT1:電流輸出1,當(dāng)DAC寄存器中各位為全“1”時,電流最大;為全“0”時,電流為0。IOUT2:電流輸出2,電路中保證IOUT1+IOUT2=常數(shù))

Rfb:反饋電阻端,片內(nèi)集成的電阻為15kΩ。Vref:參考電壓,可正可負(fù),范圍為-10~+10V。DGND:數(shù)字量地。AGND:模擬量地。例1:D/A轉(zhuǎn)換程序,用DAC0832輸出0~5V鋸齒波,電路為直通方式。設(shè)VREF=-5V,DAC0832地址為7FFFH(CS接P2.7),脈沖周期要求為100ms。DACS:MOV DPTR,#7FFFH;0832I/O地址 MOV A,#0 ;開始輸出0VDACL:MOVX @DPTR,A ;輸出模擬量 INC A ;升壓 ACALL DELAY ;延時100ms/256 AJMP DACL ;連續(xù)輸出DELAY:… ;延時子程序100ms

幾點說明:(1)程序每循環(huán)1次,A加1,可見鋸齒波的上升沿是由256個小階梯構(gòu)成的。(2)可通過循環(huán)程序段的機器周期數(shù),計算出鋸齒波的周期,并可根據(jù)需要通過延時的辦法來改變波形周期。(3)通過A加1,可得到正向的鋸齒波;如要得到負(fù)向的鋸齒波,只要將A加1改為A減1指令即可實現(xiàn)。(4)程序中A的變化范圍為0~255,所得到的鋸齒波為滿幅度。例2:產(chǎn)生矩形波、方波

ORG0000HMAIN:MOVDPTR,#7FFFH;指向0832口地址SS1:MOVA,#00H;取下限值MOVX@DPTR,A;輸出

ACALLDMS1;調(diào)用延時程序MOVA,#0FFH;取上限值MOVX@DPTR,A;輸出

ACALLDMS2;調(diào)用延時程序SJMPSS1END幾點說明:

(1)以上程序產(chǎn)生的是矩形波,其低電平的寬度由延時子程序DMS1所延時的時間來決定,高電平的寬度則由子程序DMS2所延時的時間來決定。(2)改變延時子程序DMS1和DMS2的延時時間,就可改變矩形波上下沿的寬度。若DMS1=DMS2(兩者延時一樣),則輸出的是方波。(3)改變上限值或下限值便可改變矩形波的幅值:單極性輸出時為0~-5V或0~+5V;雙極性輸出時為-5~+5V。例3.產(chǎn)生三角波利用DAC0832產(chǎn)生三角波的參考程序如下:MOVA,#00H;取下限值MOVDPTR,#7FFFH;指向0832口地址SS1:MOVX@DPTR,A;輸出NOP;延時NOPNOPSS2:INCA;轉(zhuǎn)換值增量JNZSS1;未到峰值,則繼續(xù)SS3:DECA;已到峰值,則取后沿MOVX@DPTR,A;輸出NOP;延時NOPNOPJNZSS3;未到谷值,則繼續(xù)SJMPSS2;已到谷值,則反復(fù)

幾點說明:(1)本程序所產(chǎn)生的三角波谷值為0,峰值為+5V(或-5V)。若改變下限值和上限值,那么三角波的谷值和峰值也隨之改變。(2)改變延時時間可改變?nèi)遣ǖ男甭省?3)若在谷值和峰值處延時較長時間的話,則輸出梯形波,延時時間的長短取決于梯形波上下邊的寬度。(b)輸入寄存器直通方式(c)兩個寄存器同時選通及鎖存方式3.DAC0832的雙極性輸出接口DAC0832的雙極性輸出接口運算放大器A2的作用是把運算放大器A1的單極性輸出變?yōu)殡p極性輸出。例如,當(dāng)Vref=+5V時,A1的電壓輸出范圍為0~-5V。當(dāng)VOUT1=0V時,VOUT2=-5V;當(dāng)VOUT1=-2.5V時,VOUT2=0V;當(dāng)VOUT1=-5V時,VOUT2=+5V。VOUT2的輸出范圍為-5V~+5V。VOUT2與參考電壓Vref的關(guān)系為:數(shù)字碼8031和兩片DAC0832的接口(雙緩沖方式)同樣地,也有并行擴展與串行擴展D/A,有關(guān)并行擴展的方法我們將在其它課程中作介紹。P242~245介紹了利用MAX518芯片串行擴展D/A的方法。MAX518的引腳及內(nèi)部結(jié)構(gòu)如P242圖7-26所示。一片MAX518可擴展2路的8位D/A。它與80C51單片機的接口電路見P244圖7-28。有關(guān)的模擬I2C總線的編程可參考P244~245,(各程序需補充某些語句)MAX518編程(P206),設(shè)置一路DAC0輸出的程序如下:OUT0:MOVA,#ADDR;#ADDR=#58HACALLSTARTACALLWRBYT

L1:ACALLCHACKJBF0,L1;確證收到ACK信號

MOVA,#DAC0;#DAC0=#00HACALLWRBYTL2:ACALLCHACKJBF0,L2;確證收到ACK信號

MOVA,B;取要發(fā)送的數(shù)(在B中)ACALLWRBYT

L3:ACALLCHACKJBF0,L3;確證收到ACK信號ACALLSTOPRETR2R1R0RSTPD//A0設(shè)置兩路DAC輸出的程序及后面的三個子程序,在每一句ACALLWRBYT下面,也都要加入下面兩語句:

L×:ACALLCHACKJBF0,L×;確證收到ACK信號7.4ADC模/數(shù)轉(zhuǎn)換接口一、A/D轉(zhuǎn)換器的性能指標(biāo)1.分辨率(Resolution)分辨率是指A/D轉(zhuǎn)換器能分辨的最小輸入模擬增量,取決于輸入數(shù)字量的二進制位數(shù)。如果數(shù)字量的位數(shù)為n,則稱A/D轉(zhuǎn)換器分辨率為n位或稱為模擬量滿量程的1/2n.如8位D/A轉(zhuǎn)換器,轉(zhuǎn)換后的電壓滿量程是5V,則分辨率為8位或5V/28=20mV.

2.轉(zhuǎn)換精度(ConversionAccuracy)指轉(zhuǎn)換值和理論值的之間的誤差。轉(zhuǎn)換精度為1/2個最低有效位(常用±1/2LSB表示),也就是量化誤差。如8位A/D轉(zhuǎn)換器的精度(即相對量化誤差)為:±(1/2)×(1/256)=±1/512;絕對量化誤差=滿量程電壓×相對量化誤差=5V×(±1/512)=±9.8mV3.轉(zhuǎn)換器轉(zhuǎn)換時間:把輸入的模擬量轉(zhuǎn)換為n位數(shù)字量所需要的時間。轉(zhuǎn)換時間大約在幾微秒到幾百微秒之間。二、A/D轉(zhuǎn)換器芯片ADC08091.ADC0809的內(nèi)部邏輯結(jié)構(gòu)ADC0809的內(nèi)部邏輯結(jié)構(gòu)圖ADC0809/0808為8路輸入通道、8位逐次逼近式A/D轉(zhuǎn)換器,可分時轉(zhuǎn)換8路模擬信號。由一個8位逐次逼近式A/D轉(zhuǎn)換器、8路模擬轉(zhuǎn)換開關(guān)、3-8地址鎖存譯碼器和三態(tài)輸出數(shù)據(jù)鎖存器組成ADC0809通道選擇表ADC0809的引腳圖

(1)IN7~IN0:模擬量輸入通道。ADC0809對輸入模擬量的要求主要有:信號單極性,電壓范圍0~5V,若信號過小還需進行放大。另外,在A/D轉(zhuǎn)換過程中,模擬量輸入的值不應(yīng)變化太快,因此,對變化速度快的模擬量,在輸入前應(yīng)增加采樣保持電路。(2)A、B、C:地址線。A為低位地址,C為高位地址,用于對模擬通道進行選擇。上圖中為ADDA、ADDB和ADDC,其地址狀態(tài)與通道相對應(yīng)的關(guān)系見上表。(3)ALE:地址鎖存允許信號。在對應(yīng)ALE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。2.ADC0809的引腳說明(4)START:轉(zhuǎn)換啟動信號。START上跳沿時,所有內(nèi)部寄存器清0;START下跳沿時,開始進行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,START應(yīng)保持低電平。(5)D7~D0:數(shù)據(jù)輸出線。其為三態(tài)緩沖輸出形式,可以和單片機的數(shù)據(jù)線直接相連。(6)OE:輸出允許信號。其用于控制三態(tài)輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=0,輸出數(shù)據(jù)線呈高電阻;OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。(7)CLK:時鐘信號。ADC0809的內(nèi)部沒有時鐘電路,所需時鐘信號由外界提供,因此有時鐘信號引腳。通常使用頻率為500kHz的時鐘信號。(8)EOC:轉(zhuǎn)換結(jié)束狀態(tài)信號。EOC=0,正在進行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。該狀態(tài)信號既可作為查詢的狀態(tài)標(biāo)志,又可以作為中斷請求信號使用。轉(zhuǎn)換時間約128μs。(9)VCC:+5V電源。(10)Vref:參考電源。參考電壓用來與輸入的模擬信號進行比較,作為逐次逼近的基準(zhǔn)。其典型值為+5V(Vref(+)=+5V,Vref(-)=0V)3.ADC0809與單片機連接ADC0809的8個通道IN0~IN7的地址為:7FF8H~7FFFH(如下圖)A/D轉(zhuǎn)換程序:

MOVDPTR,#07FF8H;ADC口地址 MOVA,#00 ;轉(zhuǎn)換IN0

MOVX@DPTR,A ;啟動A/D轉(zhuǎn)換 LCALLDELAY ;等待轉(zhuǎn)換結(jié)束 MOVXA,@DPTR ;取轉(zhuǎn)換結(jié)果AD0~7ALEINT0WRP2.7RDD0~7ADDABC

CLKEOCALESTARTOE≥1≥1111MCS-51ADC080983IN0~7注意:此處的A與A/D轉(zhuǎn)換無關(guān),可為任意值4.轉(zhuǎn)換數(shù)據(jù)的傳送A/D轉(zhuǎn)換后得到的是數(shù)字量的數(shù)據(jù),這些數(shù)據(jù)應(yīng)傳送給單片機進行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D轉(zhuǎn)換完成,因為只有確認(rèn)數(shù)據(jù)轉(zhuǎn)換完成后,才能進行傳送。為此,可采用下述三種方式。1)定時傳送方式對于一種A/D轉(zhuǎn)換器來說,轉(zhuǎn)換時間作為一項技術(shù)指標(biāo)是已知的和固定的。例如,ADC0809轉(zhuǎn)換時間為128μs,相當(dāng)于6MHz的MCS-51單片機R64個機器周期。可據(jù)此設(shè)計一個延時子程序,A/D轉(zhuǎn)換啟動后即調(diào)用這個延時子程序,延遲時間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進行數(shù)據(jù)傳送。2)查詢方式A/D轉(zhuǎn)換芯片有表明轉(zhuǎn)換完成的狀態(tài)信號,例如ADC0809的EOC端。因此,可以用查詢方式,軟件測試EOC的狀態(tài),即可確知轉(zhuǎn)換是否完成,然后進行數(shù)據(jù)傳送。3)中斷方式把表明轉(zhuǎn)換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進行數(shù)據(jù)傳送。在圖中,EOC信號經(jīng)過反相器后送到單片機的INT0,因此可以采用查詢該引腳或中斷的方式進行轉(zhuǎn)換后數(shù)據(jù)的傳送。不管使用上述哪種方式,一旦確認(rèn)轉(zhuǎn)換完成,即可通過指令進行數(shù)據(jù)傳送。首先送出口地址,并以作選通信號,當(dāng)信號有效時,OE信號即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機接收,即:MOVDPTR,#7FF8H;選中通道0MOVXA,@DPTR;信號有效,輸出轉(zhuǎn)換后的數(shù)據(jù)到AADC0809與單片機的連接方法,及程序見課本P208-P211三、應(yīng)用舉例根據(jù)電路圖,設(shè)計一個8路模擬量輸入的巡回檢測系統(tǒng),采樣數(shù)據(jù)依次存放在片內(nèi)RAM78H~7FH單元中,其數(shù)據(jù)采樣的初始化程序和中斷服務(wù)程序如下。(中斷法)初始化程序:ORG 0000H ;主程序入口地址AJMP MAIN;跳轉(zhuǎn)主程序ORG0013H ;中斷入口地址AJMP INT1 ;跳轉(zhuǎn)中斷服務(wù)程序主程序MAIN: MOV R0,#78H ;數(shù)據(jù)暫存區(qū)首址MOV R2,#08H ;8路計數(shù)初值SETB IT1 ;邊沿觸發(fā)SETB EA ;開中斷SETB EX1 ;允許中斷MOV DPTR,#7FF8H ;指向0809IN0通道地址MOV A,#00H ;此指令可省,A可為任意值LOOP: MOVX@DPTR,A;啟動A/D轉(zhuǎn)換HERE: SJMP HERE;等待中斷 DJNZ R2,LOOP ;巡回未完繼續(xù)中斷服務(wù)程序:INT1: MOVX A,@DPTR ;讀A/D轉(zhuǎn)換結(jié)果 MOV@R0,A ;存數(shù) INC DPTR ;更新通道 INC R0 ;更新暫存單元 RETI ;返回END上述程序是用中斷方式來完成轉(zhuǎn)換后數(shù)據(jù)的傳送的,也可以用查詢的方式實現(xiàn)之,源程序如下:(查詢法) ORG 0000H ;主程序入口地址AJMP MAIN ;跳轉(zhuǎn)主程序ORG 1000HMAIN:MOV R0,#78H MOV R2,#08HMOV DPTR,#7FF8H MOV A,#00HL0:MOVX@DPTR,AL1:JBP3.3,L1;查詢是否為0(或ACALLDMS130US) MOVXA,@DPTR;為0,則轉(zhuǎn)換結(jié)束,讀出數(shù)據(jù) MOV @R0,A INC R0 INC DPTR DJNZR2,L0$:SJMP $注:延時等待法將JBP3.3,L1指令改成ACALLDMS130US即可。

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論