微機原理與應用-05 中斷系統(tǒng)_第1頁
微機原理與應用-05 中斷系統(tǒng)_第2頁
微機原理與應用-05 中斷系統(tǒng)_第3頁
微機原理與應用-05 中斷系統(tǒng)_第4頁
微機原理與應用-05 中斷系統(tǒng)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章MCS-51的中斷系統(tǒng)主要內容中斷的概念中斷系統(tǒng)結構及中斷控制中斷處理過程外部中斷源的應用§5-1中斷的概念

1.輸入輸出方式無條件傳送

不需要測試外部設備的狀態(tài),CPU可以根據需要隨時進行數(shù)據傳送操作查詢傳送CPU在傳輸數(shù)據之前進行查詢DMA方式 直接存儲器存取方式,CPU讓出數(shù)據總線,使得外部設備和存儲器之間直接傳輸。中斷方式實現(xiàn)計算機對外界發(fā)生的事件進行及時實時處理。2.中斷的概念計算機暫時中止正在執(zhí)行的主程序,轉去執(zhí)行中斷服務程序,并在中斷服務程序執(zhí)行完了之后能自動回到原主程序處繼續(xù)執(zhí)行,這個過程叫做“中斷”。某人看書 執(zhí)行主程序 日常事務電話鈴響 中斷信號INT=0中斷請求暫??磿?/p>

暫停執(zhí)行主程序中斷響應書中作記號當前PC入棧 保護斷點電話談話 執(zhí)行I/O程序中斷服務繼續(xù)看書 返回主程序 中斷返回2.中斷的概念日常事務主程序中斷服務程序中斷系統(tǒng):實現(xiàn)處理功能的硬件和軟件系統(tǒng)中斷源:產生中斷的請求源中斷請求:中斷源向CPU提出處理要求斷點:原來程序被中斷的地方中斷服務:對中斷事件響應的處理過程中斷返回:結束中斷服務程序,返回被中斷的主程序3.中斷的產生I/O設備:I/O設備向CPU發(fā)出中斷請求數(shù)據通道中的中斷源:如磁盤、磁帶等硬件故障:如電源掉電、存儲出錯等實時時鐘與計數(shù)為調試程序而設置的中斷4.中斷的功能分時操作。在多項外部設備同時提出中斷請求情況下,CPU能根據輕重緩急響應外設的中斷請求;CPU可以分時為多個I/O設備服務,提高了計算機的利用率;

CPU與外部設備并行工作,以中斷方式相聯(lián)系,提高工作效率;實時響應。根據現(xiàn)場隨時變化的各種參數(shù)、信息,做出實時監(jiān)控;對突發(fā)事故,做出緊急處理;可靠性高。CPU具有處理設備故障及掉電等突發(fā)性事件的能力,從而使系統(tǒng)可靠性提高?!?-2中斷系統(tǒng)的結構一.中斷源信號2個外部中斷請求:INT0、INT12個定時器計數(shù)器溢出中斷請求:T0、T11個串行口1串行幀數(shù)據發(fā)送、接收結束中斷請求:TI、RI二.中斷允許控制總允許開關:EA源允許開關:ES、ET1、EX1、ET0、EX0三.2級中斷優(yōu)先級控制優(yōu)先級選擇開關:PS、PT1、PX1、PT0、PX0P3.2P3.3P3.4P3.5P3.0P3.1一.中斷控制寄存器§5-3中斷系統(tǒng)的控制

1.中斷標志位TF1、TF0、IE1、IE0——TCON;RI、TI——SCON=1,有中斷請求;=0,無中斷請求。CPU響應中斷后,中斷標志位自動清零,但TI/RI標志位須軟件清零。

2.外部中斷觸發(fā)方式選擇位:IT0、IT1——TCON=1:負跳沿觸發(fā)中斷請求;=0:低電平觸發(fā)中斷請求。

3.中斷允許控制位:EA、ES、ET1、EX1、ET0、EX0——IE=1開中斷;=0關中斷。

4.中斷優(yōu)先級控制位:PS、PT1、PX1、PT0、PX0——IP2級優(yōu)先級:=1,為高優(yōu)先級;=0,為低優(yōu)先級。 同一優(yōu)先級別按內部查詢順序排列優(yōu)先級:

高INT0、T0、INT1、T1、RX/TX低。

5.單片機復位時TCON、SCON、IE、IP清0,所有中斷請求被禁止,5個中斷源均為低級中斷,按中斷系統(tǒng)硬件確定的自然優(yōu)先級排列:高INT0、T0、INT1、T1、RX/TX低二.中斷的嵌套CPU執(zhí)行主程序CPU執(zhí)行低級中斷服務程序CPU執(zhí)行高級中斷服務程序CPU同一時間只能響應一個中斷請求,同時多個中斷申請時必須有先有后:?不同優(yōu)先級的中斷同時申請——先高后低?相同優(yōu)先級的中斷同時申請——按序執(zhí)行?正處理低優(yōu)先級中斷又接到高級別中斷——高打斷低?正處理高優(yōu)先級中斷又接到低級別中斷——高不理低§5-4中斷的處理過程中斷請求中斷判優(yōu)中斷條件中斷響應中斷處理中斷返回硬件自動完成用戶編程完成1.中斷請求被響應的條件一個中斷源的中斷請求被響應的基本條件:CPU開中斷:EA=1,允許所有中斷源申請中斷;中斷源的中斷請求標志位為1;中斷源的中斷允許標志位為1;無同級或更高級的中斷正在被服務;2.中斷被封鎖的情況CPU正在處理一個同級或更高級別的中斷請求。因為此時相應的中斷優(yōu)先級狀態(tài)觸發(fā)器被置1

當前正執(zhí)行指令,不是該指令的最后一個周期。當前正執(zhí)行的指令是返回指令(RETI)(本次中斷還沒有處理完)或訪問IP、IE寄存器(可能會開、關中斷或改變中斷的優(yōu)先級)的指令,則CPU至少再執(zhí)行一條指令才響應中斷。CPU每個機器周期順序檢查每個中斷源,當檢測到有中斷請求時,能否響應中斷,還要看下述情況是否存在:存在上述情況之一,CPU不對中斷進行響應。3.外部中斷的響應時間外部中斷響應時間:從CPU查詢外部中斷請求標志位到轉入中斷服務程序的入口地址所需的時間。對于1個單一中斷:中斷響應最短3個機器周期:恰在當前正執(zhí)行指令的最后1個機器周期查詢中斷請求標志位+執(zhí)行LCALL指令(響應中斷時由硬件自動生成)需2個機器周期;中斷響應最長8個機器周期:恰在當前正執(zhí)行RETI或與IP、IE寄存器有關的指令需2個機器周期+4(再執(zhí)行一條最長的乘、除法指令)+2(執(zhí)行LCALL指令)4.外部中斷的觸發(fā)方式外部中斷觸發(fā)方式選擇位:IT0、IT1=1:負跳沿觸發(fā)中斷請求;=0:低電平觸發(fā)中斷請求。低電平觸發(fā)方式:外部中斷請求觸發(fā)器的狀態(tài)隨外部中斷輸入電平的變化而變化,適合外部中斷以低電平輸入且中斷程序能使輸入的低電平變?yōu)楦唠娖降那闆r;負跳沿觸發(fā)方式:CPU在前一機器周期采到INT0/INT1引腳為高,后一機器周期采到為低,則外部中斷請求觸發(fā)器被置1并鎖存負跳變,適合以負脈沖(負脈沖寬度至少保持1個機器周期,持續(xù)到中斷發(fā)生)形式輸入的外部中斷請求。5.中斷的撤銷CPU在中斷返回前,把它響應的中斷標志位(TCON、SCON中的IE0、IE1、TF0、TF1、TI、RI位)復位成“0”狀態(tài)。中斷源撤消中斷標志的方法INT0/INT1負跳沿觸發(fā)中斷時,硬件置位,硬件復位。中斷請求信號自動撤銷。電平觸發(fā)中斷時,硬件置位,盡管CPU響應中斷時可用硬件自動復位成“0”狀態(tài),但必須人為撤消中斷請求信號(軟硬件結合)T0/T1由硬件置位和復位(也可由軟件清零),硬件自動撤消中斷請求。RI/TI由硬件置位,必須由軟件清零(CLRRI,CLRTI)電平方式外部中斷請求信號的軟硬件結合撤銷(教材P110頁)5.中斷的撤銷所需的負脈沖可通過在中斷服務程序中增加3條指令得到:0RLP1,#01H;P1.0為1ANLP1,#0FEH;P1.0為0

┆0RLP1,#01H;P1.0為1利用D觸發(fā)器的置位端SD實現(xiàn)中斷請求的撤銷6.中斷的響應過程CPU自動完成:CPU在T機器的S5P2,查詢中斷源,設置中斷標志位;判斷中斷響應條件滿足,CPU響應中斷;由硬件自動生成LCALL指令(例如對INT1的響應產生的LCALL指令為:LCALL0013H),自動把斷點地址壓入堆棧,并將對應中斷入口地址裝入PC,執(zhí)行中斷服務程序。用戶必須完成:中斷初始化:開相應中斷源的中斷(IE)、設定中斷優(yōu)先級(IP)、設定外部中斷的觸發(fā)方式;在中斷入口地址存放跳轉指令,使程序跳轉到用戶編寫的中斷服務程序起始地址;開發(fā)設計中斷服務程序。1.主程序結構

ORG0000HAJMPMAINORG0003HLJMPINT1O(jiān)RG000BHLJMPINT2┆ORG主程序入口地址MAIN:中斷初始化程序┆HERE:SJMPHERE;原地等待中斷申請(或:執(zhí)行其它任務)ORG中斷服務程序1入口地址

INT1:┆

RETI

ORG中斷服務程序2入口地址

INT2:┆

RETI§5-5中斷服務程序設計復位后,PC置成0000H,CPU從0000H單元開始執(zhí)行指令,所以用無條件轉移指令跳轉到主程序。每個中斷向量地址間隔8個單元,完成中斷程序空間少,在中斷處安排一個無條件轉移指令中斷源入口地址INT00003HT0000BHINT10013HT1001BHTI/RI0023H2.中斷初始化§5-5中斷服務程序設計例5-1設置IP寄存器的初始值,使得MCS-51的2個外中斷請求為高優(yōu)先級,其它中斷請求為低優(yōu)先級。

(1)用位操作指令SETBPX0;2個外中斷為高優(yōu)先級SETBPX1CLRPS;串行口、2個定時器/計數(shù)器為低優(yōu)先級中斷CLRPT0

CLRPT1(2)用字節(jié)操作指令

MOVIP,#05H或者用:

MOV0B8H,#05H;B8H為IP寄存器的字節(jié)地址MOVIP,#00000101B;例5-3假設允許外部中斷0中斷,并設定它為高級中斷,其它中斷源為低級中斷,采用跳沿觸發(fā)方式。在主程序中應有如下程序段:SETBEA;EA位置1,CPU開中斷SETBEX0;EX0位置1,允許外部中斷0產生中斷SETBPX0;PX0位置1,外部中斷0為高級中斷SETBIT0;IT0位置1,外部中斷0為跳沿觸發(fā)方式

2.中斷初始化§5-5中斷服務程序設計§5-5中斷服務程序設計SETBEACLREAPUSHPSWPUSHACCPUSHDPHPUSHDPL

POPDPLPOPDPHPOPACCPOPPSW3.中斷服務程序保護現(xiàn)場:當前PC值,PSW、工作寄存器和SFR等。恢復現(xiàn)場:完成中斷服務后,將保存在堆棧中的現(xiàn)場數(shù)據恢復。如果當前中斷服務程序不允許被中斷,則其前后的開中斷和關中斷2條指令可去掉。RETI可去掉響應過程:(假設已使某中斷請求標志置1)(1)先使相應優(yōu)先級狀態(tài)觸發(fā)器置1;(2)執(zhí)行一個硬件子程序的調用:1)硬件清零相應中斷請求標志(TI、RI除外)2)將當前PC內容壓入堆棧——保護斷點;3)將中斷服務子程序入口地址送PC——轉移。返回過程:(RETI執(zhí)行后)(1)使相應優(yōu)先級狀態(tài)觸發(fā)器清0。(2)從堆棧中彈出棧頂?shù)膬蓚€字節(jié)內容送PC——恢復斷點。(3)CPU接著中斷處繼續(xù)執(zhí)行原主程序?!?-5中斷服務程序設計3.中斷服務程序例5-4:中斷舉例用中斷控制完成這一輸入輸出過程,每請求中斷一次,完成一個讀/寫操作單片機讀P1.0口的狀態(tài),把這個狀態(tài)送到P1.7的指示燈去。當P1.0為高電平時指示燈亮,當P1.0為低電平時則指示燈不亮。RS觸發(fā)器INT0+5VP1.7P1.0+5V+5V&&1KΩ1KΩ8051O(jiān)RG0000HAJMPMAIN;上電自動轉向主程序ORG0003H;INT0的入口地址AJMPWINT;指向中斷服務程序子程序ORG0100H;主程序MAIN:SETBIT0;選擇邊沿觸發(fā)方式SETBEX0;允許外部中斷0SETBEA;允許總中斷HERE:AJMPHERE;主程序踏步ORG0200HWINT:MOVA,#0FFH;

MOVP1,A;P1準雙向口設定輸入態(tài)MOVA,P1;取開關數(shù)RRA;P1.0送P1.7MOVP1,A;輸出驅動燈泡發(fā)光RETI;中斷返回END中斷返回到何處?例5-5:中斷舉例通過外部中斷1,在中斷服務中將B寄存器里的內容左環(huán)移一位。已知:(B)=01H,要求采用邊沿觸發(fā),低優(yōu)先級。此例的實際意義:在INT1引腳接一個按鈕開關到地,每按一下按鈕就申請一次中斷,中斷服務則是依次點亮八盞燈中的一盞P1.0P1.7INT13008051ORG0000HLJMPMAINORG0013H;中斷矢量LJMPINTMAIN:SETBEA;開總中斷允許“開關”SETBEX1;開外部中斷1允許“開關”CLRPX1;0優(yōu)先級(也可不要此句)SETBIT1;邊沿觸發(fā)MOVB,#01H;給B寄存器賦初值HERE:SJMPHERE;原地等待中斷申請INT:MOVA,B;自B寄存器中取數(shù)RLA;左環(huán)移一次MOVB,A;存回B,備下次取用MOVP1,A;輸出到P1口RETI;中斷返回當外部中斷源多于中斷輸入引腳時,可采取以下措施:1.用定時器計數(shù)輸入信號端T0、T1作外部中斷入口引腳;2.用串行口接收端RXD作外部中斷入口引腳;3.用一個中斷入口接受多個外部中斷源,并加入中斷查詢

溫馨提示

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

評論

0/150

提交評論