資源描述:
《單片機(jī)的中斷課件.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第5章MCS-51單片機(jī)的中斷5.1中斷的概述5.2MCS-51中斷系統(tǒng)5.3中斷系統(tǒng)的應(yīng)用5.1中斷的概述1、中斷中斷是指計算機(jī)在執(zhí)行某一程序的過程中,由于計算機(jī)系統(tǒng)內(nèi)、外的某種原因,而必須中止原程序的執(zhí)行,轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束之后,再回來繼續(xù)執(zhí)行被中止的原程序的過程?!爸袛唷迸c“查詢”相比:執(zhí)行效率↑實時性↑2、中斷源中斷源是指在計算機(jī)系統(tǒng)中可以向CPU發(fā)出中斷請求的來源。通常有I/O設(shè)備、實時控制系統(tǒng)中的隨機(jī)參數(shù)和信息故障源等。3、中斷優(yōu)先級中斷優(yōu)先級越高,則響應(yīng)優(yōu)先權(quán)就越高,高優(yōu)先級中斷可打斷第優(yōu)先級中斷。4、中
2、斷響應(yīng)的一般過程主程序斷點繼續(xù)執(zhí)行主程序RETI執(zhí)行中斷服務(wù)程序(1)響應(yīng)中斷在每條指令結(jié)束后,系統(tǒng)都自動檢測中斷請求信號,如果有中斷請求,且CPU處于開中斷狀態(tài)下,則響應(yīng)中斷。(2)保護(hù)現(xiàn)場保護(hù)現(xiàn)場一般是用堆棧指令將原程序中用到的寄存器推入堆棧。(3)中斷服務(wù)即為相應(yīng)的中斷源服務(wù)。(4)恢復(fù)現(xiàn)場用堆棧指令將保護(hù)在堆棧中的數(shù)據(jù)彈出來,在恢復(fù)現(xiàn)場前要關(guān)中斷,以防止現(xiàn)場被破壞。在恢復(fù)現(xiàn)場后應(yīng)及時開中斷。(5)返回此時CPU將推入到堆棧的斷點地址彈回到程序計數(shù)器,從而使CPU繼續(xù)執(zhí)行剛才被中斷的程序。5.2.1中斷源表5.18051中斷源5
3、.2MCS-51中斷系統(tǒng)復(fù)位中斷圖5.1MCS-51中斷系統(tǒng)結(jié)構(gòu)框圖1.定時器控制寄存器(TCON)該寄存器用于保存外部中斷請求以及定時器的計數(shù)溢出。進(jìn)行字節(jié)操作時,寄存器地址為88H。按位操作時,各位的地址為88H~8FH。寄存器的內(nèi)容及位地址表示如下:位地址8FH8EH8DH8CH8BH8AH89H88H位符號TF1TR1TF0TR0IE1IT1IE0IT0IT0和IT1——外部中斷請求觸發(fā)方式控制位1脈沖觸發(fā)方式,下降沿有效0電平觸發(fā)方式,低電平有效5.2.2中斷控制專用寄存器IE0和IE1——外中斷請求標(biāo)志位當(dāng)CPU采樣到(或)端
4、出現(xiàn)有效中斷請求時,IE0(IE1)位由硬件置“1”。當(dāng)中斷響應(yīng)完成轉(zhuǎn)向中斷服務(wù)程序時,由硬件把IE0(或IE1)清零。TR0和TR1——定時器運(yùn)行控制位0定時器/計數(shù)器不工作1定時器/計數(shù)器開始工作TF0和TF1——計數(shù)溢出標(biāo)志位當(dāng)計數(shù)器產(chǎn)生計數(shù)溢出時,相應(yīng)的溢出標(biāo)志位由硬件置“1”,當(dāng)轉(zhuǎn)向中斷服務(wù)時,再由硬件自動清“0”。2.串行口控制寄存器(SCON)進(jìn)行字節(jié)操作時,寄存器地址為98H。按位操作時,各位的地址為98H~9FH。寄存器的內(nèi)容及位地址表示如下:位地址9FH9EH9DH9CH9BH9AH99H98H位符號SM0SM1SM2
5、RENTB8RB8TIRI其中與中斷有關(guān)的控制位共2位:TI——串行口發(fā)送中斷請求標(biāo)志位當(dāng)發(fā)送完一幀串行數(shù)據(jù)后,由硬件置“1”;由軟件清“0”。RI——串行口接收中斷請求標(biāo)志位當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置“1”;由軟件清“0”。3.中斷允許控制寄存器(IE)進(jìn)行字節(jié)操作時,寄存器地址為0A8H。按位操作時,各位的地址為0A8H~0AFH。寄存器的內(nèi)容及位地址表示如下:位地址0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H位符號EA//ESET1EX1ET0EX0其中與中斷有關(guān)的控制位共6位:EA——中斷允許總控制位EA
6、=0中斷總禁止,禁止所有中斷EA=1中斷總允許,總允許后中斷的禁止或允許由各中斷源的中斷允許控制位進(jìn)行設(shè)置。EX0和EX1——外部中斷允許控制位EX0(EX1)=0禁止外部中斷EX0(EX1)=1允許外部中斷ET0和ET1——定時器/計數(shù)器中斷允許控制位ET0(ET1)=0禁止定時器/計數(shù)器中斷ET0(ET1)=0允許定時器/計數(shù)器中斷ES——串行中斷允許控制位ES=0禁止串行中斷ES=1允許串行中斷4.中斷優(yōu)先級控制寄存器(IP)IP寄存器地址0B8H,位地址為0BFH~0B8H。寄存器的內(nèi)容及位地址表示如下:位地址0BFH0BEH0B
7、DH0BCH0BBH0BAH0B9H0B8H位符號///PSPT1PX1PT0PX0其中:PX0——外部中斷0優(yōu)先級設(shè)定位;PT0——定時中斷0優(yōu)先級設(shè)定位;PX1——外部中斷1優(yōu)先級設(shè)定位;PT1——定時中斷1優(yōu)先級設(shè)定位;PS——串行中斷優(yōu)先級設(shè)定位。以上各位設(shè)置為“0”時,則相應(yīng)的中斷源為低優(yōu)先級;設(shè)置為“1”時,則相應(yīng)的中斷源為高優(yōu)先級。8051單片機(jī)設(shè)有高、低兩個優(yōu)先級,5個中斷源在同一個優(yōu)先級中的優(yōu)先順序為:系統(tǒng)在默認(rèn)狀態(tài)下為低優(yōu)先級。優(yōu)先級的控制原則是:不同優(yōu)先級低優(yōu)先級中斷請求不能打斷高優(yōu)先級的中斷服務(wù);但高優(yōu)先級中斷請求
8、可以打斷低優(yōu)先級的中斷服務(wù),從而實現(xiàn)中斷嵌套。同優(yōu)先級如果一個中斷請求已被響應(yīng),則同級的其它中斷服務(wù)將被禁止。即同級不能嵌套。同級的多個中斷同時出現(xiàn),則按CPU查詢次序確定哪個中斷請求被響應(yīng)。