




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第5 5章章 MCS-51MCS-51系列單片機的中斷系統(tǒng)系列單片機的中斷系統(tǒng) 5.1 中斷概述5.2 MCS-51中斷系統(tǒng)5.3 中斷響應(yīng)5.4 中斷系統(tǒng)的應(yīng)用5.1 5.1 中斷概述中斷概述中斷技術(shù)具有以下優(yōu)點中斷技術(shù)具有以下優(yōu)點:u 分時操作分時操作。CPUCPU可以分時為多個可以分時為多個I/OI/O設(shè)備服務(wù),提設(shè)備服務(wù),提高了計算機的利用率;高了計算機的利用率;u實時響應(yīng)實時響應(yīng)。CPUCPU能夠及時處理應(yīng)用系統(tǒng)的隨機事件,能夠及時處理應(yīng)用系統(tǒng)的隨機事件,系統(tǒng)的實時性大大增強;系統(tǒng)的實時性大大增強;u可靠性高可靠性高。CPUCPU具有處理設(shè)備故障及掉電等突發(fā)性具有處理設(shè)備故障及掉電
2、等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。事件能力,從而使系統(tǒng)可靠性提高。1. 中斷中斷 當(dāng)當(dāng)CPUCPU正在處理某項事件時,如果外界或內(nèi)部發(fā)正在處理某項事件時,如果外界或內(nèi)部發(fā)生了緊急情況(生了緊急情況(中斷請求中斷請求),),CPUCPU暫停正在處理暫停正在處理的工作轉(zhuǎn)而去處理這個緊急情況(的工作轉(zhuǎn)而去處理這個緊急情況(中斷響應(yīng)和中斷響應(yīng)和中斷處理中斷處理),待處理完以后再回到原來被中斷),待處理完以后再回到原來被中斷的地方,繼續(xù)執(zhí)行原來被中斷了的程序(的地方,繼續(xù)執(zhí)行原來被中斷了的程序(中斷中斷返回返回),這一過程稱為中斷。),這一過程稱為中斷。在中斷系統(tǒng)中,經(jīng)常要用到以下幾個概念:在中斷
3、系統(tǒng)中,經(jīng)常要用到以下幾個概念:n主程序主程序:CPUCPU正常情況下運行的程序正常情況下運行的程序n中斷源中斷源:把向:把向CPUCPU提出中斷申請的設(shè)備提出中斷申請的設(shè)備n中斷請求中斷請求:由中斷源向:由中斷源向CPUCPU所發(fā)出的請求中斷的信號所發(fā)出的請求中斷的信號n中斷響應(yīng)中斷響應(yīng):CPUCPU在滿足條件情況下接受中斷申請,終止現(xiàn)在滿足條件情況下接受中斷申請,終止現(xiàn)行程序轉(zhuǎn)而為申請中斷的對象服務(wù)行程序轉(zhuǎn)而為申請中斷的對象服務(wù)n中斷服務(wù)子程序中斷服務(wù)子程序:為服務(wù)對象服務(wù)的程序:為服務(wù)對象服務(wù)的程序n斷點:斷點:現(xiàn)行程序被中斷的地址現(xiàn)行程序被中斷的地址n中斷返回中斷返回:中斷服務(wù)子程序結(jié)
4、束后返回到原來程序:中斷服務(wù)子程序結(jié)束后返回到原來程序n見下圖見下圖n這里需要注意的有兩個概念,保護斷點和保護現(xiàn)場這里需要注意的有兩個概念,保護斷點和保護現(xiàn)場n保護斷點保護斷點:指的是當(dāng):指的是當(dāng)CPUCPU響應(yīng)外設(shè)提出的中斷請求,響應(yīng)外設(shè)提出的中斷請求,在轉(zhuǎn)入中斷服務(wù)子程序之前,把主程序斷點也就在轉(zhuǎn)入中斷服務(wù)子程序之前,把主程序斷點也就是程序計數(shù)器是程序計數(shù)器PCPC的當(dāng)前值保存起來,以便中斷服的當(dāng)前值保存起來,以便中斷服務(wù)子程序執(zhí)行結(jié)束后返回到主程序,從斷點處繼務(wù)子程序執(zhí)行結(jié)束后返回到主程序,從斷點處繼續(xù)執(zhí)行主程序。續(xù)執(zhí)行主程序。n保護現(xiàn)場保護現(xiàn)場:指的是由于:指的是由于CPUCPU執(zhí)行中
5、斷服務(wù)子程序時,執(zhí)行中斷服務(wù)子程序時,可能要使用主程序中使用過的累加器、寄存器或可能要使用主程序中使用過的累加器、寄存器或標(biāo)志位,為了使這些元件的值在中斷服務(wù)子程序標(biāo)志位,為了使這些元件的值在中斷服務(wù)子程序中不被沖掉,在進入中斷服務(wù)子程序前,要將有中不被沖掉,在進入中斷服務(wù)子程序前,要將有關(guān)寄存器保護起來,在中斷服務(wù)子程序執(zhí)行完時,關(guān)寄存器保護起來,在中斷服務(wù)子程序執(zhí)行完時,還必須恢復(fù)原寄存器的內(nèi)容及原程序中斷處的地還必須恢復(fù)原寄存器的內(nèi)容及原程序中斷處的地址,即恢復(fù)現(xiàn)場和恢復(fù)斷點。址,即恢復(fù)現(xiàn)場和恢復(fù)斷點。n保護現(xiàn)場和恢復(fù)現(xiàn)場是通過在中斷服務(wù)子程序中保護現(xiàn)場和恢復(fù)現(xiàn)場是通過在中斷服務(wù)子程序中
6、采用堆棧操作指令采用堆棧操作指令PUSHPUSH和和POPPOP實現(xiàn)的。實現(xiàn)的。n而保護斷點、恢復(fù)斷點是由而保護斷點、恢復(fù)斷點是由CPUCPU響應(yīng)中斷和斷點返響應(yīng)中斷和斷點返回時自動完成的操作?;貢r自動完成的操作。2. 中斷源中斷源 中斷源中斷源是指在中斷系統(tǒng)中,向是指在中斷系統(tǒng)中,向CPU發(fā)出中斷請求發(fā)出中斷請求的來源的來源,。中斷可以人為設(shè)定。中斷可以人為設(shè)定, 也可以是為響應(yīng)突也可以是為響應(yīng)突發(fā)性隨機事件而設(shè)置。通常有發(fā)性隨機事件而設(shè)置。通常有I/O設(shè)備、實時控制設(shè)備、實時控制系統(tǒng)中的隨機參數(shù)和信息故障源等。系統(tǒng)中的隨機參數(shù)和信息故障源等。 MCS-51單片機共單片機共有有五個五個中斷源
7、,分別是中斷源,分別是外部中斷外部中斷0、定時器、定時器/計數(shù)器計數(shù)器0溢出、外部中斷溢出、外部中斷1、定時器、定時器/計計數(shù)器數(shù)器1溢出、串行口中斷等。溢出、串行口中斷等。3.3.中斷源入口地址中斷源入口地址具體入口如下:具體入口如下:中斷源中斷源 入口地址入口地址INT0 INT0 0003 0003T0 T0 000BH 000BHINT1INT1 0013H 0013HT1T1 001BH 001BHRI/TIRI/TI 0023H 0023H 在這些單元中往往是一些跳轉(zhuǎn)指令,跳到真正的在這些單元中往往是一些跳轉(zhuǎn)指令,跳到真正的中斷服務(wù)程序,因為給每個中斷源安排的空間只中斷服務(wù)程序,因
8、為給每個中斷源安排的空間只有有8 8個單元。個單元。4.4.中斷嵌套中斷嵌套 中斷優(yōu)先級越高中斷優(yōu)先級越高, 則響應(yīng)優(yōu)先權(quán)就越高。當(dāng)則響應(yīng)優(yōu)先權(quán)就越高。當(dāng)CPU正在執(zhí)行中斷服務(wù)程序時正在執(zhí)行中斷服務(wù)程序時, 又有中斷優(yōu)先級又有中斷優(yōu)先級更高的中斷申請產(chǎn)生更高的中斷申請產(chǎn)生, 這時這時CPU就會暫停當(dāng)前的就會暫停當(dāng)前的中斷服務(wù)轉(zhuǎn)而處理高級中斷申請中斷服務(wù)轉(zhuǎn)而處理高級中斷申請, 待高級中斷處待高級中斷處理程序完畢再返回原中斷程序斷點處繼續(xù)執(zhí)行理程序完畢再返回原中斷程序斷點處繼續(xù)執(zhí)行, 這一過程稱為這一過程稱為中斷嵌套中斷嵌套。 MCS-51MCS-51系列單片機能實現(xiàn)二級中斷嵌套。中系列單片機能實
9、現(xiàn)二級中斷嵌套。中斷嵌套過程如圖斷嵌套過程如圖5-15-1所示。所示。圖5-1 中斷嵌套過程示意圖5.中斷優(yōu)先級及排隊中斷優(yōu)先級及排隊 當(dāng)系統(tǒng)有多個中斷源時,就可能出現(xiàn)同時有當(dāng)系統(tǒng)有多個中斷源時,就可能出現(xiàn)同時有幾個中斷源申請中斷,而幾個中斷源申請中斷,而CPUCPU一個時間只能響應(yīng)并一個時間只能響應(yīng)并處理一個中斷請求,則要排隊:處理一個中斷請求,則要排隊:1 1)按優(yōu)先級排隊,根據(jù)任務(wù)的輕重緩急,安排優(yōu)先)按優(yōu)先級排隊,根據(jù)任務(wù)的輕重緩急,安排優(yōu)先級,任務(wù)緊急的先響應(yīng),可以暫緩的后響應(yīng);級,任務(wù)緊急的先響應(yīng),可以暫緩的后響應(yīng);2 2)循環(huán)輪流排隊。不分級別高低,)循環(huán)輪流排隊。不分級別高低,
10、CPUCPU輪流響應(yīng)各輪流響應(yīng)各個中斷源的中斷請求。個中斷源的中斷請求。5.2 MCS-51中斷系統(tǒng)中斷系統(tǒng)中斷系統(tǒng)中斷系統(tǒng)是指能實現(xiàn)中斷功能的那部分硬件電路是指能實現(xiàn)中斷功能的那部分硬件電路和軟件程序。和軟件程序。中斷系統(tǒng)需要完成的工作:中斷系統(tǒng)需要完成的工作:1.1.自動、及時響應(yīng)中斷(異常事件)自動、及時響應(yīng)中斷(異常事件) 2 . 進行中斷優(yōu)先權(quán)的排隊進行中斷優(yōu)先權(quán)的排隊 3.3.實現(xiàn)中斷嵌套實現(xiàn)中斷嵌套4.4.實現(xiàn)中斷返回實現(xiàn)中斷返回5.2.1 MCS-515.2.1 MCS-51的中斷系統(tǒng)的內(nèi)部結(jié)構(gòu)的中斷系統(tǒng)的內(nèi)部結(jié)構(gòu)1.1.中斷源中斷源(1)外部中斷源:)外部中斷源:外部中斷外部
11、中斷0-INT00-INT0,由,由P3.2P3.2提供,提供,外部中斷外部中斷1INT11INT1,由,由P3.3P3.3提供,提供,(2)內(nèi)部中斷源)內(nèi)部中斷源T0T0溢出中斷溢出中斷: : 片內(nèi)定時器片內(nèi)定時器0 0或或P3.4P3.4引腳上計數(shù)器引腳上計數(shù)器0 0溢出溢出中斷請求中斷請求T1T1溢出中斷溢出中斷: : 片內(nèi)定時器片內(nèi)定時器1 1或或P3.5P3.5引腳上計數(shù)器引腳上計數(shù)器1 1溢出溢出中斷請求中斷請求串行口中斷串行口中斷RI/TI: RI/TI: 由片內(nèi)串行口提供由片內(nèi)串行口提供2 2MCS-51MCS-51單片機中斷系統(tǒng)的內(nèi)部結(jié)構(gòu)單片機中斷系統(tǒng)的內(nèi)部結(jié)構(gòu)5.2.2 M
12、CS-51單片機與中斷有關(guān)的特殊單片機與中斷有關(guān)的特殊功能寄存器功能寄存器與中斷控制有關(guān)的控制寄存器有四個:與中斷控制有關(guān)的控制寄存器有四個:TCON-定時器定時器/計數(shù)器控制寄存器計數(shù)器控制寄存器 SCON-串行口控制寄存器串行口控制寄存器IE-中斷允許控制寄存器中斷允許控制寄存器IP-中斷優(yōu)先級控制寄存器中斷優(yōu)先級控制寄存器1.1.定時器定時器/ /計數(shù)器控制寄存器計數(shù)器控制寄存器TCONTCON TCON TCON寄存器是用來鎖存定時器寄存器是用來鎖存定時器/ /計數(shù)器計數(shù)器T0T0、T1T1的的溢出中斷請求源和外部中斷請求源。字節(jié)地址為溢出中斷請求源和外部中斷請求源。字節(jié)地址為88H8
13、8H,可以位尋址,位地址是,可以位尋址,位地址是88H88H8FH(TCON.08FH(TCON.0TCON.7)TCON.7)。其格式為:。其格式為:nTCONTCON寄存器中和中斷請求及控制相關(guān)的位主要有:寄存器中和中斷請求及控制相關(guān)的位主要有:uTF1:TF1:定時器定時器/ /計數(shù)器計數(shù)器1 1(T1T1)的溢出中斷標(biāo)志位)的溢出中斷標(biāo)志位。當(dāng)當(dāng)T1T1從初值開始加從初值開始加1 1計數(shù)到計數(shù)滿產(chǎn)生溢出時,由計數(shù)到計數(shù)滿產(chǎn)生溢出時,由硬件將硬件將TF1TF1置置1 1,直到,直到CPUCPU響應(yīng)中斷時響應(yīng)中斷時由硬件復(fù)位。由硬件復(fù)位。也可用軟件查詢該標(biāo)志,并由軟件清也可用軟件查詢該標(biāo)志
14、,并由軟件清0 0。uTF0TF0:定時器:定時器/ /計數(shù)器計數(shù)器0 0(T0T0)的溢出中斷標(biāo)志位。)的溢出中斷標(biāo)志位。uIT1:IT1:外部中斷外部中斷1 1的中斷觸發(fā)方式控制位。的中斷觸發(fā)方式控制位。當(dāng)當(dāng)IT1=0IT1=0時,外部中斷時,外部中斷1 1為電平觸發(fā)方式。為電平觸發(fā)方式。此時外部中此時外部中斷是通過檢測斷是通過檢測INT1INT1端的輸入電平(低電平)來觸發(fā)的。端的輸入電平(低電平)來觸發(fā)的。采用電平觸發(fā)時,輸入到采用電平觸發(fā)時,輸入到INT1INT1的外部中斷源必須保持的外部中斷源必須保持低電平有效,低電平有效,直到該中斷被響應(yīng)。同時在直到該中斷被響應(yīng)。同時在中斷返回前
15、中斷返回前必須使電平變高,否則將再次產(chǎn)生中斷必須使電平變高,否則將再次產(chǎn)生中斷。當(dāng)當(dāng)IT1=1IT1=1時,外部中斷時,外部中斷1 1為下降沿觸發(fā)方式為下降沿觸發(fā)方式。CPUCPU如果在如果在一個周期中采樣到高電平,在下個周期中采樣到低電一個周期中采樣到高電平,在下個周期中采樣到低電平,則硬件使平,則硬件使IE1IE1置置1 1,向,向CPUCPU請求中斷。請求中斷。uIT0IT0:外部中斷:外部中斷0 0的中斷觸發(fā)方式控制位。的中斷觸發(fā)方式控制位。uIE1:IE1:外部中斷外部中斷1 1(INT1INT1)的中斷請求標(biāo)志位。)的中斷請求標(biāo)志位。如果如果IT1=1IT1=1,則外部中斷,則外部
16、中斷1 1引腳上得電平由引腳上得電平由1 1變?yōu)樽優(yōu)? 0時,時,IE1IE1由硬件置位,外部中斷由硬件置位,外部中斷1 1請求中斷。在請求中斷。在CPUCPU響應(yīng)響應(yīng)該中斷時自動由硬件復(fù)位清零。該中斷時自動由硬件復(fù)位清零。uIE0IE0:外部中斷:外部中斷0 0(INT0INT0)的中斷請求標(biāo)志位)的中斷請求標(biāo)志位. .2. 2. 串行口控制寄存器串行口控制寄存器SCONSCON串行口控制寄存器串行口控制寄存器SCONSCON中的中的D1D1和和D0D0兩位為兩位為TITI和和DIDI,分別用,分別用作串行口的接收中斷請求和發(fā)送中斷請。字節(jié)地址為作串行口的接收中斷請求和發(fā)送中斷請。字節(jié)地址為
17、98H98H,位地址為位地址為98H98H9FH(SCON.09FH(SCON.0SCON.7)SCON.7),其格式如下,其格式如下:TI (SCON.1)串行發(fā)送中串行發(fā)送中斷標(biāo)志。斷標(biāo)志。RI(SCON.0)串行接收串行接收中斷標(biāo)志。中斷標(biāo)志。當(dāng)當(dāng)CPU轉(zhuǎn)入串行口中斷服務(wù)程序入口時不復(fù)位轉(zhuǎn)入串行口中斷服務(wù)程序入口時不復(fù)位DI、TI,必須由用戶用軟件來復(fù)位。必須由用戶用軟件來復(fù)位。nRIRI、TITI的中斷入口都是的中斷入口都是0023H0023H,所以,所以CPUCPU響應(yīng)后轉(zhuǎn)響應(yīng)后轉(zhuǎn)入入0023H0023H開始執(zhí)行服務(wù)程序,首先必須判斷是開始執(zhí)行服務(wù)程序,首先必須判斷是RIRI中中斷還
18、是斷還是TITI中斷,然后進行相應(yīng)服務(wù)。中斷,然后進行相應(yīng)服務(wù)。在返回主程在返回主程序之前必須用軟件將序之前必須用軟件將RIRI或或TITI清除清除,否則會出現(xiàn)一,否則會出現(xiàn)一次請求多次響應(yīng)的錯誤。次請求多次響應(yīng)的錯誤。3. 3. 中斷允許控制寄存器中斷允許控制寄存器IEIE 在在MCS-51MCS-51中斷系統(tǒng)中,中斷允許或禁止是由中斷允許寄存中斷系統(tǒng)中,中斷允許或禁止是由中斷允許寄存器器IEIE控制的,字節(jié)地址為控制的,字節(jié)地址為0A8H0A8H,其格式如下:,其格式如下:中斷允許寄存器中斷允許寄存器IEIE對中斷的開放和關(guān)閉實行兩級控制。所謂兩級對中斷的開放和關(guān)閉實行兩級控制。所謂兩級控
19、制,就是有一個控制,就是有一個總開關(guān)中斷控制位總開關(guān)中斷控制位EAEA,當(dāng),當(dāng)EAEA0 0時,則屏蔽所有時,則屏蔽所有的中斷申請,即任何中斷申請都不接受;當(dāng)?shù)闹袛嗌暾?,即任何中斷申請都不接受;?dāng)EAEA1 1時,時,CPUCPU開放中開放中斷,但其它的中斷源是否可被斷,但其它的中斷源是否可被CPUCPU響應(yīng),還要由響應(yīng),還要由IEIE中對應(yīng)位的狀態(tài)中對應(yīng)位的狀態(tài)來決定。來決定。IE中的各位功能如下:中的各位功能如下: EA:CPU中斷允許位。中斷允許位。EA=0,CPU禁止禁止所有中斷,即所有中斷,即CPU屏蔽所有的中斷請求;屏蔽所有的中斷請求;EA=1,CPU開放中斷。但每個中斷源的中斷請
20、求是允許開放中斷。但每個中斷源的中斷請求是允許還是被禁止,還需由各自的允許位確定。還是被禁止,還需由各自的允許位確定。 ES:串行口中斷允許位。:串行口中斷允許位。ES=1,允許串,允許串行口中斷;行口中斷;ES=0,禁止串行口中斷。,禁止串行口中斷。 ET1:定時器:定時器/計數(shù)器計數(shù)器1(T1)的溢出中斷允的溢出中斷允許位。許位。ET1=1,允許,允許T1中斷;中斷;ET1=0,禁止,禁止T1中中斷。斷。 EX1:外部中斷:外部中斷1中斷允許位。中斷允許位。EX1=1,允許外部中斷允許外部中斷1中斷;中斷;EX1=0,禁止外部中斷,禁止外部中斷1中中斷。斷。 ET0:定時器:定時器/計數(shù)器
21、計數(shù)器0(T0)的溢出中斷允許的溢出中斷允許位。位。ET0=1,允許,允許T0中斷;中斷;ET0=0,禁止,禁止T0中斷。中斷。 EX0:外部中斷:外部中斷0中斷允許位。中斷允許位。EX0=1,允許外部中斷允許外部中斷0中斷;中斷;EX0=0,禁止外部中斷,禁止外部中斷0中中斷。斷。中斷允許寄存器中各相應(yīng)位的狀態(tài),可根據(jù)中斷允許寄存器中各相應(yīng)位的狀態(tài),可根據(jù)要求用指令置位或清零,從而實現(xiàn)該中斷源允許要求用指令置位或清零,從而實現(xiàn)該中斷源允許中斷或禁止中斷,中斷或禁止中斷,復(fù)位時復(fù)位時IE寄存器被清零。寄存器被清零。例例5-1 5-1 如果我們要設(shè)置外中斷如果我們要設(shè)置外中斷1 1、定時器、定時
22、器1 1中斷允許,中斷允許,其它不允許,請設(shè)置其它不允許,請設(shè)置IEIE的相應(yīng)值。的相應(yīng)值。(a)(a)用字節(jié)操作指令實現(xiàn)用字節(jié)操作指令實現(xiàn) MOV IEMOV IE,8CH8CH或或 MOVMOVA8HA8H,8CH8CH(b)(b)用位操作指令實現(xiàn)用位操作指令實現(xiàn)SETBSETBEAEA ;使;使 EAEA1 1,CPUCPU開中斷開中斷SETBSETBET1ET1;使;使ET1ET11 1,定時,定時/ /計數(shù)器計數(shù)器1 1允許中斷允許中斷SETBSETBEX1EX1;使;使EX1EX11 1,外中斷,外中斷T1T1允許中斷允許中斷位位D7D6D5D4D3D2D1D0符號符號EAESET
23、1EX1ET0EX0值值100011004.4.中斷優(yōu)先級控制寄存器中斷優(yōu)先級控制寄存器IPIPMCS-51MCS-51中斷系統(tǒng)提供兩個中斷優(yōu)先級,每一個中中斷系統(tǒng)提供兩個中斷優(yōu)先級,每一個中斷請求源都可以設(shè)置為高優(yōu)先級中斷源或低優(yōu)先斷請求源都可以設(shè)置為高優(yōu)先級中斷源或低優(yōu)先級中斷源。字節(jié)地址為級中斷源。字節(jié)地址為B8HB8H,位地址為,位地址為B8HB8HBCH(IP.0BCH(IP.0IP.4)IP.4),其格式如下:,其格式如下:專用寄存器專用寄存器IPIP為中斷優(yōu)先級寄存器,用戶可用軟為中斷優(yōu)先級寄存器,用戶可用軟件設(shè)定件設(shè)定相應(yīng)位為相應(yīng)位為1 1,對應(yīng)的中斷源被設(shè)置為,對應(yīng)的中斷源被
24、設(shè)置為高優(yōu)先級高優(yōu)先級,相,相應(yīng)位為應(yīng)位為0 0,對應(yīng)的中斷源被設(shè)置為低優(yōu)先級,對應(yīng)的中斷源被設(shè)置為低優(yōu)先級 系統(tǒng)復(fù)位時,均為低優(yōu)先級系統(tǒng)復(fù)位時,均為低優(yōu)先級 該寄存器可以位尋址該寄存器可以位尋址自然優(yōu)先權(quán)順序例例5-2 5-2 設(shè)有如下要求,將設(shè)有如下要求,將T0T0、外中斷、外中斷1 1設(shè)為高優(yōu)先設(shè)為高優(yōu)先級,其它為低優(yōu)先級,求級,其它為低優(yōu)先級,求IPIP的值。的值。解:解:IPIP的前的前3 3位沒用,可任意取值,設(shè)為位沒用,可任意取值,設(shè)為000000,后面,后面根據(jù)要求寫就可以了。根據(jù)要求寫就可以了。位位D7D6D5D4D3D2D1D0符號符號XXXPSPT1PX1PT0PX0值值
25、00000110IP的值就是的值就是06H。5.5.中斷優(yōu)先級遵循的基本規(guī)則中斷優(yōu)先級遵循的基本規(guī)則 MCS-51MCS-51中斷系統(tǒng)具有兩級優(yōu)先級中斷系統(tǒng)具有兩級優(yōu)先級( (由由IPIP寄存器把寄存器把各個中斷源的優(yōu)先級分為高優(yōu)先級和低優(yōu)先級各個中斷源的優(yōu)先級分為高優(yōu)先級和低優(yōu)先級) ),它們遵循下列兩條基本規(guī)則:它們遵循下列兩條基本規(guī)則:( (1) 1) 低優(yōu)先級中斷源可被高優(yōu)先級中斷源所低優(yōu)先級中斷源可被高優(yōu)先級中斷源所中斷,而高優(yōu)先級中斷源不能被任何中斷源所中中斷,而高優(yōu)先級中斷源不能被任何中斷源所中斷;斷;(2) (2) 一種中斷源一種中斷源( (不管是高優(yōu)先級或低優(yōu)先級不管是高優(yōu)先
26、級或低優(yōu)先級) )一旦得到響應(yīng),與它同級的中斷源不能再中斷它。一旦得到響應(yīng),與它同級的中斷源不能再中斷它。5.3 5.3 中斷響應(yīng)中斷響應(yīng) 1.中斷響應(yīng)的過程中斷響應(yīng)的過程單片機一旦響應(yīng)中斷請求單片機一旦響應(yīng)中斷請求, 就由硬件完成以下功能就由硬件完成以下功能 將相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器置將相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器置1(以阻斷后來的(以阻斷后來的同級或低級的中斷請求)。同級或低級的中斷請求)。執(zhí)行一條硬件執(zhí)行一條硬件LCALL指令,即把程序計數(shù)器指令,即把程序計數(shù)器PC的內(nèi)容壓入堆棧保存,再將相應(yīng)的中斷服務(wù)程序的內(nèi)容壓入堆棧保存,再將相應(yīng)的中斷服務(wù)程序的入口地址送入的入口地址送入PC執(zhí)行中斷服務(wù)程
27、序。執(zhí)行中斷服務(wù)程序。中斷響應(yīng)過程的中斷響應(yīng)過程的前兩步前兩步是由中斷系統(tǒng)內(nèi)部自動完成是由中斷系統(tǒng)內(nèi)部自動完成的,而的,而中斷服務(wù)程序中斷服務(wù)程序則要由用戶編寫程序來完成。則要由用戶編寫程序來完成。CPUCPU封鎖對中斷的響應(yīng)的情況:封鎖對中斷的響應(yīng)的情況: 同級或高優(yōu)先級的中斷已在進行中同級或高優(yōu)先級的中斷已在進行中; ; 當(dāng)前的機器周期還不是正在執(zhí)行指令的最后一個當(dāng)前的機器周期還不是正在執(zhí)行指令的最后一個機器周期(正在執(zhí)行的指令完成前機器周期(正在執(zhí)行的指令完成前, , 任何中斷請任何中斷請求都得不到響應(yīng))求都得不到響應(yīng)); ; 正在執(zhí)行的是一條正在執(zhí)行的是一條RETIRETI或者訪問特殊
28、功能寄存器或者訪問特殊功能寄存器 IEIE或或IPIP的指令(在的指令(在RETIRETI或讀寫或讀寫IEIE或或IPIP之后之后, , 不會不會馬上響應(yīng)中斷請求馬上響應(yīng)中斷請求, , 而至少執(zhí)行一條其它指令之而至少執(zhí)行一條其它指令之后才會響應(yīng))。后才會響應(yīng))。 使用時,通常在這些入口地使用時,通常在這些入口地址處存放一條跳轉(zhuǎn)指令,使址處存放一條跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶安排的中斷程序跳轉(zhuǎn)到用戶安排的中斷服務(wù)程序起始地址上去!服務(wù)程序起始地址上去!ORG 0000HLJMP STAORG 0003HLJMP INT0ORG 0100HSTA: .INT0:. RETIl中斷返回中斷返回RETI
29、指令的具體功能是:指令的具體功能是:n將中斷響應(yīng)時壓入堆棧保存的斷點地址從棧頂彈出送回將中斷響應(yīng)時壓入堆棧保存的斷點地址從棧頂彈出送回PC,CPU從原來中斷的地方繼續(xù)執(zhí)行程序;從原來中斷的地方繼續(xù)執(zhí)行程序;n 將相應(yīng)中斷優(yōu)先級狀態(tài)觸發(fā)器清將相應(yīng)中斷優(yōu)先級狀態(tài)觸發(fā)器清0,通知中斷系統(tǒng),中斷,通知中斷系統(tǒng),中斷服務(wù)程序已執(zhí)行完畢。服務(wù)程序已執(zhí)行完畢。注意,不能用注意,不能用RET指令代替指令代替RETI指令。在中斷服務(wù)程序中指令。在中斷服務(wù)程序中PUSH指令與指令與POP指令必須成對使用,否則不能正確返回指令必須成對使用,否則不能正確返回斷點斷點 。 2.中斷響應(yīng)條件和時間中斷響應(yīng)條件和時間11、
30、中斷響應(yīng)條件、中斷響應(yīng)條件 中斷源有中斷請求;中斷源有中斷請求; 此中斷源的中斷允許位為此中斷源的中斷允許位為1; CPU開中斷(即開中斷(即EA=1)。)。! 同時滿足時,同時滿足時,CPU才有可能響應(yīng)中斷。才有可能響應(yīng)中斷。2、中斷響應(yīng)時間、中斷響應(yīng)時間響應(yīng)時間響應(yīng)時間-從查詢中斷請求標(biāo)志位到轉(zhuǎn)向中斷服務(wù)入口地址從查詢中斷請求標(biāo)志位到轉(zhuǎn)向中斷服務(wù)入口地址所需的機器周期數(shù)。所需的機器周期數(shù)。(1 1)最快響應(yīng)時間最快響應(yīng)時間以外部中斷的電平觸發(fā)為最快。以外部中斷的電平觸發(fā)為最快。從查詢中斷請求信號到中斷服務(wù)程序需要三個機器周期:從查詢中斷請求信號到中斷服務(wù)程序需要三個機器周期: 1 1個周期
31、(查詢)個周期(查詢)2 2個周期(長調(diào)用個周期(長調(diào)用LCALLLCALL)(2 2)最長時間最長時間 若當(dāng)前指令是若當(dāng)前指令是RETRET、RETIRETI和訪問和訪問IPIP、IEIE指令,緊接著下一指令,緊接著下一條是乘除指令發(fā)生,則最長為條是乘除指令發(fā)生,則最長為8 8個周期:個周期:2 2個周期執(zhí)行當(dāng)前指令(其中含有個周期執(zhí)行當(dāng)前指令(其中含有1 1個周期查詢)個周期查詢)4 4個周期個周期乘除指令乘除指令2 2個周期長調(diào)用個周期長調(diào)用8 8個周期。個周期。3. 中斷處理過程中斷處理過程中斷請求中斷請求中斷響應(yīng)中斷響應(yīng)中斷處理中斷處理中斷返回中斷返回5.4 5.4 中斷系統(tǒng)的應(yīng)用中
32、斷系統(tǒng)的應(yīng)用 在中斷服務(wù)程序編程時在中斷服務(wù)程序編程時,首先要對中斷系統(tǒng)進行初首先要對中斷系統(tǒng)進行初始化始化,也就是對幾個也就是對幾個特殊功能寄存器的有關(guān)控制位特殊功能寄存器的有關(guān)控制位進行賦值進行賦值。具體來說。具體來說,就是要完成下列工作:就是要完成下列工作: 開中斷和允許中斷源中斷開中斷和允許中斷源中斷; 確定各中斷源的優(yōu)先級確定各中斷源的優(yōu)先級; 若是外部中斷若是外部中斷,則應(yīng)規(guī)定是電平觸發(fā)還是邊沿觸則應(yīng)規(guī)定是電平觸發(fā)還是邊沿觸發(fā)。發(fā)。1. 主程序的初始化主程序的初始化 在在MCS-51單片機中,管理和控制中斷源的項目有:單片機中,管理和控制中斷源的項目有:(1)CPU開中斷與關(guān)中斷。
33、開中斷與關(guān)中斷。(2)某個中斷源中斷請求的允許和禁止(屏蔽)。)某個中斷源中斷請求的允許和禁止(屏蔽)。(3)各中斷源優(yōu)先級別的設(shè)定。)各中斷源優(yōu)先級別的設(shè)定。(4)外部中斷請求的觸發(fā)方式。)外部中斷請求的觸發(fā)方式。 中斷管理和控制程序一般不獨立編寫,而是通中斷管理和控制程序一般不獨立編寫,而是通過主程序的初始化來實現(xiàn)。所謂初始化,是對過主程序的初始化來實現(xiàn)。所謂初始化,是對將要用到的將要用到的MCS-51系列單片機內(nèi)部部件或擴展系列單片機內(nèi)部部件或擴展芯片進行初始工作狀態(tài)設(shè)定。針對中斷來說,芯片進行初始工作狀態(tài)設(shè)定。針對中斷來說,就是對就是對IE,IP進行初始化編程,實現(xiàn)上述要求。進行初始化
34、編程,實現(xiàn)上述要求。2. 2. 中斷服務(wù)程序中斷服務(wù)程序 中斷服務(wù)程序是一種具有中斷服務(wù)程序是一種具有特定功能的獨立程序段,特定功能的獨立程序段,它為中斷源的特定要求服它為中斷源的特定要求服務(wù),以中斷返回指令結(jié)束。務(wù),以中斷返回指令結(jié)束。在中斷響應(yīng)過程中,斷點在中斷響應(yīng)過程中,斷點的保護主要由硬件電路來的保護主要由硬件電路來完成。對用戶來說,在編完成。對用戶來說,在編寫中斷服務(wù)程序時,主要寫中斷服務(wù)程序時,主要需考慮現(xiàn)場的保護與恢復(fù)。需考慮現(xiàn)場的保護與恢復(fù)。CH1: PUSHACC POPACC RETI中斷服務(wù)程序一般編寫格式中斷服務(wù)程序一般編寫格式3. 3. 中斷服務(wù)程序編寫中的注意事項中斷服務(wù)程序編寫中的注意事項(1)(1)視需要確定是否保護現(xiàn)場。視需要確定是否保護現(xiàn)場。(2)(2)及時清除那些不能被硬件
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第二單元《第11課 數(shù)據(jù)分析報告》教學(xué)設(shè)計 -2023-2024學(xué)年浙教版(2020)初中信息技術(shù)七年級上冊
- 第1單元 活動4《主題活動:環(huán)保宣傳我在行動》教學(xué)設(shè)計 粵教版《綜合實踐活動》八年級
- Unit 1 Section A 1a-1d教學(xué)設(shè)計 2024-2025學(xué)年人教版(2024)七年級英語上冊
- 第14課《回憶我的母親》跨學(xué)科教學(xué)設(shè)計 - 2024-2025學(xué)年初中語文統(tǒng)編版(2024)七年級上冊
- 第三單元第1節(jié) 數(shù)字化生存 教學(xué)設(shè)計-2023-2024學(xué)年粵教清華版初中信息技術(shù)七年級上冊
- 平面向量概念與線性運算教學(xué)設(shè)計-2024-2025學(xué)年高一下學(xué)期數(shù)學(xué)人教A版(2019)必修第二冊
- Unit4 Why dont you talk to your parents (Section A 1a-2d)教學(xué)設(shè)計-2024-2025學(xué)年人教新目標(biāo)八年級英語下冊
- Unit 2 How often do you exercise 教學(xué)設(shè)計 2024-2025學(xué)年人教新目標(biāo)初中英語八年級上冊
- Unit2 Last weekend Part A Let's learn(教學(xué)設(shè)計)-2023-2024學(xué)年人教PEP版英語六年級下冊
- 《促織》教學(xué)設(shè)計 2023-2024學(xué)年統(tǒng)編版高中語文必修下冊
- 2025年內(nèi)蒙古化工職業(yè)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2025年菏澤醫(yī)學(xué)專科學(xué)校高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 2025年漯河職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 安全生產(chǎn)事故調(diào)查與案例分析(第3版)課件 呂淑然 第5、6章 事故案例評析、相關(guān)法律法規(guī)
- Unit 2 What time is it?-A Let's spell(課件)-2024-2025學(xué)年人教PEP版英語四年級下冊
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級下冊第二單元百分數(shù)(二)(含答案)
- 創(chuàng)新教案:《歌唱二小放牛郎》在2025年音樂教學(xué)中的應(yīng)用
- 2024年西安電力高等??茖W(xué)校高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2024年湖南鐵路科技職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 祖沖之的平生與貢獻
- 2025年版護理法律法規(guī)
評論
0/150
提交評論