單片機第二講中斷_第1頁
單片機第二講中斷_第2頁
單片機第二講中斷_第3頁
單片機第二講中斷_第4頁
單片機第二講中斷_第5頁
已閱讀5頁,還剩27頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 中斷系統MCS-51系列單片機2016-3-9中斷系統概述中斷是指計算機在執行某一程序的過程中,由于計算機內、外的某種原因而必須終止原程序的執行,轉去完成相應的處理程序,待處理結束之后再返回繼續執行被終止的原程序的過程。2016-3-9n中中斷響應過斷響應過程程中斷系統概述中斷源向 CPU提出中斷申請的設備12016-3-9中斷請求向CPU發出的請求中斷的信號2中斷響應CPU在滿足條件的情況下接受中斷申請,終止現行程序的執行轉而位申請中斷的對象服務3中斷系統概述中斷服務程序為申請中斷的對象服務的程序42016-3-9斷點現行程序被中斷的地址5中斷返回中斷服務程序結束后返回到原來程序6中斷系統

2、概述中斷源MCS-51系列單片機有5個中斷源(8052型有6個)12016-3-9n外部中外部中斷斷 和和n定時定時/計數器計數器T0和和T1溢出中斷溢出中斷n串行口的發送和接收中斷(只占一個中斷源)串行口的發送和接收中斷(只占一個中斷源)0INT1INT 外部中斷的中斷請求標志位及T0和T1的溢出中斷請求標志位,鎖存在定時/計數器的控制寄存器(TCON)中,而串行口對應的中斷請求標志位則鎖存在串行口的控制寄存器(SCON)中中斷系統概述2016-3-9u 中斷源包括中斷請求信號的產生及該信號怎樣被CPU有效地識別。要求中斷請求信號產生一次,只能被CPU接受處理一次,即不能一次中斷申請被CPU

3、響應多次。中斷源1u 上面所述就涉及到中斷請求信號的及時撤除問題:一旦某個中斷請求得到響應,CPU必須把它相應中斷標志位復位成“0”狀態。中斷系統概述中斷優先級控制22016-3-9n由于在實際應用中往往有多個中斷源,且中斷申請是隨機的,有時還可能會有多個中斷源同時提出請求,但CPU一次只能響應一個中斷源發出的中斷請求,這時CPU響應哪個中斷請求,就需要用軟件或硬件按中斷源工作性質的輕重緩急給它們安排一個優先順序,即中斷的優先級排隊。n中斷優先級別越高則響應優先權越高。當CPU正在執行中斷服務程序時,又有中斷優先級更高的中斷申請產生,CPU就會暫停原來的中斷處理程序而轉去處理優先級別更高的中斷

4、請求,處理完畢后再返回原低級中斷服務程序,這一過程稱為中斷嵌套。中斷系統概述中斷響應過程32016-3-9n1.中斷檢測中斷檢測在每一條指令結束后,系統會自動檢測中斷請求信號,如果有中斷請求且相應的中斷允在每一條指令結束后,系統會自動檢測中斷請求信號,如果有中斷請求且相應的中斷允許位為真(許位為真(CPU允許中斷)時,則響應中斷;允許中斷)時,則響應中斷;n2.保護現場保護現場CPU一旦響應中斷,中斷系統會自動將當前一旦響應中斷,中斷系統會自動將當前PC內容(斷點地址)壓入堆棧保護起來,但內容(斷點地址)壓入堆棧保護起來,但不保護不保護PSW、A和其他寄存器的內容,若要對原程序中用到的數據和寄

5、存器的內容進行保護需要通過和其他寄存器的內容,若要對原程序中用到的數據和寄存器的內容進行保護需要通過入棧操作完成。保護現場前一般要關中斷,以防止現場保護過程中有高優先級中斷發生而破壞現場保入棧操作完成。保護現場前一般要關中斷,以防止現場保護過程中有高優先級中斷發生而破壞現場保護?,F場保護一般用堆棧指令護?,F場保護一般用堆棧指令PUSH將原程序中用到的寄存器壓入堆棧,現場保護之后要開中斷;將原程序中用到的寄存器壓入堆棧,現場保護之后要開中斷;n3.中斷服務中斷服務通過執行中斷服務程序完成相應的功能;通過執行中斷服務程序完成相應的功能;n4.清除中斷標志位清除中斷標志位CPU響應中斷后,要清除相應

6、的中斷請求標志位,以免響應中斷后,要清除相應的中斷請求標志位,以免CPU再次響應該中斷;再次響應該中斷;n5.恢復現場恢復現場中斷服務完成后,返回前要用彈出堆棧使保護在堆棧中的數據和寄存器的值彈出,以實中斷服務完成后,返回前要用彈出堆棧使保護在堆棧中的數據和寄存器的值彈出,以實現恢復原有數據的目的。現恢復原有數據的目的。n6.中斷返回中斷返回此時此時CPU將將PC指針內容彈出堆?;謴蛿帱c,從而使指針內容彈出堆棧恢復斷點,從而使CPU繼續執行剛才被中斷的程序。繼續執行剛才被中斷的程序。中斷系統概述2016-3-9區分保護斷點和保護現場4n保保護斷護斷點是點是將斷將斷點點處處的的PC值保存起來,而

7、保護現場則是將主程序中使用過的累加器、寄存值保存起來,而保護現場則是將主程序中使用過的累加器、寄存器和標志位等內容保護起來;器和標志位等內容保護起來;n保保護現場護現場和恢和恢復現場復現場是通是通過過在中在中斷斷服服務務程序中采用堆程序中采用堆棧棧操作指令操作指令PUSH及及POP實現的,而實現的,而保護斷點、恢復斷點是由保護斷點、恢復斷點是由CPU響應中斷和中斷返回時自動完成的。響應中斷和中斷返回時自動完成的。中斷系統大大改善了計算機的性能,主要特點如下:5n有效地解有效地解決決了了CPU與慢速外設之間的矛盾,可使與慢速外設之間的矛盾,可使CPU與外設并行工作,大大提高了工作效與外設并行工作

8、,大大提高了工作效率;率;n可以及時處理控制系統中許多隨機產生的參數和信息,即計算機具有實時處理能力,從而可以及時處理控制系統中許多隨機產生的參數和信息,即計算機具有實時處理能力,從而提高了控制系統性能;提高了控制系統性能;n使系統具備了處理故障的能力,提高了系統自身的可靠性。使系統具備了處理故障的能力,提高了系統自身的可靠性。2016-3-9MCS-51中斷系統中斷系統的內部構造1MCS-51中斷系統2016-3-9INT0 外部中斷外部中斷0請求,由請求,由INT0引腳(引腳(P3.2)輸入,低電平)輸入,低電平/負跳變有效,在每個機器周期的負跳變有效,在每個機器周期的S5P2采樣,中斷請

9、求標志位采樣,中斷請求標志位IE0INT1 外部中斷1請求,由INT1引腳(P3.3)輸入,低電平/負跳變有效,在每個機器周期的S5P2采樣,中斷請求標志位IE1T0定時計數器0溢出中斷請求,中斷請求標志為TF0T1定時計數器1溢出中斷請求,中斷請求標志為TF1串行口串行口中斷請求,當串行口完成一楨數據的發送和接收時,便請求中斷,中斷標志為TI和RIu 5個中斷源含義如下:中斷方式-外部中斷和內部中斷32016-3-9n外部中外部中斷斷是指是指從單從單片機外部引腳片機外部引腳INT0和和INT1輸入中斷請求信號的中斷,即外部中斷源有輸入中斷請求信號的中斷,即外部中斷源有兩個。兩個。u 外部中斷

10、n如如輸輸入入輸輸出的出的請請求、求、實時時間實時時間的中的中斷請斷請求、掉求、掉電電或或設備設備故障的中故障的中斷請斷請求都可以作求都可以作為為外部中外部中斷斷源,源,從從引腳引腳INT0和和INT1輸入。輸入。MCS-51中斷系統2016-3-9u 內部中斷MCS-51中斷系統n內部中斷是單片機芯片內部產生的中斷。內部中斷是單片機芯片內部產生的中斷。MCS-51單片機的內部中斷有定時單片機的內部中斷有定時/計數器計數器T0和和T1的溢出中斷,串行口的發送接收中斷。的溢出中斷,串行口的發送接收中斷。n當定時當定時/計數器計數器T0和和T1的定時或計數到了時,硬件自動置位的定時或計數到了時,硬

11、件自動置位TCON的的TF0或或TF1,向,向CPU申申請中斷;請中斷;CPU響應中斷而轉向中斷服務程序時,由硬件自動將響應中斷而轉向中斷服務程序時,由硬件自動將TF0或或TF1清零,即清零,即CPU響響應中斷后能自動撤銷中斷請求信號。應中斷后能自動撤銷中斷請求信號。n當串行口發送或接收一楨數據時,由硬件自動置位當串行口發送或接收一楨數據時,由硬件自動置位SCON的的TI或或RI,以此向,以此向CPU申請中斷申請中斷;CPU響應后,硬件不能自動將響應后,硬件不能自動將TI或或RI清零,必須由用戶采用軟件方法將清零,必須由用戶采用軟件方法將TI或或RI清零,來清零,來撤除中斷請求信號。撤除中斷請

12、求信號。中斷控制寄存器42016-3-9nMCS-51中斷系統在中斷系統在4個特殊功能寄存器下工作。分別是:定時個特殊功能寄存器下工作。分別是:定時/計數器控制寄存器(計數器控制寄存器(TCON)、串行口控制寄存器(、串行口控制寄存器(SCON)、中斷允許控制寄存器()、中斷允許控制寄存器(IE)和中斷優先級控制寄存器(和中斷優先級控制寄存器(IP)TCON中各位定義1.中斷請求控制中斷請求控制(1)TCON中的中斷請求標志位中的中斷請求標志位 TCON為定時為定時/計數器控制寄存器,其字節地址位計數器控制寄存器,其字節地址位88H,可位尋址,位地址范圍,可位尋址,位地址范圍88H8FH。這個

13、寄存器由兩個作用,即除了控制定時這個寄存器由兩個作用,即除了控制定時/計數器計數器T0和和T1的溢出中斷外,還控制外部中斷的觸發的溢出中斷外,還控制外部中斷的觸發方式和鎖存外部中斷請求標志位。方式和鎖存外部中斷請求標志位。MCS-51中斷系統2016-3-9u TCON中各位含義如下:nIT0:外部中斷:外部中斷0(INT0)的觸發方式控制位。當)的觸發方式控制位。當IT0=0時,時,INT0為電平觸發方式,低電平觸為電平觸發方式,低電平觸發有效;當發有效;當IT0=1時,時,0INT為邊沿觸發方式,下降沿觸發有效。為邊沿觸發方式,下降沿觸發有效。nIT1:外部中斷:外部中斷1(INT1)的觸

14、發方式控制位。當)的觸發方式控制位。當IT1=0時,時,1INT為電平觸發方式,低電平觸為電平觸發方式,低電平觸發有效;當發有效;當IT1=1時,時,1INT為邊沿觸發方式,下降沿觸發有效。為邊沿觸發方式,下降沿觸發有效。 MCS-51中斷系統2016-3-9nIE0:外部中斷:外部中斷0(INT0)的中斷請求標志位。當外部中斷)的中斷請求標志位。當外部中斷0(INT0)的觸發請求有效時,硬件)的觸發請求有效時,硬件電路自動將該位置電路自動將該位置1,否則清,否則清0。換句話說,當。換句話說,當IE0=1時,表明外部中斷時,表明外部中斷0正在向正在向CPU申請中斷;申請中斷;當當IE0=0時,

15、則表明外部中斷時,則表明外部中斷0沒有向沒有向CPU申請中斷。當申請中斷。當CPU響應該中斷后,由硬件自動將該位響應該中斷后,由硬件自動將該位清清0,不需用專門的語句將該位清,不需用專門的語句將該位清0。nIE1:外部中斷:外部中斷1(INT1)的中斷請求標志位。當外部中斷)的中斷請求標志位。當外部中斷1(INT1)的觸發請求有效時,硬件)的觸發請求有效時,硬件電路自動將該位置電路自動將該位置1,否則清,否則清0。換句話說,當。換句話說,當IE1=1時,表明外部中斷時,表明外部中斷1正在向正在向CPU申請中斷;申請中斷;當當IE1=0時,則表明外部中斷時,則表明外部中斷1沒有向沒有向CPU申請

16、中斷。當申請中斷。當CPU響應該中斷后,由硬件自動將該位響應該中斷后,由硬件自動將該位清清0,不需用專門的語句將該位清,不需用專門的語句將該位清0。 u TCON中各位含義如下:MCS-51中斷系統2016-3-9nTF0:定時:定時/計數器計數器0(T0)的溢出中斷標志位。當定時)的溢出中斷標志位。當定時/計數器計數器0計滿溢出時,由硬件自動將計滿溢出時,由硬件自動將TF0置置1,并向,并向CPU發出中斷請求,當發出中斷請求,當CPU響應該中斷進入中斷服務程序后,由硬件自動將該響應該中斷進入中斷服務程序后,由硬件自動將該位清位清0,不需用專門的語句將該位清,不需用專門的語句將該位清0。需要說

17、明的是:如果使用定時。需要說明的是:如果使用定時/計數器的中斷功能,則計數器的中斷功能,則該位完全不用人為操作,硬件電路會自動將該位置該位完全不用人為操作,硬件電路會自動將該位置1、清、清0,但是如果中斷被屏蔽,使用軟件,但是如果中斷被屏蔽,使用軟件查詢方式去處理該位時,則需用專門語句將該位清查詢方式去處理該位時,則需用專門語句將該位清0。 nTF1:定時:定時/計數器計數器1(T1)的溢出中斷標志位。其功能及使用方法同)的溢出中斷標志位。其功能及使用方法同TF0。u TCON中各位含義如下:nTR0及及TR1這兩個位與中斷無關,僅與定時這兩個位與中斷無關,僅與定時/計數器有關。計數器有關。M

18、CS-51中斷系統2016-3-9(2)SCON中的中斷請求標志位中的中斷請求標志位 TCON為串行口控制寄存器,其字節地址位為串行口控制寄存器,其字節地址位98H,可位尋址,位地址范圍,可位尋址,位地址范圍98H9FH。串行口的接收和發送數據中斷請求標志位(串行口的接收和發送數據中斷請求標志位(RI和和TI)被鎖存在串行口控制寄存器)被鎖存在串行口控制寄存器SCON中。中。位地址位地址9FH9EH9DH9CH9BH9AH99H98H位定義SM0SM1SM2RENTB8RB8TIRISCON中各位定義MCS-51中斷系統2016-3-9u SCON中TI和RI含義如下:nTI:串行口發送中斷標

19、志位。:串行口發送中斷標志位。CPU將一個數據寫入發送緩沖器將一個數據寫入發送緩沖器SBUF時,就啟動發送,每發時,就啟動發送,每發送完一楨串行數據后,硬件置位送完一楨串行數據后,硬件置位TI。但。但CPU響應中斷時,并不清除響應中斷時,并不清除TI中斷標志,必須在中斷中斷標志,必須在中斷服務程序中由軟件對服務程序中由軟件對TI清零。清零。nRI:串行口接收中斷標志位。在串行口允許接收時,每接收完一楨數據,由硬件自動將串行口接收中斷標志位。在串行口允許接收時,每接收完一楨數據,由硬件自動將RI位位置置1。CPU響應中斷時,并不清楚響應中斷時,并不清楚RI中斷標志,也必須在中斷服務程序中由軟件對

20、中斷標志,也必須在中斷服務程序中由軟件對RI清零。清零。MCS-51中斷系統中斷允許控制22016-3-9u MCS-51對中斷源的開放或屏蔽是由中斷允許控制寄存器(IE)控制的。IE的字節地址位A8H,即可按字節尋址,也可按位尋址,地址范圍為A8HAFH。通過對IE的各位置1或清零操作,實現開放或屏蔽某個中斷。位地址位地址AFHAEHADHACHABHAAHA9HA8H位定義EAESETIEXIET0EX0中斷允許控制寄存器(IE)中的有關位定義MCS-51中斷系統IE有關位定義如下:12016-3-9nEA:即:即Enable All的縮寫,全局中斷允許控制位。當的縮寫,全局中斷允許控制位

21、。當EA=0時,則所有中斷均被禁止;當時,則所有中斷均被禁止;當EA=1時,全局中斷允許打開,在此條件下,由各個中斷源的中斷控制位確定相應的中斷允許或禁止時,全局中斷允許打開,在此條件下,由各個中斷源的中斷控制位確定相應的中斷允許或禁止。換言之,。換言之,EA就是各種中斷源的總開關。就是各種中斷源的總開關。nES:串行口中斷允許控制。當串行口中斷允許控制。當ES=0時,屏蔽所有中斷;當時,屏蔽所有中斷;當ES=1且且EA=1時,開放串行口中斷。時,開放串行口中斷。nEX0:外部中斷:外部中斷0(0INT)的中斷允許位。如果)的中斷允許位。如果EX0置置1,則允許外部中斷,則允許外部中斷0中斷,

22、否則禁止外中斷,否則禁止外部中斷部中斷0中斷。中斷。 MCS-51中斷系統2016-3-9u IE有關位含義義如下:nET0:定時:定時/計數器計數器0的中斷允許位。如果的中斷允許位。如果ET0置置1,則允許定時,則允許定時/計數器計數器0中斷,否則禁止定時中斷,否則禁止定時/計數器計數器0中斷。中斷。nEX1:外部中斷:外部中斷1(1INT)的中斷允許位。如果)的中斷允許位。如果EX1置置1,則允許外部中斷,則允許外部中斷1中斷,否則禁止中斷,否則禁止外部中斷外部中斷1中斷。中斷。nET1:定時:定時/計數器計數器1的中斷允許位。如果的中斷允許位。如果ET1置置1,則允許定時,則允許定時/計

23、數器計數器1中斷,否則禁止定時中斷,否則禁止定時/計數器計數器1中斷。中斷。n例如:如果我們要設置允許外部中斷例如:如果我們要設置允許外部中斷0、定時、定時/計數器計數器1中斷允許,其他中斷不允許,則中斷允許,其他中斷不允許,則IE寄存寄存器各位取值如表器各位取值如表5-3所示。所示。 IE寄存器各位取值MCS-51中斷系統2016-3-9MCS-51中斷系統u 例:若允許片內兩個定時/計數器中斷,禁止其他中斷源的中斷請求,試編寫出設置IE的相應指令n1.用位操作指令用位操作指令 CLR EX0 ;禁止外部中斷禁止外部中斷0中斷中斷 CLR EX1 ;禁止外部中斷禁止外部中斷1中斷中斷 CLR

24、 ES ;禁止串行口中斷禁止串行口中斷 SETB ET0 ;允許定時允許定時/計數器計數器T0中斷中斷 SETB ET1 ;允許定時允許定時/計數器計數器T1中斷中斷 SETB EA ;CPU開中斷開中斷n2.用字節操作指令用字節操作指令 MOV IE, #8AH 或或MOV A8,#8AH ;IE寄存器的字節地址為寄存器的字節地址為A8H2016-3-9u MCS-51單片機有兩個中斷優先級,每一個中斷請求源均可編程為高優先級中斷或低優先級中斷,從而實現兩級中斷嵌套。中斷優先級控制IP3MCS-51中斷系統2016-3-9u SCON中TI和RI含義如下:nTI:串行口發送中斷標志位。:串行口發送中斷標志位。CPU將一個數據寫入發送緩沖器將一個數據寫入發送緩沖器SBUF時,就啟動發送,每發時,就啟動發送,每發送完一楨串行數據后,硬件置位送完一楨串行數據后,硬件置位TI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論