




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章AT89C51單片機中斷系統教學目標5.1中斷概述5.2AT89C51中斷系統5.3中斷系統的應用本章小結思考題與習題
單片機原理及應用電子共54頁,您現在瀏覽的是第1頁!教學目標
通過本章教學,要求達到以下目標:1.熟記AT89C515個中斷源及其中斷入口地址。2.熟悉TCON、SCON、IE、IP的結構、控制作用和設置方法。3.理解AT89C51中斷響應過程。4.了解中斷響應等待時間。5.理解中斷請求撤除情況和應對措施。6.熟悉中斷優先控制的方法。7.掌握中斷應用程序的編制方法。單片機原理及應用電子共54頁,您現在瀏覽的是第2頁!5.1中斷概述1.中斷概念CPU暫時中止其正在執行的程序,轉去執行請求中斷的那個外設或事件的服務程序,等處理完畢后再返回執行原來中止的程序,這一過程叫做中斷。單片機原理及應用電子共54頁,您現在瀏覽的是第3頁!圖5.2中斷過程示意圖單片機原理及應用電子共54頁,您現在瀏覽的是第4頁!
3.中斷源及其優先級
中斷源是指能發出中斷請求,引起中斷的裝置或事件。一個單片機系統通常有多個中斷源,而單片機CPU在某一時刻只能響應一個中斷源的中斷請求,當多個中斷源同時向CPU發出中斷請求時,則必須按照“優先級別”進行排隊,CPU首先選定其中中斷級別最高的中斷源為其服務,然后按由高到低的排隊順序逐一服務,完畢后返回斷點地址,繼續執行主程序。這就是“中斷優先級”的概念。單片機原理及應用電子共54頁,您現在瀏覽的是第5頁!5.2AT89C51中斷系統的結構
5.2.1中斷源及中斷系統構成1.中斷源:
(1)INT0:外部中斷0;(2)INT1:外部中斷1;(3)T0:定時/計數器0溢出中斷;(4)T1:定時/計數器1溢出中斷;(5)串行中斷(包括串行接收中斷RI和串行發送中斷TI)。單片機原理及應用電子共54頁,您現在瀏覽的是第6頁!
5.2.2中斷標志與中斷控制
1.中斷標志
(1)定時器控制寄存器TCONTCON為8位特殊功能寄存器,其結構、位名稱、位地址及其功能如表5.1所示。
單片機原理及應用電子共54頁,您現在瀏覽的是第7頁!表5.1TCON的結構、位名稱、位地址和功能
位編碼位名稱TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H狀態
TCON.0TCON.1TCON.2TCON.3TCON.4TCON.5TCON.6TCON.7外部中斷0采用電平觸發0外部中斷0采用邊沿觸發111外部中斷1采用邊沿觸發0外部中斷1采用電平觸發0000單片機復位時或無中斷請求發生時,這些位均為0外部中斷1發出中斷請求時外部中斷0發出中斷請求時111T0發出中斷請求時T1發出中斷請求時單片機復位或T0停止計數啟動T0開始計數單片機復位或T1停止計數啟動T1開始計數0011單片機原理及應用電子共54頁,您現在瀏覽的是第8頁!表5.2SCON的結構、位名稱、位地址和功能
位編碼位名稱SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H功能
SCON.0串行發送中斷標志位串行接收中斷標志位SCON.1SCON.2SCON.3SCON.4SCON.5SCON.6SCON.7單片機原理及應用電子共54頁,您現在瀏覽的是第9頁!
1)中斷允許控制寄存器IE
2.中斷控制
AT89C51設有專門的開中斷和關中斷指令,中斷的開放和關閉是通過中斷允許寄存器IE各位的狀態進行兩級控制的。所謂兩級控制是指所有中斷允許的總控制位和各中斷源允許的單獨控制位,每位狀態靠軟件來設定。中斷允許控制寄存器IE各位的定義及其功能等如表5.3所示。單片機原理及應用電子共54頁,您現在瀏覽的是第10頁!表5.3IE的結構、位名稱、位地址和功能
位編碼IE.7IE.6IE.5IE.4IE.3IE.2IE.1IE.0位名稱EA
—ET2ESET1EX1ET0EX0位地址AFH—ADHACHABHAAHA9HA8H功能
禁止所有中斷開通外部中斷/INT0禁止其他中斷00
00000開通總中斷1所有中斷仍被禁止0
00001010010開通T0和串行口中斷禁止其他中斷
111111開通所有中斷單片機原理及應用電子共54頁,您現在瀏覽的是第11頁!
(4)ET1(IE.3):定時器T1的溢出中斷允許控制位,位地址為ABH。(5)EX1(IE.2):外部中斷的中斷請求允許控制位,位地址是AAH。(6)ET0(IE.1):定時器T0的溢出中斷允許控制位,位地址是A9H。(7)?EX0(IE.0):外部中斷的中斷請求允許控制位,位地址是A8H。單片機原理及應用電子共54頁,您現在瀏覽的是第12頁!表5.4IP的結構、位名稱、位地址和功能
位編碼IP.7IP.6IP.5IP.4IP.3IP.2IP.1IP.0位名稱—
—PT2PSPT1PX1PT0PX0位地址——BDHBCHBBHBAHB9HB8H功能保留位保留位
定時器T2中斷優先級控制位串行口中斷優先級控制位定時器T1中斷優先級控制位定時器T0中斷優先級控制位/INT0中斷優先級控制位/INT1中斷優先級控制位111111高級中斷(同為1時亦稱其為同級中斷)低級中斷(同為0時亦稱其為同級中斷)000000單片機原理及應用電子共54頁,您現在瀏覽的是第13頁!
中斷優先級三條原則:
(1)同時收到幾個中斷時,響應優先級別最高的;(2)中斷過程不能被同級、低優先級所中斷;(3)低優先級中斷服務,能被高優先級中斷。單片機原理及應用電子共54頁,您現在瀏覽的是第14頁!
2.中斷響應
同時滿足以下4個條件時,才可能響應中斷。(1)有中斷請求;(2)對應中斷允許位為1;(3)開中斷(即EA=1)。
(4)正在執行的指令不是RETI或者是訪問IE、IP的指令,否則必須再執行另外一條指令后才能響應。AT89C51響應某一中斷請求后要進行如下操作:(1)完成當前指令的操作。(2)保護斷點地址,將PC內容壓入堆棧。單片機原理及應用電子共54頁,您現在瀏覽的是第15頁!
3.中斷響應時間
中斷響應(從標志置1到進入相應的中斷服務),至少要3個完整的機器周期。如圖5.4所示。圖5.4
中斷響應時間示意圖單片機原理及應用電子共54頁,您現在瀏覽的是第16頁!(2)對采用邊沿觸發方式的外部中斷,CPU響應中斷時,硬件也會自動清除相應的中斷請求標志IE0或IE1。(3)對采用電平觸發方式的外部中斷,CPU響應中斷時,雖也用硬件自動清除相應的中斷請求標志IE0或IE1,但相應引腳(P3.2或P3.3)的低電平信號若繼續保持下去中斷請求標志IE0或IE1就無法清零,也會發生上述重復響應中斷的情況。(4)對串行口中斷(包括串發TI、串收RI),CPU響應中斷后并不能自動清除相應的中斷請求標志TI或RI,因此在響應串行口中斷請求后,必須由用戶在中斷服務程序的相應位置通過指令將其清除(復位)。單片機原理及應用電子共54頁,您現在瀏覽的是第17頁!5.3中斷系統的應用
5.3.1中斷初始化設置1.設置堆棧指針SP設置適宜的堆棧深度。
(1)深度要求不高且工作寄存器組1~3不用時,可維持復位時狀態:SP=07H,深度為24B(20H~2FH為位尋址區)。(2)要求有一定深度時,可設SP=60H或50H,這時深度分別為32B和48B。單片機原理及應用電子共54頁,您現在瀏覽的是第18頁!4.開放中斷由于AT89C51采用了二級中斷控制方式,因此開放中斷必須同時開放二級中斷控制,即同時置位EA和需要開放中斷的中斷允許控制位。單片機原理及應用電子共54頁,您現在瀏覽的是第19頁!(4)若是外部中斷電平觸發方式,應有中斷標志撤除操作。若是串行收發中斷,應有對RI、TI清0指令。(5)恢復現場。與保護現場相對應,注意按“先進后出、后進先出”的原則操作。(6)中斷返回,最后一條指令必須是RETI。單片機原理及應用電子共54頁,您現在瀏覽的是第20頁!ORG0000HSTART:LJMPMAIN;跳轉到主程序ORG0003HLJMPINTO;轉中斷服務程序ORG0030H;主程序MAIN:CLRIT0;設為電平觸發方式SETBEA;CPU開放中斷SETBEX0;允許中斷MOVDPTR,#1000H;設置數據區指針……主程序:
單片機原理及應用電子共54頁,您現在瀏覽的是第21頁!
例5.2利用定時器作外部中斷源。AT89C51內部有兩個定時器/計數器,當它們選擇為計數器工作方式時,T0(P3.4)或T1(P3.5)引腳上發生的負跳變將使T0或T1計數器加1計數。因此,可將P3.4、P3.5作為外部中斷請求輸入線,將T0或T1計數初值設定為滿量程(#0FFH)。當T0、T1引腳上的電平發生負跳變時,計數器加1計數溢出,引起中斷,因而可當作外中斷使用,以計數器T0為例,初始化程序如下:單片機原理及應用電子共54頁,您現在瀏覽的是第22頁!
例5.3擴展外部中斷源:在變頻調速器中都設有過流(OC)、過壓(OV)、欠壓(UV)、過熱(OH)這四種故障保護,當任一故障發生時,都要立刻停機處理,避免故障范圍擴大。這種情況必須采用中斷方式,使單片機立刻響應中斷處理。試設計其硬件電路和軟件程序。單片機原理及應用電子共54頁,您現在瀏覽的是第23頁!11111
INT0
INT1OHUVOVOC+5V圖5.6擴展4個外中斷源電路P1.3P1.2P1.1P1.0AT89C51單片機原理及應用電子共54頁,您現在瀏覽的是第24頁!INT1:PUSH PSW;保護現場 PUSH ACC MOVA,P1;讀入P1口低4位狀態ANLA,#0FH JNBACC0,X1;是OC中斷嗎?不是則轉移 ACALLXY1;調OC處理子程序X1:JNBACC1,X2;是OV中斷嗎?不是則轉移 ACALLXY2;調OV處理子程序X2:JNBACC2,X3;是UV中斷嗎?不是則轉移 ACALLXY3;調UV處理子程序X3: JNB ACC3,X4;是OH中斷嗎?不是則轉移ACALLXY4;調OH處理子程序X4: POPACC;恢復現場POPPSW RETIXY1: OC處理子程序(略) RET單片機原理及應用電子共54頁,您現在瀏覽的是第25頁!
(2)中斷源及其入口地址:AT89C51單片機有5個中斷源:分別為:INT0、T0、INT1、T1及串行口中斷(包括串行接收中斷RI和串行發送中斷TI)。5個中斷源的中斷入口地址分別為0003H、000BH、0013H、001BH、0023H。(3)中斷控制及寄存器:控制89C51中斷的有3個方面、4個特殊功能寄存器:①中斷請求:定時和外部中斷控制寄存器TCON、串行控制寄存器SCON;②中斷允許控制寄存器IE;③中斷優先級控制寄存器IP。單片機原理及應用電子共54頁,您現在瀏覽的是第26頁!
①中斷初始化內容包括:設置堆棧指針SP、定義中斷優先級、定義外部中斷觸發方式、開放中斷和中斷發生前主程序應完成的操作內容。②中斷服務程序中的操作內容和功能是中斷源請求中斷的目的,是CPU完成中斷處理操作的核心和主體。由于89C51相鄰兩個中斷入口地址間只有8字節的空間,因此真正的中斷服務程序必須跳轉到其他合適的地址空間。(9)中斷服務程序中,若涉及到一些功能寄存器中斷前的數據需要保存,則需要采取保護現場和恢復現場的措施。(10)中斷服務程序最后一條指令必須是RETI。單片機原理及應用電子共54頁,您現在瀏覽的是第27頁!5.5AT89C51單片機外中斷的觸發方式有幾種?它們有什么區別?電平觸發時,如何防止CPU重復響應同一外中斷?5.6什么是中斷優先級?AT89C51能設置幾個優先級?同一級別的中斷源同時發出中斷請求,CPU先響應哪一個?怎樣確定?5.7一個中斷請求被響應必須滿足什么條件?5.8AT89C51響應某一中斷請求后要進行哪些操作?單片機原理及應用電子共54頁,您現在瀏覽的是第28頁!
中斷概念類比
看電視中斷處理中斷請求實際生活中斷返回電話鈴響接聽電話看電視主程序計算機事件發生事件處理主程序圖5.1中斷概念示意圖單片機原理及應用電子共54頁,您現在瀏覽的是第29頁!2.為什么要設中斷
中斷解決了快速主機與慢速I/O設備的數據傳送,還具有如下優點:
(1)分時操作。CPU可以分時為多個I/O設備服務,提高了計算機的利用率;
(2)實時響應。CPU能夠及時處理應用系統的隨機事件,系統的實時性大大增強;
(3)可靠性高。CPU具有處理設備故障及掉電等突發性事件能力,從而使系統可靠性提高。單片機原理及應用電子共54頁,您現在瀏覽的是第30頁!
4.中斷源的管理
單片機系統中有一個專門用來管理中斷源的機構,它就是中斷控制寄存器,我們可以通過對其編程來設置中斷源的優先級別以及是否允許某個中斷源的中斷請求等。單片機原理及應用電子共54頁,您現在瀏覽的是第31頁!5.2.1中斷源及中斷系統構成IE0EX0TF0IE1TF1TIESET1EX1ET0RIIP硬件查詢高級中斷請求低級中斷請求中斷入口地址中斷源INT0INT1中斷入口地址中斷源10IEPX0PSPT1PX1PT0111111111100000EA1≥1SCON11T0T1RXTXIT0IT100TCON圖5.3AT89C51中斷系統結構示意圖單片機原理及應用電子共54頁,您現在瀏覽的是第32頁!表5.1TCON的結構、位名稱、位地址和功能
位編碼位名稱TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H功能
T1中斷標志位T1啟停控制位T0中斷標志位TCON.0/INT1中斷標志位/INT0中斷標志位/INT1觸發方式位/INT0觸發方式位T0啟停控制位TCON.1TCON.2TCON.3TCON.4TCON.5TCON.6TCON.7單片機原理及應用電子共54頁,您現在瀏覽的是第33頁!(2)SCON的中斷標志
串行控制寄存器SCON的結構、位名稱、位地址及其功能如表5.2所示。其中只有TI和RI兩位用來表示串行口中斷標志位。單片機原理及應用電子共54頁,您現在瀏覽的是第34頁!1)TI:為串行口發送中斷標志位,位地址為99H。在串行口發送完一組數據時,TI由硬件自動置位(TI=1),請求中斷,當CPU響應中斷進入中斷服務程序后,TI狀態不能被硬件自動清除,而必須在中斷程序中由軟件來清除。
2)RI:為串行口接收中斷標志位,位地址為98H。在串行口接收完一組串行數據時,RI由硬件自動置位(RI=1),請求中斷,當CPU響應中斷進入中斷服務程序后,也必須由軟件來清除RI標志。單片機原理及應用電子共54頁,您現在瀏覽的是第35頁!表5.3IE的結構、位名稱、位地址和功能
位編碼IE.7IE.6IE.5IE.4IE.3IE.2IE.1IE.0位名稱EA
—ET2ESET1EX1ET0EX0位地址AFH—ADHACHABHAAHA9HA8H功能
中斷總允許控制位定時器T1的溢出中斷允許控制位
外部中斷1的中斷允許控制位定時器T0的溢出中斷允許控制位外部中斷0的中斷允許控制位串行口中斷允許控制位定時器T2的溢出中斷允許控制位單片機原理及應用電子共54頁,您現在瀏覽的是第36頁!
(1)EA(IE.7):總允許控制位,位地址為AFH。EA狀態可由軟件設定,若EA=0,禁止AT89C51所有中斷源的中斷請求;若EA=1,則總控制被開放,但每個中斷源是允許還是被禁止CPU響應,還受控于中斷源的各自中斷允許控制位的狀態。
(2)ET2(IE.5):定時器T2溢出中斷允許控制位,位地址是ADH。(3)ES(IE.4):串行口中斷允許控制位,位地址是ACH。單片機原理及應用電子共54頁,您現在瀏覽的是第37頁!
2)中斷優先級控制寄存器IP
AT89C51的中斷源優先級是由中斷優先寄存器IP來進行控制的。其5個中斷源劃分為兩個中斷優先級:高優先級和低優先級。每一個中斷源都可以通過IP寄存器中的相應位設置成高(優先)級中斷或低(優先)級中斷。相應位置“1”,定義為高級中斷,相應位清“0”,定義為低級中斷,因此,CPU對所有中斷請求只能實現兩級中斷嵌套。IP寄存器的結構、位名稱和位地址如表5.4所示。單片機原理及應用電子共54頁,您現在瀏覽的是第38頁!
如果同樣優先級的請求同時接收到,則內部對中斷源的查詢次序決定先接受哪一個請求,表5.5列出了同(一優先)級中斷源的內部查詢順序。中斷源中斷標志優先查詢順序外部中斷0定時器T0中斷外部中斷1定時器T1中斷串行口中斷IE0TF0IE1TF1RI+TI高↓↓↓低表5.5中斷源的內部查詢順序單片機原理及應用電子共54頁,您現在瀏覽的是第39頁!5.2.3中斷處理過程
中斷處理過程大致可分為4步:。
1.中斷請求當中斷源要求CPU為它服務時,必須發出一個中斷請求信號。CPU將相應的中斷請求標志位置“1”。為確保該中斷得以實現,中斷請求信號應保持到CPU響應該中斷后才能取消。CPU會不斷及時地查詢這些中斷請求標志位,一旦查詢到某個中斷請求標志置位,CPU就響應這個中斷源的中斷請求。中斷請求、中斷響應、中斷服務和中斷返回單片機原理及應用電子共54頁,您現在瀏覽的是第40頁!
(3)屏蔽同級的中斷請求。(4)將中斷源入口地址(固定的)送入PC寄存器,自動轉入相應中斷程序入口地址。中斷源口地址如表5.6所示。表5.6AT89C51中斷入口地址表中斷源中斷程序入口地址INT00003H定時器T0000BHINT10013H定時器T1001BH串行口中斷0023H單片機原理及應用電子共54頁,您現在瀏覽的是第41頁!
4.中斷請求的撤除
中斷源發出中斷請求后,相應的中斷請求標志位置“1”,而CPU響應中斷后,必須及時清除中斷請求“1”標志。否則中斷響應返回后,將再次進入該中斷,引起死循環出錯。有關中斷請求標志撤除有如下4種情況:
(1)定時/計數器T0、T1中斷,CPU響應中斷時就用硬件自動清除了相應的中斷請求標志TF0、TF1。單片機原理及應用電子共54頁,您現在瀏覽的是第42頁!
5.2.4中斷返回
注意:(1)不能用RET指令代替RETI指令。(2)中斷服務程序中PUSH與POP須成對使用。
AT89C51響應中斷后,自動執行中斷服務程序。在中斷服務程序中,只要遇到RETI指令(不論在什么位置),單片機就結束本次中斷服務,返回原程序。因此,在中斷服務程序的最后必須有一條RETI指令,用于中斷返回。單片機原理及應用電子共54頁,您現在瀏覽的是第43頁!
2.定義中斷優先級根據中斷源的輕重緩急,劃分高優先級和低優先級。
3.定義外部中斷觸發方式一般情況下,應定義邊沿觸發方式為宜。若外部中斷必須采用電平觸發方式時,應在硬件電路上和中斷服務程序中采取撤除中斷請求信號的措施。
單片機原理及應用電子共54頁,您現在瀏覽的是第44頁!5.3.2中斷服務主程序(1)在中斷服務入口地址設置一條跳轉指令,以便轉移到中斷服務程序的實際入口處。(2)數據需要保護現場。通常是保護Acc、PSW和DPTR等等特殊功能寄存器中的內容。(3)中斷源請求中斷服務要求的操作,這是中斷服務程序的主體。單片機原理及應用電子共54頁,您現在瀏覽的是第45頁!
P1P3.0QDCLKCLR選通信號+5VINT0數據89C51Vcc例5.1單外部中斷源應用示例5.3.3中斷系統應用舉例圖5.5外部中斷源應用
單片機原理及應用電子共54頁,您現在瀏覽的是第46頁!
ORG0200HINT0:PUSHPSW;保護現場PUSHACCCLRP3.0;由P3.0輸出0NOPNOPSETBP3.0;由P3.0輸出1,撤除MOVA,P1;輸入數據MOVX@DPTR,A;存入數據存儲器INCDPTR;修改指針,指向下一單元……POPACC;恢復現場POPPSWRETI;中斷返回中斷服務程序:
單片機原理及應用電子共54頁,您現在瀏覽的是第47頁!MOVTMOD,#06H;置T0為工作方式2MOVTL0,#0FFH ;置T0計數初值MOVTH0,#0FFHSETBEA ;開CPU中斷SETBET0 ;允許T0中斷SETBTR0 ;啟動T0計數…END單片機原理及應用電子共54頁,您現在瀏覽的是第48頁!
根據要求,四個故障相當四個中斷源,可利用中斷查詢方法,將四個中斷源歸結為一個中斷請求,同時四個故障信號引到P1口的四個輸入端,然后在中斷程序中查詢P1口,確定是哪一個故障申請的中斷。電路如圖5.6所示。一旦發生故障,單片機必須響應中斷,因此,該中斷必須設置成最高級中斷。在中斷程序中可以顯示故障信息。單片機原理及應用電子共54頁,您現在瀏覽的是第49頁!主程序和中斷服務程序如下:
ORG 0000AJMP ZCX1;轉主程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中外廣告史試題及答案
- 中醫方劑學試題及答案
- 學海大聯考2024-2025學年高二下生物期末預測試題含解析
- 車輛維修延誤損失賠償合同
- 智能制造廠房建設與運營維護合同集
- 2024年內蒙古蒙發能源控股集團招聘筆試真題
- 中介簽署的二手房買賣合同新的內容(31篇)
- 有關合資經營合同模板集錦(16篇)
- 供電指揮復習試題及答案
- 防斷復習試題含答案
- DB31∕T 1148-2019 水量計量差錯的退補水量核算方法
- 2021熱性驚厥臨床路徑
- 鋼結構雨棚吊裝方案
- GB/Z 44047-2024漂浮式海上風力發電機組設計要求
- 2024年江蘇省南通市中考地理試題卷(含答案)
- 水南公寓(ABC)地塊設計采購施工(EPC)總承包項目技術標
- 2024-2025學年八年級語文上冊期末專項復習:散文閱讀【考點清單】
- 新教科版小學1-6年級科學需做實驗目錄
- 駐顏有術 知到智慧樹網課答案
- GB/T 8492-2024一般用途耐熱鋼及合金鑄件
- 2024年徐州市六年級下學期期末抽測語文模擬試卷
評論
0/150
提交評論