《單片機技術(shù)及應(yīng)用》課件第4章 MCS-51單片機中斷系統(tǒng)_第1頁
《單片機技術(shù)及應(yīng)用》課件第4章 MCS-51單片機中斷系統(tǒng)_第2頁
《單片機技術(shù)及應(yīng)用》課件第4章 MCS-51單片機中斷系統(tǒng)_第3頁
《單片機技術(shù)及應(yīng)用》課件第4章 MCS-51單片機中斷系統(tǒng)_第4頁
《單片機技術(shù)及應(yīng)用》課件第4章 MCS-51單片機中斷系統(tǒng)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第五章MCS-51的中斷系統(tǒng)§4.1中斷的基本概念

中斷的概念

CPU正在執(zhí)行程序時,由于某種外界的原因,必須盡快終止當(dāng)前的程序執(zhí)行,而轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束后,再回來繼續(xù)執(zhí)行被終止的程序,這個過程叫中斷。中斷系統(tǒng):中斷系統(tǒng)—實現(xiàn)中斷功能的部件中斷源—產(chǎn)生中斷請求的事件中斷請求—中斷源向CPU提出的處理請求中斷響應(yīng)過程—CPU暫時中止程序,執(zhí)行中斷處理中斷服務(wù)—對事件處理的整個過程中斷返回—中斷處理完畢,CPU返回原程序繼續(xù)執(zhí)行中斷子程序—響應(yīng)中斷之后執(zhí)行的子程序低優(yōu)先級INT0INT1IE0TF0IE1TF1T0T1IT0IT11010TIRITxRxEX0EAET0EX1ET1ESPX0PT0PX1PT1PS0000010000011110111111TCONIEIPSCON§4.2、MCS-51的中斷系統(tǒng)結(jié)構(gòu)高優(yōu)先級中斷源中斷標(biāo)志中斷允許中斷優(yōu)先

MCS-51單片機中斷系統(tǒng)有4個特殊功能寄存器,分別為:定時器控制寄存器TCON;串行口控制寄存器SCON;中斷允許寄存器IE;

中斷優(yōu)先級寄存器IP。

§4.3中斷控制

一、中斷請求標(biāo)志寄存器TF1TR1TF0TR0IE1IT1IE0IT0TCON:

TF1-計數(shù)器/定時器T1產(chǎn)生的溢出中斷請求標(biāo)志位;

TF0-計數(shù)器/定時器T0產(chǎn)生的溢出中斷請求標(biāo)志位;

TR1-計數(shù)器/定時器的開關(guān),=1時,計數(shù)器/定時器開始運行;

TR0-計數(shù)器/定時器的開關(guān),=1時,計數(shù)器/定時器開始運行;

IE1-外部中斷1的中斷請求位。當(dāng)外觸發(fā)條件為“下降沿”時,CPU響應(yīng)中斷時,該為自動清“0”;若為低電平工作方式,則IE1一直保持“1”;

IE0-外部中斷0的中斷請求位。意義同上。

IT1-外部中斷1的觸發(fā)方式選擇,=1為下降沿,=0則為低電平。

IT0-外部中斷0的觸發(fā)方式選擇,=1為下降沿,=0則為低電平。

二、串行口控制寄存器

TIRISCON:

TI-串行口發(fā)送中斷請求標(biāo)志位。串行口每發(fā)送完一幀串行數(shù)據(jù)后,硬件置“1”TI,請求中斷。但CPU響應(yīng)中斷后,并不能自動清零該位,因此必須應(yīng)用CLRTI,軟件清零。

RI-串行口接收中斷請求標(biāo)志位。串行口每接收完一個串行幀,硬件置“1”RI,請求中斷。同樣,該位也必須應(yīng)用CLRRI來軟件清零。注意:即使不用中斷,只要是串行口發(fā)送和接收,該兩個位也可以檢測到。

三、中斷允許寄存器EAESET1EX1ET0EX0IE:

EA-中斷允許總控制位,若該位為“0”,則屏蔽一切中斷;

ES-串行口中斷允許位;

ET1-計數(shù)器/定時器T1中斷允許位;

EX1-外部中斷1中斷允許位;

ET0-計數(shù)器/定時器T0中斷允許位;

EX0-外部中斷0的中斷允許位。

上述為1時,響應(yīng)中斷允許,為0時,相應(yīng)中斷被屏蔽。四、中斷優(yōu)先級寄存器

PSPT1PX1PT0PX0IP:PS-串行口中斷優(yōu)先級控制位;

PT1-計數(shù)器/定時器T1中斷優(yōu)先級控制位;

PX1-外部中斷1中斷優(yōu)先級控制位;

PT0-計數(shù)器/定時器T0中斷優(yōu)先級控制位;

PX0-外部中斷0的中斷優(yōu)先級控制位。

上述為1時,其中斷優(yōu)先級提到高級,為0時,保持原級別。五、中斷優(yōu)先級中斷源中斷入口地址同一級的中斷優(yōu)先級外部中斷00003H高計數(shù)器/定時器0000BH外部中斷10013H計數(shù)器/定時器1001BH串行口收發(fā)中斷0023H低中斷優(yōu)先級的處理原則:①不同級的中斷源同時申請中斷時,先高后低;②處理低級中斷又收到高級中斷時,停低轉(zhuǎn)高;③處理高級中斷又收到低級中斷時,高不睬低,但高執(zhí)行完后再執(zhí)行低的;④同級的中斷源同時申請時,按上表的順序執(zhí)行。CPU響應(yīng)中斷的基本條件有:①中斷源發(fā)出中斷請求;②中斷總允許位EA=1,即CPU開放中斷;③發(fā)出中斷請求的中斷源所對應(yīng)的中斷允許位為“1”,即沒有屏蔽中斷;若上述條件滿足,且不存在下述情況:①CPU正在執(zhí)行同級或更高級別的中斷服務(wù)程序;②當(dāng)前的指令周期還未結(jié)束,以保證指令的完整性,防止返回后出現(xiàn)錯誤指令;③現(xiàn)行指令為RETI或訪問IE或IP的指令,該指令以及緊接著的下一條指令還沒有執(zhí)行完。為了保證CPU能正確返回,CPU在執(zhí)行RETI或方位IE、IP的指令后,至少需要再執(zhí)行一條指令,才會響應(yīng)新的中斷請求。§4.4中斷響應(yīng)

一、中斷響應(yīng)操作過程MCS-51的CPU在每個機器周期的S5P2期間順序采樣每個中斷源,CPU在下一個機器周期按優(yōu)先級順序查詢中斷標(biāo)志,如查詢到某個中斷標(biāo)志為“1”,講座在接下來的機器周期按優(yōu)先級進行中斷處理。單片機一旦響應(yīng)中斷,首先置位響應(yīng)的中斷優(yōu)先級生效觸發(fā)器,禁止同級或低級中斷,然后由硬件執(zhí)行一個調(diào)用程序,把當(dāng)前PC值壓入堆棧,以保護斷點(但不自動保存寄存器的值),再將相應(yīng)的中斷服務(wù)程序入口地址送入PC,于是CPU接著從中斷服務(wù)程序的入口處開始執(zhí)行中斷服務(wù)程序。二、編程時需要注意的問題編程時需要注意的問題:

①中斷入口地址后的字節(jié)數(shù)與程序的轉(zhuǎn)移問題,應(yīng)用AJMP或LJMP將程序跳轉(zhuǎn)。②有些中斷標(biāo)志位硬件不自動清零,在編程時注意。CPU響應(yīng)中斷時,T1、T0的TF1、TF0能自動清零,外部中斷下降沿觸發(fā)的外部中斷標(biāo)志IE1、IE0自動清零,其余均須軟件清零。③中斷服務(wù)程序的返回為RETI,執(zhí)行該句時,將首先清除優(yōu)先級觸發(fā)器,以使其它同級的或低級的中斷能夠響應(yīng)。然后,從堆棧中彈出兩個字節(jié)到PC中去,以使程序恢復(fù)到原斷點,繼續(xù)執(zhí)行。此處若用RET,也能返回到原處,但中斷控制系統(tǒng)不能被恢復(fù),并認(rèn)為中斷仍在進行,使程序出錯。④編程時注意保護現(xiàn)場。即如果中斷子程序中使用了與主程序相同的寄存器,則需要對這些寄存器進行保護,以免這些寄存器在中斷子程序中被改變數(shù)值。

上述②中,對于以電平方式觸發(fā)的外部中斷,可采用下圖所示的應(yīng)用一個D觸發(fā)器,和一個P3.0管腳驅(qū)動的方式來清除。三、外部中斷的響應(yīng)時間最短響應(yīng)時間:3個機器周期。中斷查詢,1個機器周期。執(zhí)行1條LCALL轉(zhuǎn)入中斷服務(wù)子程序,2個機器周期。最長響應(yīng)時間:8個機器周期。當(dāng)前正在執(zhí)行RETI/訪問IE、IP的指令,2個機器周期。再執(zhí)行一條指令,如果是乘除法指令,4個機器周期。執(zhí)行1條LCALL轉(zhuǎn)入中斷服務(wù)子程序,2個機器周期四、中斷請求標(biāo)志的撤消系統(tǒng)在當(dāng)完成了一次中斷服務(wù)后,必須將該中斷標(biāo)志復(fù)位,否則也會出現(xiàn)中斷重入的問題。MCS-51除串口外,其它中斷標(biāo)志會由硬件自動復(fù)位。串行口需軟件復(fù)位。在其中斷服務(wù)程序中安排指令:

CLRTI

或CLRRI復(fù)位發(fā)送中斷或接收中斷標(biāo)志?!?.5、外部中斷源的擴展利用T0與T1端口擴展中斷與查詢相結(jié)合INT1: PUSHA ;保護現(xiàn)場

PUSHPSW JNBP1.0,prog1;中斷識別

JNBP1.1,prog2 JNBP1.2,prog3 JNBP1.3,prog4exit: POPPSW ;恢復(fù)現(xiàn)場

POPA RETIprog1: ext1處理程序

LJMPexitprog2: ext2處理程序

LJMPexitprog3: ext3處理程序

LJMPexitprog4: ext4處理程序

LJMPexit§4.6中斷應(yīng)用舉例

例4.3要求利用K1、K2、K3與K4模擬四個外部中斷源,電路參考如下圖。當(dāng)按鍵按下后,與門輸出負(fù)脈沖通過INT0向CPU發(fā)中斷請求。用這4個按鍵控制LED作四種不同的流水顯示。本章小結(jié)在計算機系統(tǒng)中,CPU與外設(shè)可以并行工作。中斷系統(tǒng)是計算機用于管理外設(shè)的邏輯部件。外設(shè)的服務(wù)請求是通過中斷系統(tǒng)實時的記錄下來,告知CPU的。CPU響應(yīng)請求(從外設(shè)中獲取數(shù)據(jù)或者輸出數(shù)據(jù)),是根據(jù)中斷系統(tǒng)的中斷標(biāo)志寄存器的狀態(tài)來確認(rèn)。一個請求響應(yīng)一次,所以中斷標(biāo)志及信號必須及時清除。P1.0P1.1

溫馨提示

  • 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

提交評論