




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
中斷的基本概念MCS-51的中斷系統中斷源和中斷標志中斷的允許和優先權中斷的處理過程中斷的實例第
章
中斷系統本章內容SingleChipMicrocomputer中斷系統5.1中斷的基本概念日常生活中斷的例子單片機中的中斷概念中斷技術的優點日常中斷的例子返回你正在專心看書,突然電話鈴響,于是你記下正在看的書的頁數,去接電話,接完電話后再回來接著看書。計算機中的中斷概念返回中斷是指由于某種隨機事件的發生,計算機暫停現行程序的運行,轉去執行另一程序,以處理發生的事件,處理完畢后又自動返回原來的程序繼續運行。將能引起中斷的事件稱為中斷源。CPU現行運行的程序稱為主程序。處理隨機事件的程序稱為中斷服務子程序。
中斷技術的優點分時操作
——CPU可以同多個外設“同時”工作實時處理
——CPU及時處理隨機事件故障處理
——電源掉電、存儲出錯、運算溢出
分時操作:計算機的中斷系統可以使CPU與外設同時工作。CPU在啟動外設后,便繼續執行主程序;而外設被啟動后,開始進行準備工作。當外設準備就緒時,就向CPU發出中斷請求,CPU響應該中斷請求并為其服務完畢后,返回原來的斷點處繼續運行主程序。外設在得到服務后,也繼續進行自己的工作。因此,CPU可以使多個外設同時工作,并分時為各外設提供服務,從而提高了CPU的利用率和輸入輸出的速度。實時處理:當計算機用于實時控制時,請求CPU提供服務時隨機發生的。有了中斷系統,CPU就可以立即響應并加以處理。故障處理:計算機在運行時往往會出現一些故障,如斷電、存儲器奇偶校驗出錯、運算溢出等。有了中斷系統,當出現上述情況時,CPU可及時轉去執行故障處理程序,自行處理故障而不必停機。5.2MCS-51中斷系統中斷源中斷標志中斷允許中斷優先級MCS-51中斷系統結構中斷寄存器
MCS-51的中斷系統——中斷源8051單片機有5個中斷請求源:單片機INT0或外部輸入中斷源INT0(P3.2)INT1或外部輸入中斷源INT1(P3.3)T0片內定時器T0的溢出T1片內定時器T1的溢出串行口片內串行口發送或接收中斷源中斷源:I/O設備鍵盤、打印機、A/D轉換器、D/A轉換器完成自身的操作后向CPU申請中斷,請求服務硬件故障電源斷電時,需要將寄存器、累加器、標志位保存,以便重新供電后繼續運行RAM存儲器斷電時將內容保存在如硬盤、FLASHROM中,以便供電恢復后繼續工作實時時鐘系統中的時鐘可以采用獨立時鐘系統,通過中斷向CPU提供時鐘源,節省CPU的處理時間調試程序時設置的中斷程序調試時,通過設置斷點觀察運行中的寄存器、累加器、標志位狀態;觀察中間運算結果
MCS-51的中斷系統——中斷標志CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷標志位每一個中斷源都有相應的中斷標志位;某一個中斷源申請中斷,相應中斷標志位置1。
MCS-51的中斷系統——中斷允許CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷標志位
EA——總中斷允許位,EA=1開放所有中斷,EA=0,禁止所有中斷;某一個中斷源還有相應的中斷允許位,1允許相應中斷源的中斷,0禁止相應中斷源的中斷。中斷允許ESET0EX0EX1ET1EA
MCS-51的中斷系統——中斷優先級CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TISI中斷源中斷標志位
單片機中有兩個中斷優先級,即高優先級中斷和低優先級中斷,前者優先權高于后者(在程序中設置,相應位=1,為高優先級);同一優先級別的中斷源按照自然優先級順序確定優先級別(硬件形成,無法改變)。中斷允許ESET0EX0EX1ET1EA自然優先級高低優先控制PSPT0PX0PX1PT1上頁下頁源允許中斷系統總體邏輯結構總允許優先級自然優先級中斷源自然優先級中斷源查詢硬件查詢硬件低級中斷請求送CPU矢量地址送PCIPIETCON
SCONEX0ET0EX1ET1ESEAINT0INT1T0T1RXTXRITIIE0IE1TF0TF1
IT1
011010101010矢量地址送PC高級中斷請求送CPUIT0
01中斷標志中斷標志INT01IE0自然優先級矢量地址送PC“+1”TF10自然優先級矢量地址送PCEA“+1”“+1”EX0ET11P3.2P3.3P3.4P3.5MCS51中斷系統有以下四個特殊功能寄存器:①定時器控制寄存器TCON(用六位)②串行口控制寄存器SCON(用二位)③中斷允許寄存器IE④中斷優先級寄存器IP1、中斷請求標志中斷系統
MCS-51的中斷系統——中斷控制1)、定時/計數器控制寄存器TCON
TCON(88H)TF1
TF0
IE1
IT1
IE0IT0
INT1
INT0觸發方式控制位0
低電平觸發1
邊沿↓觸發
INT1
INT0外部中斷請求標志1有效觸發時0
當CPU響應中斷時T1T0溢出標志1
計數器“+1”有溢出時,并向CPU請求中斷0
當CPU響應中斷時,也可由指令清除TR1TR0由硬件自動由硬件自動上頁下頁中斷請求標志可編程控制位TR1TR0由硬件自動由硬件自動引腳00記錄有無中斷記錄有無中斷中斷系統2)、串行口控制寄存器SCONTI:串行口發送中斷標志在方式0,串行發送到第8位結束時,由硬件置“1”;或在其他方式中,串行發送到停止位的開始時,由硬件置“1”,RI:串行口接收中斷標志上頁下頁在方式0,串行接收到第8位結束時,由硬件置“1”;或在其他方式中,串行接收到停止位的開始時,由硬件置“1”,“1”發送完一幀數據后“1”接收完一幀數據后必須由軟件清“0”必須由軟件清“0”
SCON(98H)
TIRI中斷系統2、中斷允許控制在中斷源與CPU之間有二級中斷允許控制邏輯電路,類似開關,其中第一級為一個總開關,第二級為五個分開關,由IE控制。應當指出:在89C51復位時,IE各位被復位成“0”狀態,CPU因此而處于關閉所有中斷狀態。所以,在89C51復位以后,用戶必須通過主程序中的指令來開放所需中斷,以便相應中斷請求來到時被CPU所響應。
中斷系統中斷允許寄存器IE
EA/
/
ES
ET1
EX1
ET0
EX0INT0INT1T1T0UARTCPU0
禁止1
允許0
禁止1
允許總中斷總中斷中斷中斷IE(A8)中斷的開放和禁止是可控,可編程的CPUIE的相應位被置“0”
或“1”
該相應中斷即被“禁止”或“開放”上頁下頁中斷系統3、中斷優先級控制CPU同一時間只能響應一個中斷請求。若同時來了兩個或兩個以上中斷請求,就必須有先有后。!!!為此將5個中斷源分成高級、低級兩個級別,高級優先,由IP控制。中斷系統1)、中斷優先級寄存器IP
//
/
PS
PT1
PX1
PT0
PX0IP(B8)INT0INT1T1T0UART0
低級1高級中斷中斷中斷優先級是可控,可編程的上頁下頁2)、優先級結構中斷優先級控制遵循的兩個基本原則:⑴一個正在執行的低級中斷服務程序,能被高優先級中斷請求所中斷,但不能被同優先級中斷請求所中斷。⑵一個正在執行的高級中斷服務程序,不能被任何中斷請求所中斷,直到返回。中斷系統
在同級的幾個中斷源中同時發生請求時,內部對同級的各中斷源的優先級別有一個規定的查詢順序:外部中斷請求
INT0定時/計數器T0定時/計數器T1串行口UART定時/計數器T2外部中斷請求
INT1最高最低上頁下頁自然優先級自然優先級出廠前已由廠家固化順序——事先約定中斷優先原則:(概括為四句話)1、低級不打斷高級2、高級不睬低級3、同級不能打斷4、同級、同時中斷,事先約定。CPU在執行主程序低級中斷請求響應低級中斷請求CPU執行低級中斷服務程序高級中斷請求響應高級中斷請求CPU執行高級中斷服務程序返回低級中斷程序返回主程序二級中斷嵌套的中斷運行過程例:設89C51的片外中斷為高優先級,片內中斷為低優先級。試設置IP相應值。(a)用字節操作指令
MOVIP,#05H或MOV0B8H,#05H(b)用位操作指令
SETBPX0SETBPX1CLRPSCLRPT0CLRPT1IP中斷處理過程
中斷處理過程分為三個階段:中斷響應、中斷處理和中斷返回。中斷響應中斷處理(又稱中斷服務)中斷返回
中斷請求的撤除
中斷響應中斷返回中斷響應(以外部中斷0為例)中斷響應:在滿足CPU的中斷響應條件之后,CPU對中斷源中斷請求予以處理。中斷響應過程:保護斷點地址;中斷響應把程序轉向中斷服務程序的入口地址(通常稱矢量地址)。特別注意:這些工作是硬件自動完成的!
斷點地址中斷服務子程序的入口地址外部中斷0入口地址0003ZD0AJMPORG0003HAJMPZD0ZD0中斷響應中斷服務子程序入口地址又稱為中斷矢量或中斷向量。中斷響應單片機中5個中斷源的矢量地址是固定的,不能改動。斷點地址中斷服務子程序的入口地址程序存儲器ROM0000H:復位后,程序的入口地址(PC=0000H)0023H:串行口中斷入口0003H:外部中斷0入口000BH:定時器0溢出中斷入口0013H:外部中斷1入口001BH:定時器1溢出中斷入口002AH使用時,通常在這些入口地址處存放一條跳轉指令,使程序跳轉到用戶安排的中斷服務程序起始地址上去!程序存儲器ROM0000H:復位后,程序的入口地址(PC=0000H)0023H:串行口中斷入口0003H:外部中斷0入口000BH:定時器0溢出中斷入口0013H:外部中斷1入口001BH:定時器1溢出中斷入口002AH包含T0中斷服務子程序的程序結構:
ORG0000H AJMPMAIN
ORG000BH AJMPINTT0
ORG0100HMAIN:...INTT0:...RETIENDAJMPMAINAJMPINTT0中斷處理中斷服務程序從中斷子程序入口地址開始執行,直到返回指令RETI為止,這個過程稱為中斷處理(或中斷服務)。中斷服務子程序一般包括兩部分內容,一是保護和恢復現場,二是處理中斷源的請求。中斷響應入口地址RETI中斷處理INTT0:PUSHACC PUSHDPHPUSHDPLPUSHPSW
中斷源服務
POPPSW
POPDPLPOPDPHPOPACCRETI保護現場恢復現場中斷返回中斷返回是指中斷服務完后,計算機返回到原來暫停的位置(即斷點),繼續執行原來的程序。中斷返回由專門的中斷返回指令RETI來實現。中斷響應中斷返回中斷返回RETI指令功能:把斷點地址取出,送回到程序計數器PC中去。另外,它還通知中斷系統已完成中斷處理,將清除優先級狀態觸發器。特別注意:不能用RET指令代替RETI指令!中斷響應中斷返回中斷處理過程示意圖中斷源發中斷請求中斷響應條件是否滿足?中斷是否受阻?
把PC斷點地址壓入堆棧
相應中斷源的中斷入口地址送入PC,轉向中斷服務程序NYYN
由硬件自動完成
關中斷保護現場中斷服務
開中斷
關中斷恢復現場
開中斷中斷返回斷點地址由堆棧彈入PC保護現場和恢復現場的過程中不允許中斷,以免現場遭到破壞。保護和恢復現場之后的開中斷是為了允許有更高級中斷打斷此中斷服務程序。中斷服務程序硬件自動完成中斷請求的撤除
CPU響應某中斷請求后,在中斷返回前,應該撤除該中斷請求,否則會引起另一次中斷。
定時器0或1溢出:CPU在響應中斷后,硬件清除了有關的中斷請求標志TFO或TF1,即中斷請求是自動撤除的。
邊沿激活的外部中斷:CPU在響應中斷后,也是用硬件自動清除有關的中斷請求標志IE0或IE1。
串行口中斷:CPU響應中斷后,沒有用硬件清除T1、R1,故這些中斷不能自動撤除,而要靠軟件來清除相應的標志。電平觸發外部中斷撤除方法較復雜。因為在電平觸發方式中,CPU響應中斷時不會自動清除IE1或IE0標志,所以在響應中斷后應立即撤除INT0或INT1引腳上的低電平。在硬件上,CPU對INT0和INT1引腳的信號不能控制,所以這個問題要通過硬件,再配合軟件來解決。電平激活的外部中斷源中斷標志的撤除一、主程序1.主程序的起始地址89C51系列單片機復位后,(PC)=0000H0003H~002BH分別為各中斷源的入口地址編程時應在0000H處寫一條跳轉指令(一般為長跳轉指令),主程序是以跳轉的目標地址作為起始地址開始編寫,一般從0030H開始,如圖所示0000HLJMP00300030H主程序§5.4中斷程序舉例矢量地址2、主程序的初始化內容初始化將用到的內部部件或擴展芯片進行初始工作狀態設定。特殊功能寄存器初始化設置單片機復位后,特殊功能寄存器IE、IP內容均為00H,所以應對IE、IP進行初始化編程,以開放中斷,允許某些中斷源中斷和設置中斷優先級等。中斷系統二、中斷服務程序1.中斷服務程序的起始地址中斷系統對五個中斷源分別規定了各自的入口地址,但這些入口地址相距很近(8個字節)如中斷服務程序的指令代碼少于8個字節,則可從規定的中斷服務程序入口地址開始,直接編寫中斷服務程序如中斷服務程序的指令代碼大于8個字節,則應采用與主程序相同的方法,在相應的入口處寫一條跳轉指令,并以跳轉指令的目標地址作為中斷服務程序的起始地址進行編程矢量地址2、中斷服務程序編制中的注意事項(1)視需要確定是否保護現場;(2)及時清除那些不能被硬件自動清除的中斷請求標志,以免產生錯誤的中斷;(3)中斷服務程序中的壓棧(PUSH)與出棧(POP)指令必須成對使用,以確保中斷服務程序的正確返回;(4)主程序和中斷服務程序之間的參數傳遞與主程序和子程序的參數傳遞方式相同。例:如圖所示,將P1口的P1.4~P1.7作為輸入位,P1.0~P1.3作為輸出位。要求利用89C51將開關所設的數據讀入單片機內,并依次通過P1.0~P1.3輸出,驅動發光二極管,以檢查P1.4~P1.7輸入的電平情況(若輸入為高電平則相應的LED亮)。現要求采用中斷邊沿觸發方式,每中斷一次,完成一次讀/寫操作。源程序:
ORG0000HAJMPMAINORG0003HAJMPINSERORG0030HMAIN:SETBEX0SETBIT0SETBEAHERE:SJMPHERE
中斷服務子程序:
ORG0200HINSER:MOVA,#0F0HANLP1,AMOVA,P1SWAPAMOVP1,ARETI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年項目管理考試探討試題及答案
- 2024年項目管理難點試題及答案
- 長豐鋼結構夾層施工方案
- 行政管理師考試策略與解決方案及答案
- 項目的持續改進與優化試題及答案
- 項目管理市場環境試題及答案
- 2025年證券從業資格證考試的重點考查試題及答案
- 威迪斯管道施工方案
- 證券從業資格證考試學習策略試題及答案
- 理解項目管理中的團隊沖突處理的考點試題及答案
- 高二下學期《家校攜手凝共識齊心協力創輝煌》家長會
- 2025年人教版七年級下冊英語全冊教學設計
- 2024-2025學年人教版數學八年級下冊期中檢測卷(含答案)
- 05 【人教版】七年級下期中數學試卷(含答案)
- 湊十法加法豎式運算(可打印)
- GB_T 31148-2022木質平托盤 通用技術要求_(高清-最新版)
- 建筑垃圾處理廠可行性研究報告
- 日標JIS法蘭標準
- 固體物理(黃昆)第一章
- 認識餐飲環境(課堂PPT)
- 常用拉鉚螺母規格表
評論
0/150
提交評論