中斷響應(yīng)過程_第1頁
中斷響應(yīng)過程_第2頁
中斷響應(yīng)過程_第3頁
中斷響應(yīng)過程_第4頁
中斷響應(yīng)過程_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、6.2 中斷響應(yīng)過程中斷響應(yīng)過程組員:程超峰組員:程超峰 鄒博鄒博 張敏張敏 黃謝祥黃謝祥 楊峰楊峰 肖風(fēng)云肖風(fēng)云主講:主講:中斷處理可以分為中斷處理可以分為中斷請求中斷請求 中斷響應(yīng)中斷響應(yīng) 中斷處理中斷處理 中斷返回中斷返回四個過程四個過程1.中斷請求中斷請求若有多個中斷源,若有多個中斷源,CPU就需要判斷優(yōu)先級就需要判斷優(yōu)先級當(dāng)同時有多個中斷請求信號,先響應(yīng)優(yōu)先級別高的中斷請求。當(dāng)同時有多個中斷請求信號,先響應(yīng)優(yōu)先級別高的中斷請求。高優(yōu)先級中斷請求信號可中斷低優(yōu)先級中斷服務(wù)。高優(yōu)先級中斷請求信號可中斷低優(yōu)先級中斷服務(wù)。2. 中斷優(yōu)先級的判定中斷優(yōu)先級的判定中斷源的優(yōu)先級別分為中斷源的優(yōu)先

2、級別分為高級高級和和低級低級,通過由軟件設(shè)置中斷優(yōu)先,通過由軟件設(shè)置中斷優(yōu)先級寄存器級寄存器IP相關(guān)位來設(shè)定每個中斷源的級別。相關(guān)位來設(shè)定每個中斷源的級別。 如果幾個同一優(yōu)先級別的中斷源同時向如果幾個同一優(yōu)先級別的中斷源同時向CPU請求中斷,請求中斷,CPU通通過硬件查詢電路首先響應(yīng)過硬件查詢電路首先響應(yīng)自然優(yōu)先級自然優(yōu)先級較高的中斷源的中斷請求。較高的中斷源的中斷請求。中斷可實現(xiàn)兩級中斷可實現(xiàn)兩級中斷嵌套中斷嵌套。高優(yōu)先級中斷源可中斷正在執(zhí)行的。高優(yōu)先級中斷源可中斷正在執(zhí)行的低優(yōu)先級中斷服務(wù)程序,除非執(zhí)行了低優(yōu)先級中斷服務(wù)程序的低優(yōu)先級中斷服務(wù)程序,除非執(zhí)行了低優(yōu)先級中斷服務(wù)程序的CPU關(guān)中

3、斷指令。同級或低優(yōu)先級的中斷不能中斷正在執(zhí)行的關(guān)中斷指令。同級或低優(yōu)先級的中斷不能中斷正在執(zhí)行的中斷服務(wù)程序。中斷服務(wù)程序。1. CPU的中斷響應(yīng)條件的中斷響應(yīng)條件CPU響應(yīng)中斷必須首先滿足以下三個基本條件。響應(yīng)中斷必須首先滿足以下三個基本條件。(1) 有中斷源發(fā)出中斷請求。有中斷源發(fā)出中斷請求。(2) 中斷總允許位中斷總允許位EA=1。(3) 請求中斷的中斷源的中斷允許位為請求中斷的中斷源的中斷允許位為1。例:例:我們?nèi)丝梢皂憫?yīng)外界的事件,是因為我們有多種我們?nèi)丝梢皂憫?yīng)外界的事件,是因為我們有多種“傳感器傳感器“眼、耳可以接受不同的信息,計算機是如何做到這點的呢?眼、耳可以接受不同的信息,計

4、算機是如何做到這點的呢?MCS51工作時,在每個機器周期中都會去查詢一下各個中斷標(biāo)記,工作時,在每個機器周期中都會去查詢一下各個中斷標(biāo)記,看他們是否是看他們是否是“1“,如果是,如果是1,就說明有中斷請求了,所以所謂中,就說明有中斷請求了,所以所謂中斷,其實也是查詢,不過是每個周期都查一下而已。這要換成人來斷,其實也是查詢,不過是每個周期都查一下而已。這要換成人來說,就相當(dāng)于你在看書的時候,每一秒鐘都會抬起頭來看一看,查說,就相當(dāng)于你在看書的時候,每一秒鐘都會抬起頭來看一看,查問一下,是不是有人按門鈴,是否有電話。問一下,是不是有人按門鈴,是否有電話。 在滿足以上條件的基礎(chǔ)上,若有下列任何在滿

5、足以上條件的基礎(chǔ)上,若有下列任何一種情況存在,中斷響應(yīng)都會受到阻斷。一種情況存在,中斷響應(yīng)都會受到阻斷。 (1) CPU正在執(zhí)行一個同級或高優(yōu)先級的正在執(zhí)行一個同級或高優(yōu)先級的中斷服務(wù)程序。中斷服務(wù)程序。 (2) 正在執(zhí)行的指令尚未執(zhí)行完。正在執(zhí)行的指令尚未執(zhí)行完。 (3) 正在執(zhí)行中斷返回指令正在執(zhí)行中斷返回指令 RETI或者對?;蛘邔S眉拇嫫饔眉拇嫫鱅E、IP進(jìn)行讀進(jìn)行讀/寫的指令。寫的指令。CPU在在執(zhí)行完上述指令之后,要再執(zhí)行一條指令,執(zhí)行完上述指令之后,要再執(zhí)行一條指令,才能響應(yīng)中斷請求。才能響應(yīng)中斷請求。四、中斷響應(yīng)四、中斷響應(yīng) 響應(yīng)條件響應(yīng)條件-CPU要響應(yīng)中斷需滿足下列條件:

6、 無同級或高級中斷正在服務(wù); 當(dāng)前指令周期結(jié)束,如果查詢中斷請求的機器 周期不是當(dāng)前指令的最后一個周期,則不行; 若現(xiàn)行指令是RETIRETI、RETRET或訪問訪問IEIE、IPIP指令,則需要執(zhí)行到當(dāng)前指令及下一條指令方可響應(yīng)。響應(yīng)過程響應(yīng)過程-單片機響應(yīng)中斷后,自動執(zhí)行下列操作: 置位中斷優(yōu)先級有效觸發(fā)器,即關(guān)閉同級和低級 中斷: 調(diào)用入口地址,斷點入棧,相當(dāng)于LCALL指令; 進(jìn)入中斷服務(wù)程序。 中斷處理中斷處理 中斷處理就是執(zhí)行中斷服務(wù)程序,從中斷入口地中斷處理就是執(zhí)行中斷服務(wù)程序,從中斷入口地址開始執(zhí)行,直到返回指令址開始執(zhí)行,直到返回指令(RETI)(RETI)為止。此過程為止。

7、此過程一般包括三部分內(nèi)容,一是一般包括三部分內(nèi)容,一是保護現(xiàn)場保護現(xiàn)場,二是,二是處理處理中斷源的請求中斷源的請求,三是,三是恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場。 通常,主程序和中斷服務(wù)程序都會用到累加器通常,主程序和中斷服務(wù)程序都會用到累加器A A、狀態(tài)寄存器狀態(tài)寄存器PSWPSW及其他一些寄存器。在執(zhí)行中斷服及其他一些寄存器。在執(zhí)行中斷服務(wù)程序時,務(wù)程序時,CPUCPU若用到上述寄存器,就會破壞原先若用到上述寄存器,就會破壞原先存在這些寄存器中的內(nèi)容,中斷返回,將會造成存在這些寄存器中的內(nèi)容,中斷返回,將會造成主程序的混亂。因此,在進(jìn)入中斷服務(wù)程序后,主程序的混亂。因此,在進(jìn)入中斷服務(wù)程序后,一般要先保護現(xiàn)

8、場,然后再執(zhí)行中斷處理程序,一般要先保護現(xiàn)場,然后再執(zhí)行中斷處理程序,在返回主程序以前,再恢復(fù)現(xiàn)場。在返回主程序以前,再恢復(fù)現(xiàn)場。中斷服務(wù)是要完成處理的事務(wù),用戶根據(jù)需要編寫中斷服務(wù)程序,程序中要注意將主程序中需要保護的寄存器內(nèi)容進(jìn)行保護。中斷服務(wù)完畢要注意這些寄存器的內(nèi)容,要保護現(xiàn)場和恢復(fù)現(xiàn)場,可以通過堆棧操作或切換寄存器組完成。中斷返回中斷返回1. 中斷返回中斷返回 中斷返回是指中斷服務(wù)完成后,中斷返回是指中斷服務(wù)完成后,CPU返回到原程返回到原程序的斷點序的斷點(即原來斷開的位置即原來斷開的位置),繼續(xù)執(zhí)行原來的,繼續(xù)執(zhí)行原來的程序。程序。 中斷返回通過執(zhí)行中斷返回指令中斷返回通過執(zhí)行中

9、斷返回指令RETI來實現(xiàn),該來實現(xiàn),該指令的功能是首先將相應(yīng)的指令的功能是首先將相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器置優(yōu)先級狀態(tài)觸發(fā)器置0,以開放同級別中斷源的中斷請求;其次,從,以開放同級別中斷源的中斷請求;其次,從堆棧區(qū)把堆棧區(qū)把斷點地址斷點地址取出,送回到取出,送回到程序計數(shù)器程序計數(shù)器PC中。中。因此,不能用因此,不能用RET指令代替指令代替RETI指令。指令。 CPU響應(yīng)某中斷請求后,在中斷返回前,應(yīng)該撤消響應(yīng)某中斷請求后,在中斷返回前,應(yīng)該撤消該中斷請求,否則會引起另一次中斷。不同中斷源中該中斷請求,否則會引起另一次中斷。不同中斷源中斷請求的撤除方法是不一樣的。斷請求的撤除方法是不一樣的。(1)

10、 定時器溢出中斷請求的撤除定時器溢出中斷請求的撤除 CPU在響應(yīng)中斷后,硬件會自動清除中斷請求標(biāo)志在響應(yīng)中斷后,硬件會自動清除中斷請求標(biāo)志TF0或或TFl。(2) 串行口中斷的撤除串行口中斷的撤除 在在CPU響應(yīng)中斷后,硬件不能清除中斷請求標(biāo)志響應(yīng)中斷后,硬件不能清除中斷請求標(biāo)志TI和和RI,而要由軟件來清除相應(yīng)的標(biāo)志。,而要由軟件來清除相應(yīng)的標(biāo)志。中斷請求的撤除中斷請求的撤除l由下圖可知,外部中斷請求信號直接加到由下圖可知,外部中斷請求信號直接加到D觸發(fā)器的觸發(fā)器的CP端,端,當(dāng)外部中斷請求的低電平脈沖信號出現(xiàn)在當(dāng)外部中斷請求的低電平脈沖信號出現(xiàn)在CP端時,端時,D觸發(fā)觸發(fā)器的器的Q端置端置

11、0,INT0或或INT1引腳為低電平,發(fā)出中斷請求。引腳為低電平,發(fā)出中斷請求。在中斷服務(wù)程序中開始的三條指令可先在在中斷服務(wù)程序中開始的三條指令可先在P1.0輸出一個寬輸出一個寬度為度為2個機器周期的負(fù)脈沖,使個機器周期的負(fù)脈沖,使D觸發(fā)器的觸發(fā)器的Q端置端置1,然后,然后由軟件來清除中斷請求標(biāo)志由軟件來清除中斷請求標(biāo)志IE0或或IEl。 外部中斷的撤除電路外部中斷的撤除電路 INT0 8051 P1.0 Q D CP DS 1 中斷請求信號 INT0: ANL P1,#0FEH ORL P1,#01H CLR IE0 中斷服務(wù)程序的開始部分 小結(jié)小結(jié)單片機處理中斷有單片機處理中斷有中斷請求

12、、中斷響應(yīng)、中斷處理中斷請求、中斷響應(yīng)、中斷處理和中斷返回和中斷返回四個步驟。中斷源有的來自單片機內(nèi)部,四個步驟。中斷源有的來自單片機內(nèi)部,稱為內(nèi)部中斷源;也有的來自于單片機外部,稱為稱為內(nèi)部中斷源;也有的來自于單片機外部,稱為外部中斷源。外部中斷源。中斷處理過程包括中斷處理過程包括中斷響應(yīng)、中斷處理中斷響應(yīng)、中斷處理和和中斷返回中斷返回三個階段。中斷響應(yīng)是在滿足三個階段。中斷響應(yīng)是在滿足CPU的中斷響應(yīng)條件的中斷響應(yīng)條件之后,之后,CPU對中斷源中斷請求的回答。由于設(shè)置了對中斷源中斷請求的回答。由于設(shè)置了優(yōu)先級,中斷可實現(xiàn)兩級中斷嵌套。中斷處理就是優(yōu)先級,中斷可實現(xiàn)兩級中斷嵌套。中斷處理就是執(zhí)行中斷服務(wù)程序,包括保護現(xiàn)場、處理中斷源的執(zhí)行中斷

溫馨提示

  • 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

提交評論