第六章 89C51中斷系統(tǒng)_第1頁
第六章 89C51中斷系統(tǒng)_第2頁
第六章 89C51中斷系統(tǒng)_第3頁
第六章 89C51中斷系統(tǒng)_第4頁
第六章 89C51中斷系統(tǒng)_第5頁
已閱讀5頁,還剩90頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第6章 中斷系統(tǒng)46 6.1 .1 中斷的概念中斷的概念46 6.2 89C51.2 89C51中斷系統(tǒng)結(jié)構(gòu)及中斷控制中斷系統(tǒng)結(jié)構(gòu)及中斷控制46 6.3 .3 中斷響應(yīng)及處理過程中斷響應(yīng)及處理過程 46 6.4 .4 中斷程序舉例中斷程序舉例1返 回5.1 中斷的概念一、中斷一、中斷二、中斷系統(tǒng)二、中斷系統(tǒng)三、中斷源三、中斷源四、中斷請求四、中斷請求五、中斷響應(yīng)過程五、中斷響應(yīng)過程六、中斷服務(wù)六、中斷服務(wù)七、中斷返回七、中斷返回八、中斷方式的特點八、中斷方式的特點2返 回一、中斷4當當CPU正在處理某事件的時候,外部發(fā)正在處理某事件的時候,外部發(fā)生的某一事件請求生的某一事件請求CPU迅速去處理

2、,于迅速去處理,于是是CPU暫時中止當前的工作,轉(zhuǎn)去處理暫時中止當前的工作,轉(zhuǎn)去處理所發(fā)生的事件。中斷服務(wù)處理完該事件所發(fā)生的事件。中斷服務(wù)處理完該事件后,再返回到原來被中止的地方繼續(xù)原后,再返回到原來被中止的地方繼續(xù)原來的工作,這樣的過程稱為中斷。來的工作,這樣的過程稱為中斷。4中斷流程如圖中斷流程如圖5-2所示。所示。3返 回圖6-1 中斷流程4主程序響應(yīng)中斷請求中斷服務(wù)程序返回主程序繼續(xù)執(zhí)行主程序斷點返 回二、中斷系統(tǒng)4實現(xiàn)中斷功能的部件稱為中斷系統(tǒng),又實現(xiàn)中斷功能的部件稱為中斷系統(tǒng),又稱中斷機構(gòu)。稱中斷機構(gòu)。5返 回三、中斷源4產(chǎn)生中斷的請求源稱為中斷源。產(chǎn)生中斷的請求源稱為中斷源。6

3、返 回四、中斷請求4中斷源向中斷源向CPU提出的處理請求,稱為中提出的處理請求,稱為中斷請求或中斷申請。斷請求或中斷申請。7返 回五、中斷響應(yīng)過程4CPU暫時中止自身的事物,轉(zhuǎn)去處理事暫時中止自身的事物,轉(zhuǎn)去處理事件的過程,稱為件的過程,稱為CPU的中斷響應(yīng)過程的中斷響應(yīng)過程8返 回六、中斷服務(wù)4對事件的整個處理過程,稱為中斷服務(wù)對事件的整個處理過程,稱為中斷服務(wù)(或中斷處理)。(或中斷處理)。9返 回七、中斷返回4中斷處理完畢,在返回到原來被中止的中斷處理完畢,在返回到原來被中止的地方,稱為中斷返回地方,稱為中斷返回10返 回八、中斷方式的特點41 1、中斷方式消除了、中斷方式消除了CPUC

4、PU在查詢方式中的在查詢方式中的等待現(xiàn)象,大大提高了等待現(xiàn)象,大大提高了CPUCPU的工作效率。的工作效率。42 2、將從現(xiàn)場采集的數(shù)據(jù)通過中斷方式及、將從現(xiàn)場采集的數(shù)據(jù)通過中斷方式及時傳送給時傳送給CPUCPU,經(jīng)過處理后可立即作出反,經(jīng)過處理后可立即作出反應(yīng),實現(xiàn)現(xiàn)場控制。采用查詢方式很難應(yīng),實現(xiàn)現(xiàn)場控制。采用查詢方式很難做到及時采集,實時控制。做到及時采集,實時控制。11返 回5.2 89C51中斷系統(tǒng)結(jié)構(gòu)及中斷控制45.2.1 89C515.2.1 89C51中斷系統(tǒng)結(jié)構(gòu)中斷系統(tǒng)結(jié)構(gòu)45.2.2 89C515.2.2 89C51中斷源中斷源45.2.3 5.2.3 中斷控制中斷控制12

5、返 回5.2.1 89C51中斷系統(tǒng)結(jié)構(gòu)4一、中斷系統(tǒng)結(jié)構(gòu)一、中斷系統(tǒng)結(jié)構(gòu)4二、中斷技術(shù)實現(xiàn)的功能二、中斷技術(shù)實現(xiàn)的功能13返 回一、中斷系統(tǒng)結(jié)構(gòu)4中斷系統(tǒng)的結(jié)構(gòu)如中斷系統(tǒng)的結(jié)構(gòu)如 圖圖6-3所示。所示。14返 回15二、中斷技術(shù)實現(xiàn)的功能41、分時操作、分時操作42、實時處理、實時處理43、故障處理、故障處理16返 回1、分時操作4計算機的中斷系統(tǒng)可以使CPU與外設(shè)同時工作。4CPU在啟動外設(shè)后,便繼續(xù)執(zhí)行主程序;而外設(shè)被啟動后,開始進行準備工作。當外設(shè)準備就緒時,就向CPU發(fā)出中斷請求,CPU響應(yīng)該中斷請求并為其服務(wù)完畢后,返回原來的斷點處繼續(xù)運行主程序。外設(shè)在得到服務(wù)后,也繼續(xù)進行自己的

6、工作。4因此,CPU可以使多個外設(shè)同時工作,并分時為各外設(shè)提供服務(wù),從而提高了CPU的利用率和輸入和輸出的速度。17返 回2、實時處理4當計算機用于實時控制時,請求當計算機用于實時控制時,請求CPU提提供服務(wù)時隨機發(fā)生的。有了中斷系統(tǒng),供服務(wù)時隨機發(fā)生的。有了中斷系統(tǒng),CPU就可以立即響應(yīng)并加以處理。就可以立即響應(yīng)并加以處理。18返 回3、故障處理4計算機在運行時往往會出現(xiàn)一些故障,計算機在運行時往往會出現(xiàn)一些故障,如斷電、存儲器奇偶校驗出錯、運算溢如斷電、存儲器奇偶校驗出錯、運算溢出等。出等。4有了中斷系統(tǒng),當出現(xiàn)上述情況時,有了中斷系統(tǒng),當出現(xiàn)上述情況時,CPU可及時轉(zhuǎn)去執(zhí)行故障處理程序,

7、自可及時轉(zhuǎn)去執(zhí)行故障處理程序,自行處理故障而不必停機。行處理故障而不必停機。19返 回5.2.2 89C51中斷源4一、一、89C51中斷系統(tǒng)的五個中斷源中斷系統(tǒng)的五個中斷源4二、通常情況的中斷源二、通常情況的中斷源20返 回一、89C51中斷系統(tǒng)的五個中斷源1、INT0外部中斷外部中斷0請求,低電平有效。通過請求,低電平有效。通過P3.2引腳輸入。引腳輸入。2、INT1外部中斷外部中斷1請求,低電平有效。通過請求,低電平有效。通過P3.3引腳輸入。引腳輸入。3、T0定時器定時器/計數(shù)器計數(shù)器0溢出中斷請求。溢出中斷請求。4、T1定時器定時器/計數(shù)器計數(shù)器1溢出中斷請求。溢出中斷請求。5、TX

8、/RX串行口中斷請求。當串行口完成一幀數(shù)串行口中斷請求。當串行口完成一幀數(shù)據(jù)的發(fā)送或接收時,便請求中斷。據(jù)的發(fā)送或接收時,便請求中斷。21返 回二、通常情況的中斷源41、I/O外設(shè)外設(shè)42、硬件故障、硬件故障43、實時時鐘、實時時鐘44、為調(diào)試程序而設(shè)定的中斷源、為調(diào)試程序而設(shè)定的中斷源22返 回5.2.3 中斷控制4一、中斷請求標志一、中斷請求標志4二、中斷允許控制二、中斷允許控制4三、中斷優(yōu)先級控制三、中斷優(yōu)先級控制23返 回一、中斷請求標志1、定時器控制寄存器、定時器控制寄存器TCON中的中斷中的中斷標志位標志位2、串行口控制寄存器、串行口控制寄存器SCON中的中斷標中的中斷標志位志位2

9、4返 回1、TCON中的中斷標志位&TCON為定時器為定時器/計數(shù)器計數(shù)器T0和和T1的控制的控制器,同時也鎖存器,同時也鎖存T0和和T1的溢出中斷標的溢出中斷標志及外部中斷志及外部中斷0和和1的中斷標志等。的中斷標志等。&與中斷有關(guān)的位如與中斷有關(guān)的位如圖圖6-4所示。所示。&各控制位的含義。各控制位的含義。25返 回 圖6-4 TCON中的中斷標志位26TF1TF0IE1IT1IE0IT0 TCON(88H)8FH 8EH 8DH 8CH 8BH 8AH 89H 88H返 回各控制位的含義1、TF1:定時器:定時器/計數(shù)器計數(shù)器T1溢出中斷請求標志位。溢出中斷請求標

10、志位。 當啟動當啟動T1計數(shù)后,計數(shù)后,T1從初值開始加從初值開始加1計數(shù),計計數(shù),計數(shù)器最高位數(shù)器最高位產(chǎn)生溢出產(chǎn)生溢出時,由硬件使時,由硬件使TF1置置1,并向并向CPU發(fā)出中斷請求。當發(fā)出中斷請求。當CPU響應(yīng)中斷響應(yīng)中斷時,時,硬件將自動對硬件將自動對TF1清清0。2、TF0:定時器:定時器/計數(shù)器計數(shù)器T0溢出中斷請求標志位。溢出中斷請求標志位。 含義與含義與TF1類同。類同。 27各控制位的含義3、IE1:外部中斷外部中斷1的中斷請求標志的中斷請求標志。 INT1(P3.3)。)。 當檢測到外部當檢測到外部中斷引腳中斷引腳1 上存在有效的上存在有效的中斷請求中斷請求信號信號時,由硬

11、件使時,由硬件使IE1置置1。當。當CPU響應(yīng)中斷響應(yīng)中斷請請求時,由硬件使求時,由硬件使IE1清清0。 4、IE0:外部中斷:外部中斷0的中斷請求標志。的中斷請求標志。INT0(P3.2)。)。 其含義與其含義與IE1類同。類同。 28各控制位的含義5、IT1:外部中斷:外部中斷1的中斷觸發(fā)方式控制位。的中斷觸發(fā)方式控制位。 IT1=0時,外部中斷時,外部中斷1程控為電平觸發(fā)方式。程控為電平觸發(fā)方式。 CPU在每一個機器周期在每一個機器周期S5P2期間采樣外期間采樣外部中斷請求引腳的輸入電平。若外部部中斷請求引腳的輸入電平。若外部中斷中斷1請求為請求為低電平低電平,則使,則使IE1置置1;若

12、;若為為高電平高電平,則使,則使IE1清清0。 29各控制位的含義5、IT1:外部中斷:外部中斷1的中斷觸發(fā)方式控制位。的中斷觸發(fā)方式控制位。 IT1=1時,外部中斷時,外部中斷1程控為邊沿觸發(fā)方式。程控為邊沿觸發(fā)方式。 CPU在每一個機器周期在每一個機器周期S5P2期間采樣外部期間采樣外部中斷請求引腳的輸入電平。如果在相繼的兩中斷請求引腳的輸入電平。如果在相繼的兩個機器周期采樣過程中,個機器周期采樣過程中,一個機器周期一個機器周期采樣采樣到外部中斷到外部中斷1請求引腳為請求引腳為高電平高電平,接著的,接著的下一下一個機器周期個機器周期采樣到為采樣到為低電平低電平,則使,則使IE1置置1。直到

13、直到CPU響應(yīng)該中斷時響應(yīng)該中斷時,才由硬件使才由硬件使IE1清清0。 30各控制位的含義6、IT0:外部中斷:外部中斷0的中斷觸發(fā)方式控制位。的中斷觸發(fā)方式控制位。 其含義與其含義與IT1類同。類同。 31返 回2、SCON中的中斷標志位4SCON為串行口控制寄存器,其低為串行口控制寄存器,其低2位鎖位鎖存串行口的接收中斷和發(fā)送中斷標志存串行口的接收中斷和發(fā)送中斷標志RI和和TI。4SCON中中TI和和RI的格式如圖的格式如圖6-5所示。所示。4其控制位的含義其控制位的含義32返 回 SCON中的中斷標志位33TIRI SCON(98H)9FH 9EH 9DH 9CH 9BH 9AH 99H

14、 98H返 回SCON中控制位的含義1、TI:串行口發(fā)送中斷請求標志。:串行口發(fā)送中斷請求標志。 CPU將一個數(shù)據(jù)寫入發(fā)送緩沖器將一個數(shù)據(jù)寫入發(fā)送緩沖器SBUF時,就啟動發(fā)送。時,就啟動發(fā)送。每發(fā)送完一幀串每發(fā)送完一幀串行數(shù)據(jù)后行數(shù)據(jù)后,硬件置位硬件置位TI。但。但CPU響應(yīng)中響應(yīng)中斷時,并不清除斷時,并不清除TI,必須在中斷服務(wù)程必須在中斷服務(wù)程序中由軟件對序中由軟件對TI清清0。34SCON中控制位的含義2、RI:串行口接收中斷請求標志。:串行口接收中斷請求標志。 在串行口允許接收時,在串行口允許接收時,每接收完每接收完一個串行幀一個串行幀,硬件置位硬件置位RI。同樣,。同樣,CPU響應(yīng)中

15、斷時不會清除響應(yīng)中斷時不會清除RI,必必須在中斷服務(wù)程序中由軟件對須在中斷服務(wù)程序中由軟件對RI清清0。35返 回二、中斷允許控制1、中斷允許寄存器、中斷允許寄存器IE的格式。的格式。2、中斷允許寄存器、中斷允許寄存器IE中各位的含義。中各位的含義。3、例、例5-136返 回1、中斷允許控制寄存器IE37EAESET1EX1ET0EX0 IE(A8H)AFH AEH ADH ACH ABH AAH A9H A8H返 回2、IE中各位的含義。EA中斷允許總控制位。中斷允許總控制位。 EA=0,屏蔽屏蔽所有的中斷請求;所有的中斷請求; EA=1,CPU開放開放中斷。對各中斷源的中中斷。對各中斷源的

16、中斷請求是否允許,還要取決于各斷請求是否允許,還要取決于各中斷源的中斷允許控制位的狀態(tài)。中斷源的中斷允許控制位的狀態(tài)。這就是所謂的兩級控制。這就是所謂的兩級控制。382、IE中各位的含義。ES串行口中斷允許位。串行口中斷允許位。 ES=0,禁止串行口禁止串行口中斷;中斷; ES=1,允許串行口允許串行口中斷。中斷。392、IE中各位的含義ET1定時器定時器/計數(shù)器計數(shù)器T1的溢出中斷允許的溢出中斷允許位。位。 ET1=0,禁止禁止T1中斷;中斷; ET1=1,允許允許T1中斷。中斷。402、IE中各位的含義。EX1外部中斷外部中斷1的溢出中斷允許位。的溢出中斷允許位。 EX1=0,禁止外部中斷

17、禁止外部中斷1中斷;中斷; EX1=1,允許外部中斷允許外部中斷1中斷。中斷。412、IE中各位的含義。ET0定時器定時器/計數(shù)器計數(shù)器T0的溢出中斷允許的溢出中斷允許位。位。 ET0=0,禁止禁止T0中斷;中斷; ET0=1,允許允許T0中斷。中斷。422、IE中各位的含義。EX0外部中斷外部中斷0的溢出中斷允許位。的溢出中斷允許位。 EX0=0,禁止外部中斷禁止外部中斷0中斷;中斷; EX0=1,允許外部中斷允許外部中斷0中斷。中斷。43返 回例6-1假設(shè)允許片內(nèi)定時器假設(shè)允許片內(nèi)定時器/計數(shù)器中斷,計數(shù)器中斷,禁止其他中斷。試根據(jù)假設(shè)條件設(shè)置禁止其他中斷。試根據(jù)假設(shè)條件設(shè)置IE的相應(yīng)值。

18、的相應(yīng)值。解解:(:(IE)=10001010B=8AH(a)用字節(jié)操作指令)用字節(jié)操作指令MOV IE,#8AH;或;或 MOV A8H,#8AH;(b)用位操作指令)用位操作指令SETB ET0;定時器;定時器/計數(shù)器計數(shù)器0允許中斷允許中斷SETB ET1;定時器;定時器/計數(shù)器計數(shù)器1允許中斷允許中斷SETB EA ;CPU開中斷開中斷44返 回三、中斷優(yōu)先級控制1、89C51的中斷優(yōu)先級的中斷優(yōu)先級2、中斷優(yōu)先級寄存器、中斷優(yōu)先級寄存器IP3、中斷優(yōu)先級排列順序、中斷優(yōu)先級排列順序4、中斷優(yōu)先級控制實現(xiàn)的功能、中斷優(yōu)先級控制實現(xiàn)的功能5、例、例6-245返 回1、89C51的中斷優(yōu)先

19、級89C51有兩個中斷優(yōu)先級。有兩個中斷優(yōu)先級。每個中斷請求源均可編程為高優(yōu)先級中斷或低優(yōu)先級每個中斷請求源均可編程為高優(yōu)先級中斷或低優(yōu)先級中斷。中斷。中斷系統(tǒng)中有兩個不可尋址的中斷系統(tǒng)中有兩個不可尋址的“優(yōu)先級生效優(yōu)先級生效”觸發(fā)器,觸發(fā)器,分別指出分別指出CPU正在執(zhí)行的高、低優(yōu)先級的中斷服務(wù)程正在執(zhí)行的高、低優(yōu)先級的中斷服務(wù)程序。當其為序。當其為1時則分別屏蔽所有的中斷請求。時則分別屏蔽所有的中斷請求。46返 回2、中斷優(yōu)先級寄存器IP中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器IP的格式的格式中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器IP各控制位的含義各控制位的含義47返 回中斷優(yōu)先級寄存器IP的格式48P

20、SPT1PX1PT0PX0 IP(B8H) BCH BBH BAH B9H B8H返 回中斷優(yōu)先級寄存器IP各控制位的含義1PS串行口中斷優(yōu)先級控制位串行口中斷優(yōu)先級控制位1PT1定時器定時器/計數(shù)器計數(shù)器T1中斷優(yōu)先級控制位中斷優(yōu)先級控制位1PX1外部中斷外部中斷1中斷優(yōu)先級控制位中斷優(yōu)先級控制位1PT0定時器定時器/計數(shù)器計數(shù)器T0中斷優(yōu)先級控制位中斷優(yōu)先級控制位1PX0外部中斷外部中斷0中斷優(yōu)先級控制位中斷優(yōu)先級控制位1若某控制位為若某控制位為1,則相應(yīng)的中斷源規(guī)定為高級中斷;,則相應(yīng)的中斷源規(guī)定為高級中斷;反之,為反之,為0,則相應(yīng)的中斷源規(guī)定為低級中斷。,則相應(yīng)的中斷源規(guī)定為低級中斷

21、。49返 回3、中斷優(yōu)先級排列順序4當同時接收到幾個同一優(yōu)先級的中斷請當同時接收到幾個同一優(yōu)先級的中斷請求時,響應(yīng)哪個中斷源則取決于內(nèi)部硬求時,響應(yīng)哪個中斷源則取決于內(nèi)部硬件查詢順序。件查詢順序。4其優(yōu)先級順序排列如其優(yōu)先級順序排列如 圖圖5-8所示。所示。50返 回圖6-8 優(yōu)先級排列順序中斷源中斷源同級內(nèi)的中斷優(yōu)先同級內(nèi)的中斷優(yōu)先級級外部中斷外部中斷0中斷中斷 高級高級定時器定時器/計數(shù)器計數(shù)器T0溢出中斷溢出中斷外部中斷外部中斷1定時器定時器/計數(shù)器計數(shù)器T1溢出中斷溢出中斷串行口中斷串行口中斷 低級低級51返 回4、中斷優(yōu)先級控制實現(xiàn)的功能4(1)按內(nèi)部查詢順序排隊)按內(nèi)部查詢順序排隊

22、4(2)實現(xiàn)中斷嵌套)實現(xiàn)中斷嵌套52返 回(1)按內(nèi)部查詢順序排隊4當數(shù)個中斷源同時向當數(shù)個中斷源同時向CPU發(fā)出中斷請求發(fā)出中斷請求時,時,CPU根據(jù)設(shè)計者事先確定的中斷源根據(jù)設(shè)計者事先確定的中斷源順序號的次序,一次響應(yīng)其中斷請求。順序號的次序,一次響應(yīng)其中斷請求。53返 回(2)實現(xiàn)中斷嵌套n當當CPU正在處理一個中斷請求時,又出現(xiàn)了另一正在處理一個中斷請求時,又出現(xiàn)了另一個優(yōu)先級比它高的中斷請求,這時,個優(yōu)先級比它高的中斷請求,這時,CPU就暫時就暫時中止執(zhí)行對原來優(yōu)先級較低的中斷源的服務(wù)程序,中止執(zhí)行對原來優(yōu)先級較低的中斷源的服務(wù)程序,保護當前斷點,轉(zhuǎn)去響應(yīng)優(yōu)先級更高的中斷請求,保護

23、當前斷點,轉(zhuǎn)去響應(yīng)優(yōu)先級更高的中斷請求,并為它服務(wù)。待服務(wù)結(jié)束,再繼續(xù)執(zhí)行原來較低級并為它服務(wù)。待服務(wù)結(jié)束,再繼續(xù)執(zhí)行原來較低級的中斷服務(wù)程序。該過程稱為中斷嵌套。該中斷系的中斷服務(wù)程序。該過程稱為中斷嵌套。該中斷系統(tǒng)稱為多級中斷系統(tǒng)。統(tǒng)稱為多級中斷系統(tǒng)。n二級中斷嵌套的中斷過程如二級中斷嵌套的中斷過程如 圖圖6-9 所示所示。54返 回圖6-9 二級中斷嵌套55返 回CPU在執(zhí)行主程序在執(zhí)行主程序低級中低級中斷請求斷請求響應(yīng)低級中斷請求響應(yīng)低級中斷請求CPU執(zhí)行低級執(zhí)行低級中斷服務(wù)程序中斷服務(wù)程序高級中高級中斷請求斷請求響應(yīng)高級中斷請求響應(yīng)高級中斷請求CPU執(zhí)行高級執(zhí)行高級中斷服務(wù)程序中斷服

24、務(wù)程序返回低級中斷程序返回低級中斷程序返回主程序返回主程序例例6-26-2 設(shè)設(shè)8031的片外中斷為高優(yōu)先級,的片外中斷為高優(yōu)先級,片內(nèi)中斷為低優(yōu)先級。設(shè)置片內(nèi)中斷為低優(yōu)先級。設(shè)置IP相應(yīng)值。相應(yīng)值。解:(解:(IP)=00000101B=05H(a)用字節(jié)操作指令用字節(jié)操作指令 MOV IP,#05H;或;或 MOV 0B8H,#05H;(b)用為操作指令用為操作指令 SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT156返 回6.3 中斷響應(yīng)及處理過程46 6.3.1 .3.1 中斷處理過程的三個階段中斷處理過程的三個階段46 6.3.2 .3.2 中斷響應(yīng)中

25、斷響應(yīng)46 6.3.3 .3.3 中斷處理中斷處理46 6.3.4 .3.4 中斷返回中斷返回 57返 回6.3.1 中斷處理過程的三個階段4中斷處理過程可分為:中斷處理過程可分為:4中斷響應(yīng)中斷響應(yīng)4中斷處理中斷處理 4中斷返回中斷返回 4中斷處理的大致流程如中斷處理的大致流程如 圖圖 6-10所示。所示。58返 回圖6-10 中斷處理的大致流程59返 回主程序主程序保護現(xiàn)場保護現(xiàn)場為外設(shè)服務(wù)為外設(shè)服務(wù)恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場NKN+mK+1返回返回中中 斷斷 處處 理理6.3.2 中斷響應(yīng)4一、一、中斷響應(yīng)條件中斷響應(yīng)條件4二、中斷響應(yīng)操作過程二、中斷響應(yīng)操作過程4三、中斷響應(yīng)時間三、中斷響應(yīng)時間

26、60返 回一、中斷響應(yīng)條件有中斷源發(fā)出中斷請求。有中斷源發(fā)出中斷請求。中斷總允許位中斷總允許位EA=1,即,即CPU中斷。中斷。申請中斷的中斷源的中斷允許位為申請中斷的中斷源的中斷允許位為1,即中斷,即中斷沒有被屏蔽。沒有被屏蔽。無同級或更高級中斷正在被服務(wù)。無同級或更高級中斷正在被服務(wù)。當前的指令周期已經(jīng)結(jié)束。當前的指令周期已經(jīng)結(jié)束。若現(xiàn)行指令為若現(xiàn)行指令為RETI或是訪問或是訪問IE或或IP指令時,指令時,該指令以及緊接著的另一條指令已執(zhí)行完。該指令以及緊接著的另一條指令已執(zhí)行完。61返 回二、中斷響應(yīng)操作過程41、中斷響應(yīng)操作過程中斷響應(yīng)操作過程42 2、各中斷源及其對應(yīng)的矢量地址、各中

27、斷源及其對應(yīng)的矢量地址62返 回1、中斷響應(yīng)操作過程 把當前把當前PC值壓入堆棧,保護斷點。值壓入堆棧,保護斷點。 將相應(yīng)的中斷服務(wù)程序的入口地址將相應(yīng)的中斷服務(wù)程序的入口地址送入送入PC。 對有些中斷源,對有些中斷源,CPU會自動清除中會自動清除中斷標志。斷標志。 執(zhí)行中斷服務(wù)程序。執(zhí)行中斷服務(wù)程序。 執(zhí)行到返回指令執(zhí)行到返回指令RETI,中斷服務(wù)程,中斷服務(wù)程序結(jié)束,將堆棧內(nèi)容彈出到序結(jié)束,將堆棧內(nèi)容彈出到PC,返,返回到原來斷點繼續(xù)執(zhí)行?;氐皆瓉頂帱c繼續(xù)執(zhí)行。63返 回2、各中斷源及其對應(yīng)的矢量地址中斷源中斷矢量外部中斷 0(INT0)0003H定時器 T0 中斷000BH外部中斷 1(

28、INT1)0013H定時器 T1 中斷001BH串行口中斷0023H64返 回三、中斷響應(yīng)時間4CPUCPU不是在任何情況下都對中斷請求予不是在任何情況下都對中斷請求予以響應(yīng),而不同的情況下對中斷響應(yīng)的以響應(yīng),而不同的情況下對中斷響應(yīng)的時間是不同的。時間是不同的。4對于順利的中斷響應(yīng),其最短的響應(yīng)時對于順利的中斷響應(yīng),其最短的響應(yīng)時間為間為3 3個機器周期。個機器周期。4對于受阻的中斷響應(yīng),則響應(yīng)時間會更對于受阻的中斷響應(yīng),則響應(yīng)時間會更長一些。長一些。4若中斷系統(tǒng)只有一個中斷源,則響應(yīng)時若中斷系統(tǒng)只有一個中斷源,則響應(yīng)時間為間為3 38 8個機器周期之間。個機器周期之間。65返 回6.3.3

29、 中斷處理4一、什么是中斷處理一、什么是中斷處理4二、中斷處理包括的內(nèi)容二、中斷處理包括的內(nèi)容4三、編寫中斷服務(wù)程序時的注意問題三、編寫中斷服務(wù)程序時的注意問題66返 回一、什么是中斷處理4CPU響應(yīng)中斷后即轉(zhuǎn)入中斷服務(wù)程序的響應(yīng)中斷后即轉(zhuǎn)入中斷服務(wù)程序的入口,執(zhí)行中斷服務(wù)程序。從入口,執(zhí)行中斷服務(wù)程序。從中斷服務(wù)中斷服務(wù)程序的第一條指令程序的第一條指令開始到開始到返回指令返回指令為止,為止,這個過程稱為中斷處理或中斷服務(wù)這個過程稱為中斷處理或中斷服務(wù)。67返 回二、中斷處理包括的內(nèi)容4不同的中斷源服務(wù)的內(nèi)容及要求各不相同,其處理過不同的中斷源服務(wù)的內(nèi)容及要求各不相同,其處理過程也就有所區(qū)別。

30、一般情況,中斷處理包括兩部分內(nèi)程也就有所區(qū)別。一般情況,中斷處理包括兩部分內(nèi)容:容:41、保護現(xiàn)場:、保護現(xiàn)場:如在中斷服務(wù)程序中要用到PSW、工作寄存器和SFR等寄存器時,則在進入中斷服務(wù)之前應(yīng)將它們的內(nèi)容保護起來,在中斷結(jié)束、執(zhí)行RETI指令前應(yīng)恢復(fù)現(xiàn)場。42、為中斷源服務(wù):、為中斷源服務(wù):針對中斷源的具體要求進行相應(yīng)的處理。68返 回三、編寫中斷服務(wù)程序時的注意問題在中斷矢量地址單元處放一條無條件轉(zhuǎn)移指令,使中斷服務(wù)程序可靈活地安排在64KB ROM的任何空間。在中斷服務(wù)程序中,應(yīng)注意用軟件保護現(xiàn)場,以免中斷返回后丟失原來寄存器、累加器中的信息。若要在執(zhí)行當前中斷程序時禁止更高優(yōu)先級中斷

31、,可以先用軟件關(guān)閉CPU中斷或禁止某中斷源中斷,在中斷返回前再開放中斷。69返 回6.3.4 中斷返回4在中斷服務(wù)程序中,最后一條指令必須為中斷返回在中斷服務(wù)程序中,最后一條指令必須為中斷返回指令指令RETI。4CPU執(zhí)行該指令時,一方面清除中斷響應(yīng)時所置位執(zhí)行該指令時,一方面清除中斷響應(yīng)時所置位的的“優(yōu)先級生效優(yōu)先級生效”觸發(fā)器,另一方面從當前棧頂彈出觸發(fā)器,另一方面從當前棧頂彈出斷點地址送入程序計數(shù)器斷點地址送入程序計數(shù)器PC,從而返回住程序。,從而返回住程序。4注意在中斷服務(wù)程序中,注意在中斷服務(wù)程序中,PUSH和和POP指令必須成對指令必須成對使用,否則,不能正確返回斷點。使用,否則,

32、不能正確返回斷點。70返 回6.4 外部中斷擴展方法489C51單片機有兩個外部中斷親求請求輸入端(INT0和INT1)。實際應(yīng)用中,若外部中斷源有兩個以上,則需要擴展外部中斷源。5.5.1 5.5.1 利用定時器擴展外部中斷源利用定時器擴展外部中斷源5.5.2 5.5.2 中斷加查詢擴展外部中斷源中斷加查詢擴展外部中斷源71返 回6.5 中斷程序舉例46 6.6.1 .6.1 主程序主程序46 6.6.2 .6.2 中斷服務(wù)程序中斷服務(wù)程序46 6.6.3 .6.3 中斷服務(wù)程序舉例中斷服務(wù)程序舉例72返 回6.5.1 主程序1、主程序的起始地址、主程序的起始地址2、主程序的初始化內(nèi)容、主程

33、序的初始化內(nèi)容73返 回1、主程序的起始地址4MCS-51系列單片機系列單片機復(fù)位復(fù)位后,后,(PC)=0000H4而而0003H002BH分別為各分別為各中斷源的入中斷源的入口地址口地址。4編程時應(yīng)在編程時應(yīng)在0000H處寫一條處寫一條跳轉(zhuǎn)指令跳轉(zhuǎn)指令(一般為長跳轉(zhuǎn)指令),(一般為長跳轉(zhuǎn)指令),主程序是以跳主程序是以跳轉(zhuǎn)的目標地址作為起始地址開始編寫轉(zhuǎn)的目標地址作為起始地址開始編寫,一般從一般從003H開始,如開始,如 圖圖5-12所示。所示。74返 回750000HLJMP00300030H主程序主程序圖圖6-12 主程序地址主程序地址返 回2、主程序的初始化內(nèi)容4初始化:將用到的內(nèi)部部件

34、或擴展芯片進行初始工作狀態(tài)設(shè)定。4單片機復(fù)位后,特殊功能寄存器IE、IP內(nèi)容均為00H,所以應(yīng)對所以應(yīng)對IE、IP進行初始進行初始化編程,以開放中斷,允許某些中斷源化編程,以開放中斷,允許某些中斷源中斷和設(shè)置中斷優(yōu)先級等中斷和設(shè)置中斷優(yōu)先級等。76返 回6.5.2 中斷服務(wù)程序4當CPU接收到中斷請求信號并予以響應(yīng)后,CPU把當前的PC內(nèi)容壓入堆棧進行保護,然后轉(zhuǎn)入響應(yīng)的中斷服務(wù)程序入口處執(zhí)行。1、中斷服務(wù)程序的起始地址、中斷服務(wù)程序的起始地址2、中斷服務(wù)程序編制中的注意事項、中斷服務(wù)程序編制中的注意事項77返 回1、中斷服務(wù)程序的起始地址4中斷系統(tǒng)對五個中斷源分別規(guī)定了各自的入口地址,中斷系

35、統(tǒng)對五個中斷源分別規(guī)定了各自的入口地址,但這些入口地址相距很近(但這些入口地址相距很近(8個字節(jié))。個字節(jié))。4如中斷服務(wù)程序的指令代碼少于如中斷服務(wù)程序的指令代碼少于8個字節(jié),則可從規(guī)定個字節(jié),則可從規(guī)定的中斷服務(wù)程序入口地址開始,直接編寫中斷服務(wù)程的中斷服務(wù)程序入口地址開始,直接編寫中斷服務(wù)程序;序;4如中斷服務(wù)程序的指令代碼大于如中斷服務(wù)程序的指令代碼大于8個字節(jié),則應(yīng)采用與個字節(jié),則應(yīng)采用與主程序相同的方法,在相應(yīng)的入口處寫一條跳轉(zhuǎn)指令,主程序相同的方法,在相應(yīng)的入口處寫一條跳轉(zhuǎn)指令,并以跳轉(zhuǎn)指令的目標地址作為中斷服務(wù)程序的起始地并以跳轉(zhuǎn)指令的目標地址作為中斷服務(wù)程序的起始地址進行編程

36、。址進行編程。781、中斷服務(wù)程序的起始地址4以以INT0為例,中斷矢量地址為為例,中斷矢量地址為0003H,中斷服務(wù)程序從中斷服務(wù)程序從0200H開始。如開始。如 圖圖6-13所示。所示。79返 回800003HLJMP02000200H中斷服中斷服務(wù)程序務(wù)程序圖圖6-13 中斷服務(wù)程序地址中斷服務(wù)程序地址返 回2、中斷服務(wù)程序編制中的注意事項 視需要確定是否保護現(xiàn)場。 及時清除那些不能被硬件自動清除的中斷請求標志,以免產(chǎn)生錯誤的中斷。 中斷服務(wù)程序中的壓棧與彈棧指令必須成對使用,以確保中斷服務(wù)程序的正確返回。 主程序和中斷服務(wù)程序之間的參數(shù)傳遞與主程序和子程序的參數(shù)傳遞方式相同。81返 回

37、5.6.3 中斷服務(wù)程序舉例4例例6-3外部中斷實驗外部中斷實驗4例例6-4 利用中斷顯示系統(tǒng)故障利用中斷顯示系統(tǒng)故障82返 回83P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0INT08031 +5V+5V+5V+5V+5V12S1圖圖614 外部中斷實驗外部中斷實驗返 回例6-3 外部中斷實驗 如如 圖圖6-14所示,將所示,將P1口的口的P1.4P1.7作為作為輸入輸入位,位, P1.0P1.3作為作為輸出輸出位。位。 要求要求: (1) 利用利用8031將開關(guān)所設(shè)的數(shù)據(jù)讀入單片將開關(guān)所設(shè)的數(shù)據(jù)讀入單片機內(nèi),并依次通過機內(nèi),并依次通過P1.0P1.3輸出,驅(qū)動發(fā)光二輸出,驅(qū)動發(fā)光二極管,以檢查極管,以檢查P1.4P1.7輸入的電平情況(若輸輸入的電平情況(若輸入為高電平則相應(yīng)的入為高電平則相應(yīng)的LED亮)。亮)。 (2) 采用中斷邊沿觸發(fā)方式,每中斷一次,采用中斷邊沿觸發(fā)方式,每中斷一次,完成一次讀完成一次讀/寫操作。寫操作。 84返 回例6-3解解:如圖所示,采用外部中斷如圖所示,采用外部中斷0,中斷申請從,中斷申請從INT0輸入,并采用了去抖動電路。輸入,并采用了去抖動電路。 當當P1.

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論