51單片機(jī)-中斷系統(tǒng)(部編)課件_第1頁
51單片機(jī)-中斷系統(tǒng)(部編)課件_第2頁
51單片機(jī)-中斷系統(tǒng)(部編)課件_第3頁
51單片機(jī)-中斷系統(tǒng)(部編)課件_第4頁
51單片機(jī)-中斷系統(tǒng)(部編)課件_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第五章中斷系統(tǒng)內(nèi)容提要:§5-1微機(jī)的輸入/輸出方式§5-2中斷的概念§5-389C51中斷系統(tǒng)結(jié)構(gòu)及中斷控制§5-4中斷處理過程§5-5外部中斷的擴(kuò)展方法§5-6中斷程序的舉例§5.1微機(jī)的輸入/輸出方式CPU與外部設(shè)備交換信息通常有以下幾種方式:①程序控制方式,又分為無條件傳送方式和查詢傳送方式。②中斷方式③直接儲存器存?。―MA)方式一、無條件傳送方式CPU總是認(rèn)為外設(shè)在任何時刻都處于“準(zhǔn)備好”的狀態(tài)。這種傳送方式不需要交換狀態(tài)信息,只需在程序中加入訪問外設(shè)的指令,數(shù)據(jù)傳送便可以實現(xiàn)。此種方法很少使用。

二、查詢傳送方式在輸入時,需要查詢外設(shè)的輸入數(shù)據(jù)是否準(zhǔn)備好;在輸出時,需要查詢外設(shè)是否把上一次CPU輸出的數(shù)據(jù)處理完畢。查詢傳送方式:通過查詢外設(shè)的狀態(tài)信息,確信外設(shè)已處于“準(zhǔn)備好”,計算機(jī)才發(fā)出訪問外設(shè)的指令,實現(xiàn)數(shù)據(jù)的傳送。狀態(tài)信息:一般為1位二進(jìn)制碼。查詢方式程序流程圖:

輸入狀態(tài)信息準(zhǔn)備好?傳送數(shù)據(jù)NY查詢方式的過程:

啟動外設(shè)設(shè)備傳送數(shù)據(jù)延遲查詢-等待-數(shù)據(jù)傳送,待到下一次數(shù)據(jù)傳送時則重復(fù)上述過程。等待也可以不采用循環(huán)等待,而用軟件插入固定延時的方法來完成。查詢方式的特點(diǎn):優(yōu)點(diǎn):通用性好,可以用于各類外設(shè)和CPU間的數(shù)據(jù)傳送。缺點(diǎn):CPU在完成一次數(shù)據(jù)傳送后要等待很長時間才能進(jìn)行下一次的傳送。在等待過程中,CPU不能進(jìn)行其他操作,所以效率比較低。

DMA(DirectMemoryAccess)方式是CPU讓出數(shù)據(jù)總線,使外部設(shè)備和存儲器之間直接傳送(不通過CPU)數(shù)據(jù)的方式。在下述兩種情況時可考慮采用DMA方式:①外設(shè)和存儲器之間有大量的數(shù)據(jù)需要傳送;②外部設(shè)備的工作速度很快的情況。三、直接存儲器存?。―MA)方式§5.2中斷的概念一、概述與上對比,單片機(jī)中也有同樣的問題。CPU正在執(zhí)行原程序,突然,被意外事情打斷,轉(zhuǎn)去執(zhí)行新程序。CPU執(zhí)行新程序結(jié)束后,又回到原程序中繼續(xù)執(zhí)行。這樣的過程就叫。中斷

什么叫中斷?舉例:某同學(xué)正在教室寫作業(yè),忽然被人叫出去,回來后,繼續(xù)寫作業(yè)。這就是生活中中斷的例子。主程序響應(yīng)中斷請求中斷服務(wù)程序返回主程序繼續(xù)執(zhí)行主程序斷點(diǎn)中斷系統(tǒng):實現(xiàn)這種功能的部件中斷源:產(chǎn)生中斷的請求源中斷請求:中斷源向CPU提出的處理請求CPU的中斷響應(yīng)過程:CPU暫時中止自身的事務(wù),轉(zhuǎn)去處理事件的過程中斷服務(wù):對事件的整個處理過程中斷返回:處理完畢,再回到原來被中止的地方日常生活中的中斷與單片機(jī)中斷的比較:

某同學(xué)

單片機(jī)過程說明正在看書 執(zhí)行主程序有人找出去 中斷信號

中斷請求暫停看書

暫停執(zhí)行主程序

中斷響應(yīng)書中作記號當(dāng)前PC入棧

保護(hù)斷點(diǎn)出去做事 執(zhí)行中斷程序

中斷服務(wù)回來繼續(xù)看 返回主程序

中斷返回二、中斷的作用1、分時操作2、實時處理3、故障處理分時操作:計算機(jī)的中斷系統(tǒng)可以使CPU與外設(shè)同時工作。CPU在啟動外設(shè)后,便繼續(xù)執(zhí)行主程序;而外設(shè)被啟動后,開始進(jìn)行準(zhǔn)備工作。當(dāng)外設(shè)準(zhǔn)備就緒時,就向CPU發(fā)出中斷請求,CPU響應(yīng)該中斷請求并為其服務(wù)完畢后,返回原來的斷點(diǎn)處繼續(xù)運(yùn)行主程序。外設(shè)在得到服務(wù)后,也繼續(xù)進(jìn)行自己的工作。因此,CPU可以使多個外設(shè)同時工作,并分時為各外設(shè)提供服務(wù),從而提高了CPU的利用率和輸入輸出的速度。實時處理:當(dāng)計算機(jī)用于實時控制時,請求CPU提供服務(wù)時隨機(jī)發(fā)生的。有了中斷系統(tǒng),CPU就可以立即響應(yīng)并加以處理。故障處理:計算機(jī)在運(yùn)行時往往會出現(xiàn)一些故障,如斷電、存儲器奇偶校驗出錯、運(yùn)算溢出等。有了中斷系統(tǒng),當(dāng)出現(xiàn)上述情況時,CPU可及時轉(zhuǎn)去執(zhí)行故障處理程序,自行處理故障而不必停機(jī)?!?.389C51中斷系統(tǒng)結(jié)構(gòu)及中斷控制89C51中斷系統(tǒng)的五個中斷源(結(jié)構(gòu)如圖5-3)①INT0-外部中斷0請求,低電平有效,通過P3.2引腳輸入②INT1-外部中斷1請求,低電平有效,通過P3.3引腳輸入③T0-定時器/計算器0溢出中斷請求④T1-定時器/計算器0溢出中斷請求⑤TX/RX-串行口中斷請求一、89C51中斷源中斷系統(tǒng)中斷源:I/O設(shè)備鍵盤、打印機(jī)、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器完成自身的操作后向CPU申請中斷,請求服務(wù)硬件故障電源斷電時,需要將寄存器、累加器、標(biāo)志位保存,以便重新供電后繼續(xù)運(yùn)行RAM存儲器斷電時將內(nèi)容保存在如硬盤、FLASHROM中,以便供電恢復(fù)后繼續(xù)工作實時時鐘系統(tǒng)中的時鐘可以采用獨(dú)立時鐘系統(tǒng),通過中斷向CPU提供時鐘源,節(jié)省CPU的處理時間調(diào)試程序時設(shè)置的中斷程序調(diào)試時,通過設(shè)置斷點(diǎn)觀察運(yùn)行中的寄存器、累加器、標(biāo)志位狀態(tài);觀察中間運(yùn)算結(jié)果上頁下頁源允許圖6-19中斷系統(tǒng)總體邏輯結(jié)構(gòu)總允許優(yōu)先級自然優(yōu)先級中斷源自然優(yōu)先級中斷源查詢硬件查詢硬件低級中斷請求送CPU矢量地址送PCIPIETCON

SCONEX0ET0EX1ET1ESEAINT0INT1T0T1RXTXRITIIE0IE1TF0TF1

IT1

011010101010矢量地址送PC高級中斷請求送CPUIT0

01中斷標(biāo)志中斷標(biāo)志INT01IE0自然優(yōu)先級矢量地址送PC“+1”TF10自然優(yōu)先級矢量地址送PCEA“+1”“+1”EX0ET11P3.2P3.3P3.4P3.5二、中斷控制89C51中斷系統(tǒng)有以下四個特殊功能寄存器:①定時器控制寄存器TCON(用六位)②串行口控制寄存器SCON(用二位)③中斷允許寄存器IE④中斷優(yōu)先級寄存器IP1、中斷請求標(biāo)志中斷系統(tǒng)1)、定時/計數(shù)器控制寄存器TCON

TCON(88H)TF1

TF0

IE1

IT1

IE0IT0

INT1

INT0觸發(fā)方式控制位0

低電平觸發(fā)1

邊沿↓觸發(fā)

INT1

INT0外部中斷請求標(biāo)志1有有效觸發(fā)時0

當(dāng)CPU響應(yīng)中斷時T1T0溢出標(biāo)志1

計數(shù)器“+1”有溢出時,并向CPU請求中斷0

當(dāng)CPU響應(yīng)中斷時,也可由指令清除TR1TR0由硬件自動由硬件自動上頁下頁中斷請求標(biāo)志可編程控制位TR1TR0由硬件自動由硬件自動在每個機(jī)器周期S5P2都采樣引腳P3.3P3.2引腳00記錄有無中斷記錄有無中斷中斷系統(tǒng)2)、串行口控制寄存器SCONTI:串行口發(fā)送中斷標(biāo)志在方式0,串行發(fā)送到第8位結(jié)束時,由硬件置“1”;或在其他方式中,串行發(fā)送到停止位的開始時,由硬件置“1”,RI:串行口接收中斷標(biāo)志上頁下頁在方式0,串行接收到第8位結(jié)束時,由硬件置“1”;或在其他方式中,串行接收到停止位的開始時,由硬件置“1”,“1”發(fā)送完一幀數(shù)據(jù)后“1”接收完一幀數(shù)據(jù)后必須由軟件清“0”必須由軟件清“0”

SCON(98H)

TIRI中斷系統(tǒng)2、中斷允許控制在中斷源與CPU之間有二級中斷允許控制邏輯電路,類似開關(guān),其中第一級為一個總開關(guān),第二級為五個分開關(guān),由IE控制。應(yīng)當(dāng)指出:在89C51復(fù)位時,IE各位被復(fù)位成“0”狀態(tài),CPU因此而處于關(guān)閉所有中斷狀態(tài)。所以,在89C51復(fù)位以后,用戶必須通過主程序中的指令來開放所需中斷,以便相應(yīng)中斷請求來到時被CPU所響應(yīng)。

中斷系統(tǒng)中斷允許寄存器IE

EA/

/

ES

ET1

EX1

ET0

EX0INT0INT1T1T0UARTCPU0

禁止1

允許0

禁止1

允許總中斷總中斷中斷中斷IE(A8)中斷的開放和禁止是可控,可編程的ET2T2CPUIE的相應(yīng)位被置“0”

或“1”

該相應(yīng)中斷即被“禁止”或“開放”上頁下頁中斷系統(tǒng)3、中斷優(yōu)先級控制CPU同一時間只能響應(yīng)一個中斷請求。若同時來了兩個或兩個以上中斷請求,就必須有先有后。?。。榇藢?個中斷源分成高級、低級兩個級別,高級優(yōu)先,由IP控制。中斷系統(tǒng)1)、中斷優(yōu)先級寄存器IP

//

/

PS

PT1

PX1

PT0

PX0IP(B8)ET2INT0INT1T1T0UART0

低級1高級中斷中斷T2中斷優(yōu)先級是可控,可編程的上頁下頁2)、優(yōu)先級結(jié)構(gòu)中斷優(yōu)先級控制遵循的兩個基本原則:⑴一個正在執(zhí)行的低級中斷服務(wù)程序,能被高優(yōu)先級中斷請求所中斷,但不能被同優(yōu)先級中斷請求所中斷。⑵一個正在執(zhí)行的高級中斷服務(wù)程序,不能被任何中斷請求所中斷,直到返回。中斷系統(tǒng)實現(xiàn)這兩個原則的方法:上頁下頁中斷系統(tǒng)內(nèi)部設(shè)置了兩個不可尋址的優(yōu)先級狀態(tài)觸發(fā)器。一個指出正在處理的是:高優(yōu)先級中斷,并阻止所有其他中斷;另一個指出正在處理的是:低優(yōu)先級中斷,并阻止了除高優(yōu)先級中斷外的其他任何中斷。高優(yōu)先級狀態(tài)觸發(fā)器低優(yōu)先級狀態(tài)觸發(fā)器是不可尋址的當(dāng)CPU響應(yīng)高級中斷,并進(jìn)入中斷服務(wù)時“1”“1”RETI“0”當(dāng)CPU響應(yīng)低級中斷,并進(jìn)入中斷服務(wù)時“1”RETI“0”

在同級的幾個中斷源中同時發(fā)生請求時,內(nèi)部對同級的各中斷源的優(yōu)先級別有一個規(guī)定的查詢順序:外部中斷請求

INT0定時/計數(shù)器T0定時/計數(shù)器T1串行口UART定時/計數(shù)器T2外部中斷請求

INT1最高最低上頁下頁自然優(yōu)先級自然優(yōu)先級出廠前已由廠家固化順序——事先約定中斷優(yōu)先原則:(概括為四句話)1、低級不打斷高級2、高級不睬低級3、同級不能打斷4、同級、同時中斷,事先約定。CPU在執(zhí)行主程序低級中斷請求響應(yīng)低級中斷請求CPU執(zhí)行低級中斷服務(wù)程序高級中斷請求響應(yīng)高級中斷請求CPU執(zhí)行高級中斷服務(wù)程序返回低級中斷程序返回主程序二級中斷嵌套的中斷運(yùn)行過程例:設(shè)89C51的片外中斷為高優(yōu)先級,片內(nèi)中斷為低優(yōu)先級。試設(shè)置IP相應(yīng)值。(a)用字節(jié)操作指令

MOVIP,#05H或MOV0B8H,#05H(b)用位操作指令

SETBPX0SETBPX1CLRPSCLRPT0CLRPT1IP§5.4中斷響應(yīng)及中斷處理過程中斷處理過程可分為三個階段:①中斷響應(yīng)②中斷處理③中斷返回以外設(shè)提出接收數(shù)據(jù)為例,如右圖:保護(hù)現(xiàn)場為外設(shè)服務(wù)恢復(fù)現(xiàn)場主程序KK+1NN+m返回中斷處理一、中斷響應(yīng)1、中斷響應(yīng)條件:①有中斷源發(fā)出中斷請求;②中斷總允許位EA=1,即CPU開中斷;③申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽;④無同級或更高級中斷正在被服務(wù);⑤當(dāng)前的指令周期已經(jīng)結(jié)束;⑥若現(xiàn)行指令為RETI或者是訪問IE或IP指令時,該指令以及緊接著的另一條指令已經(jīng)執(zhí)行完。中斷系統(tǒng)2、中斷響應(yīng)的過程

89C51的CPU在每個機(jī)器周期的S5P2期間順序采樣每個中斷源,CPU在下一個機(jī)器S6期間按優(yōu)先級順序查詢中斷標(biāo)志,如查詢到某個中斷標(biāo)志為1,將在接下來的機(jī)器周期S1期間按優(yōu)先級進(jìn)行中斷處理。中斷系統(tǒng)通過硬件自動將相應(yīng)的中斷矢量地址裝入PC,以便進(jìn)入相應(yīng)的中斷服務(wù)程序。TCON中斷系統(tǒng)

89C51單片機(jī)的中斷系統(tǒng)中有兩個不可編程的“優(yōu)先級”觸發(fā)器:一個是“高優(yōu)先級生效”觸發(fā)器;一個是“低優(yōu)先級生效”觸發(fā)器。

89C51單片機(jī)一旦響應(yīng)中斷,首先置位相應(yīng)的中斷“優(yōu)先級生效”觸發(fā)器,然后由硬件執(zhí)行一條長調(diào)用指令LCALL,把當(dāng)前PC值壓入堆棧,以保護(hù)斷點(diǎn),再將相應(yīng)的中斷服務(wù)程序的入口地址送入PC,于是CPU接著從中斷服務(wù)程序的入口開始執(zhí)行。中斷過程五個中斷源:入口地址外部中斷0(/INT0)0003HT0溢出中斷000BH

外部中斷1(/INT1)0013HT1溢出中斷001BH

串口中斷0023H各中斷源及與之對應(yīng)的矢量地址如下:中斷系統(tǒng)編寫中斷服務(wù)程序時應(yīng)注意:①在中斷矢量地址單元處放一條無條件轉(zhuǎn)移指令(如LJMPXXXXH),使中斷服務(wù)程序可靈活地安排在64KB程序存儲器的任何空間。②在中斷服務(wù)程序中,用戶應(yīng)注意用軟件保護(hù)現(xiàn)場,以免中斷返回后丟失原寄存器、累加器中的信息。③若要在執(zhí)行當(dāng)前中斷程序時禁止更高優(yōu)先級中斷,可以先用軟件關(guān)閉CPU中斷或禁止某中斷源中斷,在中斷返回前再開放中斷。3、對中斷請求的撤銷1)定時器溢出中斷請求的撤除

2)串行口中斷請求的撤除

TI和RI是串行口中斷的標(biāo)志位,中斷系統(tǒng)不能自動將它們撤除,這是因為89C51進(jìn)入串行口中斷服務(wù)程序后常需要對它們進(jìn)行檢測,以測定串行口發(fā)生了接收中斷還是發(fā)送中斷。為了防止CPU再次響應(yīng)這類中斷,用戶應(yīng)在中斷服務(wù)程序的適當(dāng)位置處通過如下指令將它們撤除。

CLRTI;撤除發(fā)送中斷CLRRI;撤除接收中斷

3)外部中斷請求的撤除

外部中斷請求有兩種觸發(fā)方式:電平觸發(fā)和邊沿觸發(fā)。①邊沿觸發(fā)方式中斷請求的撤除②電平觸發(fā)方式中斷請求的撤除

在電平觸發(fā)方式下,外部中斷標(biāo)志IE0或IE1是依靠CPU檢測INT0或INT1上的低電平而置位的。盡管CPU響應(yīng)中斷時相應(yīng)中斷標(biāo)志IE0或IE1能自動復(fù)位成“0”狀態(tài),但若外部中斷源不能及時撤除它在INT0或INT1上的低電平,就會再次使已經(jīng)變“0”的中斷標(biāo)志IE0或IE1置位,這是絕對不能允許的。因此,電平觸發(fā)方式外部中斷請求的撤除必須使INT0或INT1上的低電平隨著其中斷被CPU響應(yīng)而變?yōu)楦唠娖健?、中斷響應(yīng)時間

在實時控制系統(tǒng)中。為了滿足控制速度要求,常要弄清CPU響應(yīng)中斷所需的時間。中斷響應(yīng)時間:中斷請求有效(標(biāo)志位置“1”)到轉(zhuǎn)向中斷入口地址所需的機(jī)器周期數(shù)。響應(yīng)中斷的時間有最短和最長之分:(1)最短需要3個機(jī)器周期M1M3M4M5M2S5P1S5P2INTi被采樣并鎖存到IE0IE1中CPU進(jìn)行中斷查詢保護(hù)斷點(diǎn),長調(diào)用至入口中斷服務(wù)即滿足上述中斷響應(yīng)條件(2)最長需要8個周期若CPU在執(zhí)行RETI(或訪問IE/IP)指令的第一個機(jī)器周期中查詢到有了某中斷源的中斷請求(設(shè)該中斷源的中斷是開放的),則89C51需要再執(zhí)行一條指令才會響應(yīng)這個中斷請求。在這種情況下,CPU響應(yīng)中斷的時間最長,共需8個機(jī)器周期。二、中斷處理CPU響應(yīng)中斷后即轉(zhuǎn)至中斷服務(wù)程序入口,執(zhí)行中斷服務(wù)程序。從中斷服務(wù)程序的第一條指令開始到返回指令為止,這個過程稱為中斷處理或中斷服務(wù)。不同的中斷源服務(wù)的內(nèi)容及要求各不相同,其處理過程也就有所區(qū)別。一般情況下,中斷處理包括兩部分內(nèi)容:一是保護(hù)現(xiàn)場。二是為中斷源服務(wù)。三、中斷返回(1)使相應(yīng)優(yōu)先級狀態(tài)觸發(fā)器清0。(2)從堆棧中彈出棧頂?shù)膬蓚€字節(jié)內(nèi)容送PC——恢復(fù)斷點(diǎn)。(3)CPU接著中斷處繼續(xù)執(zhí)行原程序。恢復(fù)現(xiàn)場在中斷服務(wù)程序中,最后一條指令必須為中斷返回指令RETICPU執(zhí)行該指令時,一方面清除中斷響應(yīng)時所置位的“優(yōu)先級生效”觸發(fā)器,另一方面從當(dāng)前棧頂彈出斷點(diǎn)地址送入程序計數(shù)器PC,從而返回主程序中斷處理中推入堆棧的寄存器、累加器、標(biāo)志位需要在執(zhí)行返回指令RETI之前用軟件從堆棧恢復(fù),采用POP指令注意在中斷服務(wù)程序中,PUSH和POP指令必須成對使用,否則,不能正確返回斷點(diǎn)恢復(fù)現(xiàn)場期間,為了防止更高優(yōu)先級中斷破壞現(xiàn)場內(nèi)容,需要關(guān)閉中斷允許位EAP1.0P1.1P1.2P1.3INT0+5V89C51INT1裝置1裝置2裝置3裝置4圖5-11多個外部中斷源連接法二、中斷加查詢擴(kuò)展中斷源

利用89C51的兩根外部中斷輸入線。每一中斷輸入線可以通過“線或”的關(guān)系連接多個外部中斷源,同時利用輸入端口線作為各中斷源的識別線。具體線路見圖5-11所示的多個外部中斷源連接方法?!?.5外部中斷擴(kuò)展方法一、利用定時器擴(kuò)展外部中斷源有關(guān)中斷服務(wù)程序的片斷如下:

ORG0003HLJMPINTRP…INTRP:PUSHPSWPUSHAJBP1.0,DV1JBP1.1,DV2JBP1.2,DV3JBP1.3,DV4EXIT:POPAPOPPSWRETIDV1:…裝置1的中斷服務(wù)程序AJMPEXITDV2:…裝置2的中斷服務(wù)程序AJMPEXITDV3:…裝置3的中斷服務(wù)程序AJMPEXITDV4:…裝置4的中斷服務(wù)程序AJMPEXIT一、主程序1.主程序的起始地址89C51系列單片機(jī)復(fù)位后,(PC)=0000H0003H~002BH分別為各中斷源的入口地址編程時應(yīng)在0000H處寫一條跳轉(zhuǎn)指令(一般為長跳轉(zhuǎn)指令),主程序是以跳轉(zhuǎn)的目標(biāo)地址作為起始地址開始編寫,一般從0030H開始,如圖所示0000HLJMP00300030H主程序§5.6中斷程序舉例矢量地址2、主程序的初始化內(nèi)容初始化將用到的內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定。特殊功能寄存器初始化設(shè)置單片機(jī)復(fù)位后,特殊功能寄存器IE、IP內(nèi)容均為00H,所以應(yīng)對IE、IP進(jìn)行初始化編程,以開放中斷,允許某些中斷源中斷和設(shè)置中斷優(yōu)先級等。中斷系統(tǒng)二、中斷服務(wù)程序1.中斷服務(wù)程序的起始地址中斷系統(tǒng)對五個中斷源分別規(guī)定了各自的入口地址,但這些入口地址相距很近(8個字節(jié))如中斷服務(wù)程序的指令代碼少于8個字節(jié),則可從規(guī)定的中斷服務(wù)程序入口地址開始,直接編寫中斷服務(wù)程序如中斷服務(wù)程序的指令代碼大于8個字節(jié),則應(yīng)采用與主程序相同的方法,在相應(yīng)的入口處寫一條跳轉(zhuǎn)指令,并以跳轉(zhuǎn)指令的目標(biāo)地址作為中斷服務(wù)程序的起始地址進(jìn)行編程矢量地址2、中斷服務(wù)程序編制中的注意事項(1)視需要確定是否保護(hù)現(xiàn)場;(2)及時清除那些不能被硬件自動清除的中斷請求標(biāo)志,以免產(chǎn)生錯誤的中斷;(3)中斷服務(wù)程序中的壓棧(PUSH)與出棧(POP)指令必須成對使用,以確保中斷服務(wù)程序的正確返回;(4)主程序和中斷服務(wù)程序之間的參數(shù)傳遞與主程序和子程序的參數(shù)傳遞方式相同。例:如圖所示,將P1口的P1.4~P1.7作為輸入位,P1.0~P1.3作為輸出位。要求利用89C51將開關(guān)所設(shè)的數(shù)據(jù)讀入單片機(jī)內(nèi),并依次通過P1.0~P1.3輸出,驅(qū)動發(fā)光二極管,以檢查P1.4~P1.7輸入的電平情況(若輸入為高電平則相應(yīng)的LED亮)。現(xiàn)要求采用中斷邊沿觸發(fā)方式,每中斷一次,完成一次讀/寫操作。源程序:

ORG0000HAJMPMAINORG0003HAJMPINSERORG0030HMAIN:SETBEX0SETBIT0SETBEAHERE:SJMPHERE

中斷服務(wù)子程序:

ORG0200HINSER:MOVA,#0F0HMOVP1,AMOVA,P1SWAPAMOVP1,ARETIEND中斷請求(外部中斷源)電平型外部中斷的撤除電路源程序:

ORG0000HAJMPMAINORG0003HAJMPINSERORG0030HMAIN:SETBP3.0SETBEX0CLRIT0

溫馨提示

  • 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

提交評論