單片機原理及應用第五章ppt課件_第1頁
單片機原理及應用第五章ppt課件_第2頁
單片機原理及應用第五章ppt課件_第3頁
單片機原理及應用第五章ppt課件_第4頁
單片機原理及應用第五章ppt課件_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第五章第五章 中斷系統(tǒng)中斷系統(tǒng)5.1 中斷概述 中斷是指中斷是指CPUCPU對系統(tǒng)或系統(tǒng)外發(fā)生的某個事件對系統(tǒng)或系統(tǒng)外發(fā)生的某個事件的一種響應過程,即的一種響應過程,即CPUCPU暫時停止現(xiàn)行程序的執(zhí)暫時停止現(xiàn)行程序的執(zhí)行,而自動轉(zhuǎn)去執(zhí)行預先安排好的處理該事件的行,而自動轉(zhuǎn)去執(zhí)行預先安排好的處理該事件的服務子程序,處理結(jié)束后再返回被暫停處繼續(xù)執(zhí)服務子程序,處理結(jié)束后再返回被暫停處繼續(xù)執(zhí)行原來的程序。行原來的程序。 實現(xiàn)這種中斷功能的硬件系統(tǒng)和軟件系統(tǒng)統(tǒng)實現(xiàn)這種中斷功能的硬件系統(tǒng)和軟件系統(tǒng)統(tǒng)統(tǒng)稱為中斷系統(tǒng)。統(tǒng)稱為中斷系統(tǒng)。引起引起CPU中斷的根源,稱為中斷源。中斷源向中斷的根源,稱為中斷源。中斷

2、源向CPU提提出的中斷請求。出的中斷請求。CPU暫時中斷原來的事務暫時中斷原來的事務A,轉(zhuǎn)去處理事,轉(zhuǎn)去處理事件件B。對事件。對事件B處理完畢后,再回到原來被中斷的地方即處理完畢后,再回到原來被中斷的地方即斷點),稱為中斷返回。實現(xiàn)上述中斷功能的部件稱為中斷點),稱為中斷返回。實現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)中斷機構(gòu))。斷系統(tǒng)中斷機構(gòu))。 一個單片機系統(tǒng)可能有多個中斷源,而單片機CPU在某一時刻只能響應一個中斷源的中斷請求,當多個中斷源同時向CPU發(fā)出中斷請求時,則必須按照“優(yōu)先級別進行排隊,CPU首先選定其中中斷級別高的中斷源為其服務,然后按排隊順序逐一服務,完畢后返回斷點地址,繼續(xù)執(zhí)行主

3、程序。 分時操作。CPU可以分時為多個I/O設備服務,提高了計算機的利用率;實時響應。實時響應。CPU能夠及時處理應用系統(tǒng)的隨機事能夠及時處理應用系統(tǒng)的隨機事件,系統(tǒng)的實時性大大增強;件,系統(tǒng)的實時性大大增強;可靠性高??煽啃愿?。CPU具有處理設備故障及掉電等突發(fā)具有處理設備故障及掉電等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。性事件能力,從而使系統(tǒng)可靠性提高。優(yōu)點:優(yōu)點:中斷系統(tǒng)應考慮的基本問題:中斷系統(tǒng)應考慮的基本問題:中斷源:中斷請求信號的來源。中斷源:中斷請求信號的來源。中斷響應與返回:中斷響應與返回:CPUCPU響應中斷后轉(zhuǎn)去執(zhí)響應中斷后轉(zhuǎn)去執(zhí)行特定中斷服務程序及執(zhí)行完畢后返回原行特定中

4、斷服務程序及執(zhí)行完畢后返回原執(zhí)行的程序。執(zhí)行的程序。優(yōu)先級控制:多個中斷提出請求時,優(yōu)先級控制:多個中斷提出請求時,CPU CPU 響應的次序。響應的次序。 中斷與調(diào)用子程序的區(qū)別:子程序的執(zhí)行是由程序員事先安排好的由一條調(diào)用子程序指令來轉(zhuǎn)入),而中斷服務程序是由隨機的中斷事件引起的;子程序的執(zhí)行受到主程序或上一級子程序的控制,而中斷服務程序一般與被中斷的程序毫無關系;有可能發(fā)生多個中斷事件同時請求CPU服務的情況。 中斷的作用: 中斷作為一項重要的計算機技術(shù),在計算機中得到了廣泛的應用。中斷技術(shù)實質(zhì)上就是一種資源共享技術(shù),其主要作用如下: 中斷技術(shù)能實現(xiàn)CPU與多個外部設備并行工作,提高了C

5、PU的利用率及數(shù)據(jù)的輸入/輸出效率; 中斷技術(shù)能對計算機運行過程中某個事件的出現(xiàn)或突然發(fā)生的故障,做到及時發(fā)現(xiàn)并進行自動處理,即實現(xiàn)實時處理; 中斷技術(shù)能使我們通過鍵盤發(fā)出請求,隨時對運行中的計算機進行干預,即可以實現(xiàn)人機聯(lián)系; 實現(xiàn)多道程序的切換運行; 在多機系統(tǒng)中,實現(xiàn)各處理機之間的信息交換和任務切換。5.2 AT89C515.2 AT89C51中斷系統(tǒng)中斷系統(tǒng) 5.2.1 中斷源及中斷系統(tǒng)構(gòu)成中斷源及中斷系統(tǒng)構(gòu)成 51子系列提供子系列提供5個中斷源,具有兩個優(yōu)先個中斷源,具有兩個優(yōu)先級,可形成中斷嵌套。級,可形成中斷嵌套。/INT0:外部中斷:外部中斷0,P3.2口,低電平或下降口,低電

6、平或下降沿觸發(fā)。沿觸發(fā)。/INT1:外部中斷:外部中斷1,P3.3口,低電口,低電平或下降沿觸發(fā)。平或下降沿觸發(fā)。T0:定時計數(shù)器:定時計數(shù)器0中斷,中斷,T0回零溢出觸發(fā)回零溢出觸發(fā)TF0標志。標志。T1:定時計數(shù)器:定時計數(shù)器1中斷,中斷,T1回零溢出觸發(fā)回零溢出觸發(fā)TF1標志。標志。TIRI:串行:串行I/O中斷,串行口完成一幀數(shù)據(jù)中斷,串行口完成一幀數(shù)據(jù)發(fā)送接收后觸發(fā)。發(fā)送接收后觸發(fā)。 80C51的中斷系統(tǒng)有的中斷系統(tǒng)有5個中斷源,個中斷源,2個優(yōu)先級,可實個優(yōu)先級,可實現(xiàn)二級中斷嵌套現(xiàn)二級中斷嵌套 。5.2.2 中斷標志與中斷控制中斷標志與中斷控制 1、中斷鎖存寄存器、中斷鎖存寄存器

7、TCON : TCON也為定時計數(shù)器的控制寄存器,也為定時計數(shù)器的控制寄存器,鎖存鎖存標志。字節(jié)地址鎖存鎖存標志。字節(jié)地址88H。 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 1、中斷鎖存寄存器、中斷鎖存寄存器TCON :TF1:T1溢出中斷標志溢出中斷標志TF0:T0溢出中斷標志溢出中斷標志 1有中斷請求有中斷請求IE1:INT1中斷請求標志中斷請求標志 0無中斷請求無中斷請求IE0:INT0中斷請求標志中斷請求標志IT1:INT1觸發(fā)控制位觸發(fā)控制位 1下降沿觸發(fā)下降沿觸發(fā)IT0:INT0觸發(fā)控制位觸發(fā)控制位 0低電平觸發(fā)低電平觸發(fā)2、串行口控制寄存器、串行口控制寄存器

8、SCON:TI,串行口發(fā)送中斷標志位。當,串行口發(fā)送中斷標志位。當CPU將一個發(fā)送將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟動了發(fā)送過數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟動了發(fā)送過程。每發(fā)送完一個串行幀,由硬件置位程。每發(fā)送完一個串行幀,由硬件置位TI。CPU響應中斷時,不能自動清除響應中斷時,不能自動清除TI,TI必須由軟件清必須由軟件清除。除。RI,串行口接收中斷標志位。當允許串行口接收,串行口接收中斷標志位。當允許串行口接收數(shù)據(jù)時,每接收完一個串行幀,由硬件置位數(shù)據(jù)時,每接收完一個串行幀,由硬件置位RI。同樣,同樣,RI必須由軟件清除。必須由軟件清除。3、中斷允許寄存器、中斷允許寄存器IE

9、:EA: 總中斷控制位總中斷控制位ES:串行口中斷控制位:串行口中斷控制位ET1:T1中斷控制位中斷控制位EX1:INT1中斷控制位中斷控制位ET0:T0中斷控制位中斷控制位EX0:INT0中斷控制位中斷控制位以上各位:以上各位:1允許中斷;允許中斷;0禁止中斷。禁止中斷。 用于打開或關斷各中斷源,字節(jié)地址用于打開或關斷各中斷源,字節(jié)地址A8H。 4、中斷優(yōu)先級寄存器、中斷優(yōu)先級寄存器IP :PS:串行口中斷優(yōu)先級控制位:串行口中斷優(yōu)先級控制位PT1:T1中斷優(yōu)先級控制位中斷優(yōu)先級控制位PX1:INT1中斷優(yōu)先級控制位中斷優(yōu)先級控制位PT0:T0中斷優(yōu)先級控制位中斷優(yōu)先級控制位PX0:INT0

10、中斷優(yōu)先級控制位中斷優(yōu)先級控制位以上各位:以上各位:1高優(yōu)先級;高優(yōu)先級;0低優(yōu)先級。低優(yōu)先級。 用于設定各中斷源的優(yōu)先級,字節(jié)地址用于設定各中斷源的優(yōu)先級,字節(jié)地址B8H。 中斷基本規(guī)則中斷基本規(guī)則 :任一種中斷,不能被同級或低級中斷所中斷;任一種中斷,不能被同級或低級中斷所中斷;高級中斷能打斷低級中斷中斷嵌套);高級中斷能打斷低級中斷中斷嵌套);若同時有幾個同級中斷源提出申請,若同時有幾個同級中斷源提出申請,CPU響響應的順序為查詢):應的順序為查詢):INT0高)高)T0INT1T1RITI最最低)低) 5.3 中斷處理過程 中斷處理過程可分為4個階段:中斷請求,中斷查詢和響應,中斷處理

11、,中斷返回。 1.中斷請求 中斷請求是由硬件完成的,定時中斷和串行中斷在單片機芯片內(nèi)部自動完成,中斷請求完成后,相應的中斷請求標志位被直接置位。 外部中斷的中斷請求信號要分別從P3.2和 (P3.3) 2個引腳由片外輸入。片內(nèi)中斷控制系統(tǒng)在每個機器周期的S5P2對引腳信號進行采樣根據(jù)采樣的結(jié)果來設置中斷請求標志位的狀態(tài),中斷請求完成后,中斷請求標志位被置位。2.2.中斷查詢和響應中斷查詢和響應 中斷的查詢和中斷的響應也是由硬件自中斷的查詢和中斷的響應也是由硬件自動完成的。動完成的。 所謂查詢所謂查詢: :就是由就是由CPUCPU測試測試TCONTCON和和SCONSCON中的中的各標志位的狀態(tài)

12、,以確定有無中斷請求以及各標志位的狀態(tài),以確定有無中斷請求以及是那一個中斷請求。在程序執(zhí)行過程中,中是那一個中斷請求。在程序執(zhí)行過程中,中斷查詢是在指令執(zhí)行的每個機器周期中不停斷查詢是在指令執(zhí)行的每個機器周期中不停地重復進行的。地重復進行的。3 中斷響應條件中斷響應條件中斷源有中斷請求;中斷源有中斷請求; 此中斷源的中斷允許位為此中斷源的中斷允許位為1; CPU開中斷即開中斷即EA=1)。)。同時滿足時,同時滿足時,CPU才有可能響應中斷。才有可能響應中斷。 此外,若某個中斷源通過編程設置處于被打開的狀態(tài),并滿足中斷響應的條件,但是,若遇到以下任一情況,則單片機仍不能響應此中斷: 當前CPU正

13、在處理比申請源高級或與申請源同級的中斷。 當前正在執(zhí)行的那條指令沒有執(zhí)行完。 正在訪問IE、IP中斷控制寄存器或執(zhí)行RETI指令。并且,只有在執(zhí)行這些指令后至少再執(zhí)行一條指令時,才能接受中斷請求。 由于上述原因而未能響應的中斷請求,待上述原因消失時該中斷請求標志卻已消失,那么該中斷不再被響應。也就是說,MCS-51對查詢的結(jié)果不作記憶,查詢過程在下個機器周期重新進行。4 4 中斷響應中斷響應 中斷響應是對中斷源提出的中斷請求的接中斷響應是對中斷源提出的中斷請求的接受,在中斷查詢中,當查詢到有效的中斷請求受,在中斷查詢中,當查詢到有效的中斷請求時,緊接著就進行中斷響應。中斷響應的主要時,緊接著就

14、進行中斷響應。中斷響應的主要內(nèi)容是由硬件自動生成一條長調(diào)用指令內(nèi)容是由硬件自動生成一條長調(diào)用指令LCALL LCALL addr16addr16,這里的,這里的addr16addr16就是程序存儲器中相應就是程序存儲器中相應的中斷服務程序地址區(qū)的入口地址。的中斷服務程序地址區(qū)的入口地址。中斷入口地址中斷入口地址 : 0003H :外部中斷:外部中斷0服務程序入口服務程序入口INT0) 000BH :定時器:定時器0中斷服務程序入口中斷服務程序入口T0) 0013H :外部中斷:外部中斷1服務程序入口服務程序入口INT1) 001BH :定時器:定時器1中斷服務程序入口中斷服務程序入口T1) 0

15、023H :串行口中斷服務程序入口:串行口中斷服務程序入口 5 中斷響應時間中斷響應時間 :一般情況下:一般情況下: 中斷請求中斷請求 響應中斷響應中斷 (38個機器周期)個機器周期) 中斷響應時間是指從中斷響應有效標志位置1到轉(zhuǎn)向其中斷服務程序地址區(qū)的入口地址所需的時間。 分析可知,在單中斷源的中斷系統(tǒng)中,中斷響應時間至少要用3個機器周期,最多為8個機器周期。 在一般應用情況下,中斷響應時間長短通常無需考慮,但是在需要精確定時的應用中,為了保證定時的精確,往往要估算中斷響應的時間。6、中斷響應過程、中斷響應過程 :響應中斷響應中斷自動清除中斷請求標志自動清除中斷請求標志IE0、IE1、TF0

16、、TF1, 但但RI/TI需由軟件清)需由軟件清)保留斷點當前保留斷點當前PC值入棧)值入棧)中斷入口地址中斷入口地址PC執(zhí)行中斷服務程序執(zhí)行中斷服務程序中斷返回中斷返回RETI)恢復斷點原恢復斷點原PC值出棧)值出棧)8.中斷請求的撤銷 CPU響應中斷后,應撤銷該中斷請求,否則會引起再次中斷。對于定時中斷,在CPU響應中斷后,由中斷機構(gòu)硬件自動撤銷中斷請求標志TF0和TF1;對于脈沖方式觸發(fā)的外中斷,由于脈沖信號過后就消失了,也是在響應中斷后由中斷機構(gòu)硬件自動撤銷中斷請求標志IE0和IE1;對電平觸發(fā)的外中斷,CPU響應中斷后,必須立即撤除引腳上的低電平觸發(fā)信號才能由硬件自動撤銷中斷請求標志

17、IE0和IE1;對于串行中斷,CPU響中斷后,中斷請求標志RI和TI不會被自動撤銷,它們要用軟件來撤銷,這在編寫串行中斷服務程序時應以注意。9.9.中斷處理中斷處理 中斷處理應根據(jù)具體要求編寫中斷服務程序。在程序中要注意以下2個問題: 現(xiàn)場保護和現(xiàn)場恢復; 關中斷和開中斷 10.中斷返回 中斷服務程序的最后一條指令必須是中斷返回指令RETI,CPU執(zhí)行這條指令時,把響應中斷時置位的優(yōu)先級觸發(fā)器復位,再從堆棧中彈出斷點地址送PC,使程序回到斷點處重新執(zhí)行先前被中斷了的程序。由于RETI的作用不同于RET,所以中斷的返回不能用RET指令來替代。5.4 5.4 中斷系統(tǒng)的應用中斷系統(tǒng)的應用 AT89

18、C51中斷功能的應用主要包括兩方中斷功能的應用主要包括兩方面的內(nèi)容:一是各中斷源的合理運用和相應面的內(nèi)容:一是各中斷源的合理運用和相應硬件電路的設計,二是初始化程序和中斷服硬件電路的設計,二是初始化程序和中斷服務程序的編寫。下面通過幾個應用舉例加以務程序的編寫。下面通過幾個應用舉例加以理解。理解。例例利用外中斷實現(xiàn)程序的單步執(zhí)行。利用外中斷實現(xiàn)程序的單步執(zhí)行。 AT89C51內(nèi)部有內(nèi)部有4 KB字節(jié)的字節(jié)的Flash存儲存儲器,用戶編寫好的程序用簡單的程序?qū)懭肫鳎脩艟帉懞玫某绦蛴煤唵蔚某绦驅(qū)懭肫骱苋菀讓懭牒筒脸?,在沒有開發(fā)系統(tǒng)的器很容易寫入和擦除,在沒有開發(fā)系統(tǒng)的條件下,利用外中斷實現(xiàn)程序的

19、單步運行條件下,利用外中斷實現(xiàn)程序的單步運行為用戶調(diào)試程序帶來一定的方便。為用戶調(diào)試程序帶來一定的方便。89C51單穩(wěn)態(tài)電路5 V0INT 外中斷外中斷/INT0設為電平觸發(fā)方式,中斷服務程序為:設為電平觸發(fā)方式,中斷服務程序為: ORG 0003H JNB P3.2,$ JB P3.2,$ RETI原理:當原理:當CPU正在處理某中斷時,不能響應同級正在處理某中斷時,不能響應同級別中斷,且在執(zhí)行別中斷,且在執(zhí)行RETI返回指令后,還必須多執(zhí)返回指令后,還必須多執(zhí)行一條指令才能響應新的中斷。行一條指令才能響應新的中斷。 例 擴展外部中斷源: 在變頻調(diào)速器中都設有過流(OC)、過壓(OV)、欠壓

20、(UV)、過熱(OH)這四種故障保護,當任一故障發(fā)生時,都要立刻停機處理,避免故障范圍擴大。這種情況必須采用中斷方式,使單片機立刻響應中斷處理。試設計其硬件電路和軟件程序。 根據(jù)要求,四個故障相當四個中斷源,可利用中斷查詢方法,將四個中斷源歸結(jié)為一個中斷請求,同時四個故障信號引到P1口的四個輸入端,然后在中斷程序中查詢P1口,確定是哪一個故障申請的中斷。電路如圖5-8所示。一旦發(fā)生故障,單片機必須響應中斷,因此,該中斷必須設置成最高級中斷。在中斷程序中可以顯示故障信息。P1.3P1.2P1.1P1.0AT89C511OCOVUVOH1INT圖5-8 擴展4個外中斷源電路主程序和中斷服務程序如下

21、:主程序和中斷服務程序如下: ORG0000HLJMP ZCX1 ;轉(zhuǎn)主程序;轉(zhuǎn)主程序 ORG 0013HLJMP INT1 ;轉(zhuǎn)中斷程序;轉(zhuǎn)中斷程序 ORG 0100HZCX1:MOV SP,#30H ;置堆棧指針;置堆棧指針MOV IP,#04H ;設;設 為最高級為最高級CLR IT1 ;設;設 為電平觸發(fā)為電平觸發(fā)SETB EA ;開中斷;開中斷SETB EX1ZCX2:其他處理程序:其他處理程序 AJMP ZCX21INT1INTORG 0200HINT1:PUSH PSW ;中斷服務程序;中斷服務程序 PUSH ACC JB P1.0,XI1 ;P1.0為為1,轉(zhuǎn),轉(zhuǎn)OC中斷服務程

22、序中斷服務程序 JB P1.1,XI2 ;P1.1為為1,轉(zhuǎn),轉(zhuǎn)OV中斷服務程序中斷服務程序 JB P1.2,XI3 ;P1.2為為1,轉(zhuǎn),轉(zhuǎn)UV中斷服務程序中斷服務程序 JB P1.3,XI4 ;P1.3為為1,轉(zhuǎn),轉(zhuǎn)OH中斷服務程序中斷服務程序INRET:POP ACC POP PSW RETIXI1: AJMP OCXI2: AJMP OV XI3: AJMP UV XI4: AJMP OH OC: ;OC處理子程序處理子程序(略略) AJMP INRET OV: ;OV處理子程序處理子程序(略略) AJMP INRET UV: ;UV處理子程序處理子程序(略略) AJMP INRET

23、OH: ;OH處理子程序處理子程序(略略) AJMP INRET 例:下圖是單片機控制的數(shù)據(jù)傳輸系統(tǒng)。將P1口設置成數(shù)據(jù)輸入口,外部設備每準備好一個數(shù)據(jù)時發(fā)出一個正脈沖,使D觸發(fā)器Q端置0,向送入一個低電平中斷請求信號。中斷響應后,為了撤銷中斷請求,可利用P3.0向D觸發(fā)器的直接置位端SD輸出一個負脈沖,使D觸發(fā)器的Q端置1,從而撤銷了低電平的中斷請求信號。 程序編制如下: ORG 0000HSTART: LJMP MAIN ;跳轉(zhuǎn)到主程序 ORG 0003H LJMP INT0 ;轉(zhuǎn)向中斷服務程序 ORG 0030H ;主程序MAIN: CLR IT0 ;設置電平觸發(fā)方式 SETB EA ;CPU開放中斷 SETB EX0 ;允許外中斷0中斷 MOV DPTR,#1000H ;置數(shù)據(jù)區(qū)地址針 ORG 0100H ;中斷服務程序 INT0: PUSH PSW ;保護現(xiàn)場 PUSH A CLR P3.0 ;由P3.0輸出負脈沖 NOP ; NOP ; SETB P3.0 ; MOV A,P1 ;輸入數(shù)據(jù) MOVX DPTR,A ;存入數(shù)據(jù)存儲器 INC DPTR ;修改數(shù)針 POP A ;恢復現(xiàn)場 POP PSW ; RETI ;中斷返回 例:圖5-3的中斷線路可實現(xiàn)多個故障。當系統(tǒng)無故障時,4

溫馨提示

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

評論

0/150

提交評論