MCS-51的中斷系統(tǒng).ppt_第1頁
MCS-51的中斷系統(tǒng).ppt_第2頁
MCS-51的中斷系統(tǒng).ppt_第3頁
MCS-51的中斷系統(tǒng).ppt_第4頁
MCS-51的中斷系統(tǒng).ppt_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機(jī)原理及應(yīng)用,第4章MCS-51的中斷系統(tǒng),光華學(xué)院信息工程系王超,主要內(nèi)容,一、中斷的基本概念二、MCS-51的中斷系統(tǒng)三、中斷源和中斷標(biāo)志四、中斷的允許和優(yōu)先權(quán)五、中斷的處理過程六、中斷的應(yīng)用,一、中斷的基本概念,日常中斷的概念單片機(jī)中的中斷概念中斷技術(shù)的優(yōu)點,日常中斷的例子,你正在看書,突然電話鈴響,于是你記下正在看的書的頁數(shù),去接電話,接完電話后再回來接著看書。,計算機(jī)中的中斷概念,中斷:是指由于某種隨機(jī)事件的發(fā)生,計算機(jī)暫?,F(xiàn)行程序的運行,轉(zhuǎn)去執(zhí)行另一程序,以處理發(fā)生的事件,處理完畢后又自動返回原來的程序繼續(xù)運行。中斷源:將能引起中斷的事件稱為中斷源。主程序:CPU現(xiàn)行運行的程序稱為主程序。中斷服務(wù)子程序:處理隨機(jī)事件的程序稱為中斷服務(wù)子程序。,中斷技術(shù)的優(yōu)點,分時操作CPU可以同多個外設(shè)“同時”工作實時處理CPU及時處理隨機(jī)事件故障處理電源掉電、存儲出錯、運算溢出,二、MCS-51中斷系統(tǒng),中斷源中斷標(biāo)志中斷允許中斷優(yōu)先級MCS-51中斷系統(tǒng)結(jié)構(gòu)中斷寄存器,MCS-51中斷系統(tǒng)中斷源,8051單片機(jī)有5個中斷請求源:外部輸入中斷源INT0(P3.2)外部輸入中斷源INT1(P3.3)片內(nèi)定時器T0的溢出片內(nèi)定時器T1的溢出片內(nèi)串行口發(fā)送或接收中斷源,MCS-51中斷系統(tǒng)中斷標(biāo)志,每一個中斷源都有相應(yīng)的中斷標(biāo)志位;某一個中斷源申請中斷,相應(yīng)中斷標(biāo)志位置1。,MCS-51中斷系統(tǒng)中斷允許,EA總中斷允許位,EA=1開放所有中斷,EA=0禁止所有中斷。某一個中斷源還有相應(yīng)的中斷允許位,1允許相應(yīng)中斷源的中斷,0禁止相應(yīng)中斷源的中斷。,MCS-51中斷系統(tǒng)中斷優(yōu)先級,單片機(jī)中有兩個中斷優(yōu)先級,即高優(yōu)先級中斷和低優(yōu)先級中斷,前者優(yōu)先權(quán)高于后者(在程序中設(shè)置,相應(yīng)位=1,為高優(yōu)先級);同一優(yōu)先級別的中斷源按照自然優(yōu)先級順序確定優(yōu)先級別(硬件形成,無法改變)。,MCS-51的中斷系統(tǒng)結(jié)構(gòu)圖,中斷標(biāo)志位,中斷源允許,總允許,中斷優(yōu)先級,TCON寄存器T0和T1控制寄存器,外部中斷INT1中斷標(biāo)志位(TCON.3):IE=1,外部中斷1向CPU申請中斷,外部中斷INT1觸發(fā)方式控制位(TCON.3):IT1=0,電平觸發(fā)方式IT1=1,下降沿觸發(fā)方式,TCON寄存器T0和T1控制寄存器,T1溢出中斷標(biāo)志(TCON.7):T1啟動計數(shù)后,計滿溢出由硬件置位TF=1,向CPU請求中斷,此標(biāo)志一直保持到CPU響應(yīng)中斷后,才由硬件自動清0.也可用軟件查詢該標(biāo)志,并由軟件清0.,SCON寄存器串口控制寄存器,TI(SCON.1)串行發(fā)送中斷標(biāo)志。RI(SCON.0)串行接收中斷標(biāo)志。,注意:寄存器可以進(jìn)行位尋址.,IE寄存器中斷允許寄存器,例:允許定時器T0中斷:SETBEASETBET0或MOVIE,#82H,注意:寄存器可以進(jìn)行位尋址.,IP寄存器中斷優(yōu)先級寄存器,51單片機(jī)有兩個中斷優(yōu)先級高級和低級專用寄存器IP為中斷優(yōu)先級寄存器,用戶可用軟件設(shè)定相應(yīng)位為1,對應(yīng)的中斷源被設(shè)置為高優(yōu)先級,相應(yīng)位為0,對應(yīng)的中斷源被設(shè)置為低優(yōu)先級。系統(tǒng)復(fù)位時,均為低優(yōu)先級該寄存器可以位尋址,三、中斷處理過程,中斷處理過程分為三個階段:中斷響應(yīng)、中斷處理和中斷返回。,中斷響應(yīng)中斷處理(又稱中斷服務(wù))中斷返回中斷請求的撤除,中斷處理過程,中斷響應(yīng):在滿足CPU的中斷響應(yīng)條件之后,CPU對中斷源中斷請求予以處理。,中斷響應(yīng)過程:保護(hù)斷點地址;把程序轉(zhuǎn)向中斷服務(wù)程序的入口地址(通常稱矢量地址)。,斷點地址,中斷服務(wù)子程序的入口地址,ORG0003H,中斷處理,中斷服務(wù)程序從入口地址開始執(zhí)行,直到返回指令RETI為止,這個過程稱為中斷處理(或中斷服務(wù))中斷服務(wù)子程序一般包括兩部分內(nèi)容,一是保護(hù)和恢復(fù)現(xiàn)場,二是處理中斷源的請求。,中斷處理,INTT0:PUSHACCPUSHDPHPUSHDPLPUSHPSW中斷源服務(wù)POPPSWPOPDPLPOPDPHPOPACCRETI,保護(hù)現(xiàn)場,恢復(fù)現(xiàn)場,中斷返回,中斷返回是指中斷服務(wù)完后,計算機(jī)返回到原來暫停的位置(即斷點),繼續(xù)執(zhí)行原來的程序。中斷返回由專門的中斷返回指令RETI來實現(xiàn)。,中斷返回,RETI指令功能:把斷點地址取出,送回到程序計數(shù)器PC中去。另外,它還通知中斷系統(tǒng)已完成中斷處理,將清除優(yōu)先級狀態(tài)觸發(fā)器。特別注意:不能用RET指令代替RETI指令!,中斷處理過程示意圖,由硬件自動完成,四、中斷請求的撤除,CPU響應(yīng)某中斷請求后,在中斷返回前,應(yīng)該撤除該中斷請求,否則會引起另一次中斷。定時器0或1溢出:CPU在響應(yīng)中斷后,硬件清除了有關(guān)的中斷請求標(biāo)志TF0或TF1,即中斷請求是自動撤除的。邊沿激活的外部中斷:CPU在響應(yīng)中斷后,也是用硬件自動清除有關(guān)的中斷請求標(biāo)志IE0或IE1。串行口中斷:CPU響應(yīng)中斷后,沒有用硬件清除T1、R1,故這些中斷不能自動撤除,而要靠軟件來清除相應(yīng)的標(biāo)志。,電平激活的外部中斷源中斷標(biāo)志的撤除,電平觸發(fā)外部中斷撤除方法較復(fù)雜。因為在電平觸發(fā)方式中,中斷請求標(biāo)志的撤銷是自動的,但中斷請求信號的低電平可能繼續(xù)存在,所以在響應(yīng)中斷后應(yīng)立即撤除INT0或INT1引腳上的低電平。在硬件上,CPU對INT0和INT1引腳的信號不能控制,所以這個問題要通過硬件,再配合軟件來解決。,中斷服務(wù)程序,硬件自動完成,五、中斷服務(wù)程序的設(shè)計,1、中斷服務(wù)程序設(shè)計的任務(wù)基本任務(wù):(1)設(shè)置中斷允許控制寄存器IE。(2)設(shè)置中斷優(yōu)先級寄存器IP。(3)對外部中斷源,是采用電平觸發(fā)還是跳沿觸發(fā)。(TCON)(4)編寫中斷服務(wù)程序,處理中斷請求。前3條一般放在主程序的初始化程序段中。,例1.假設(shè)允許外部中斷0中斷,并設(shè)定它為高級中斷,其它中斷源為低級中斷,采用跳沿觸發(fā)方式。在主程序中編寫如下程序段:SETBEA;CPU開中斷SETBEX0;允許外中斷0產(chǎn)生中斷SETBPX0;外中斷0為高級中斷SETBIT0;外中斷0為跳沿觸發(fā)方式,五、中斷服務(wù)程序的設(shè)計,2、采用中斷時的主程序結(jié)構(gòu)常用的主程序結(jié)構(gòu)如下:ORG0000HLJMPMAINORG中斷入口地址LJMPINTMAIN:主程序INT:中斷服務(wù)程序,五、中斷服務(wù)程序的設(shè)計,例2ORG0000HAJMPMAINORG0003HAJMPINT0ORG0040HMAIN:MOVSP,#60HSETBEA;CPU開中斷SETBEX0;允許外中斷0產(chǎn)生中斷SETBPX0;外中斷0為高級中斷SETBIT0;外中斷0為跳沿觸發(fā)方式INT0:,五、中斷服務(wù)程序的設(shè)計,例3根據(jù)中斷服務(wù)程序流程,編出中斷服務(wù)程序。假設(shè),現(xiàn)場保護(hù)只需將PSW和A的內(nèi)容壓入堆棧中保護(hù)。典型的中斷服務(wù)程序如下:INT:CLREA;CPU關(guān)中斷PUSHPSW;現(xiàn)場保護(hù)PUSHACC;SETBEA;CPU開中斷中斷處理程序段CLREA;CPU關(guān)中斷POPACC;現(xiàn)場恢復(fù)POPPSWSETBEA;CPU開中斷RETI;中斷返回,恢復(fù)斷點,ORG0000HLJMPMAINORG0003HLJMPINTORG0040HMAIN:MOVSP,#60HSETBEASETBEX0SETBPX0SETBIT0SJMP$INT:CLREAPUSHPSWPUSHACCSETBEA,SETBP1.4ACALLDELAY200msCLREAPOPACCPOPPSWSETBEARETIDELAY200ms:MOVR7,#200DEL:MOVR6,#250DJNZR6,$;fosc=6MHzDJNZR7,DELRETEND,1.外部中斷1所對應(yīng)的中斷入口地址為H。A0003HB.000BC.0013D.001B2.下列說法哪個是正確的:A.各中斷發(fā)出的中斷請求信號,都會標(biāo)記在51系統(tǒng)的IE寄存器中。B.各中斷發(fā)出的中斷請求信號,都會標(biāo)記在51系統(tǒng)的TMOD寄存器中。C.各中斷發(fā)出的中斷請求信號,都會標(biāo)記在51系統(tǒng)的IP寄存器中。D.各中斷發(fā)出的中斷請求信號,都會標(biāo)記在51系統(tǒng)的TCON與SCON寄存器中。3.8051單片機(jī)響應(yīng)中斷后,產(chǎn)生長調(diào)用指令LCALL,執(zhí)行該指令的過程包括:首先把()的內(nèi)容壓入堆棧,以進(jìn)行斷點保護(hù),然后把長調(diào)用指令的16位地址送(),使程序執(zhí)行轉(zhuǎn)向()中的中斷地址區(qū)。A.PC、IP、程序存儲器B.PC、PC、程序存儲器C.PC、PC、數(shù)據(jù)存儲器D.IP、PC、數(shù)據(jù)存儲器4.下列哪段程序是設(shè)定外部中斷1為跳沿觸發(fā)的中斷初始化程序。A.SETBIT0B.SETBIT1C.CLRIT0D.CLRIT1SETBEX0SETBEX1SETBEX0SETBEX1SETBEASETBEASETBEASETBEA5.下列說法錯誤的是。A.同一級別的中斷請求按時間的先后順序響應(yīng)。B.同一時間同一級別的多中斷請求,將形成阻塞,系統(tǒng)無法響應(yīng)。C.低優(yōu)先級中斷請求不能中斷高優(yōu)先級中斷請求,但是高優(yōu)先級中斷請求能中斷低優(yōu)先級中斷請求。D.同級中斷不能嵌套。,中斷習(xí)題,6.中斷子程序的返回指令是。ARETB.RETIC.CLRD.SETB7.下列哪個中斷源是由單片機(jī)片內(nèi)外設(shè)觸發(fā)的。A.外部中斷INT0B.外部中斷INT1C.定時器T0中斷D.串口接收中斷RI8.指令MOVIE,#82H的目的是:A.允許定時器T1中斷B.允許外部中斷INT0中斷C.允許定時器T0中斷D.允許外部中斷INT1中斷9:把PC斷點地址壓入堆棧是由完成。A.軟件編程B.硬件自動C.仿真軟件D.仿真器10.下列寄存器哪個是不能進(jìn)行位尋址的:A.TCONB.SCO

溫馨提示

  • 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

提交評論