《單片機應用技術基礎》課件-52 中斷系統結構以及工作原理_第1頁
《單片機應用技術基礎》課件-52 中斷系統結構以及工作原理_第2頁
《單片機應用技術基礎》課件-52 中斷系統結構以及工作原理_第3頁
《單片機應用技術基礎》課件-52 中斷系統結構以及工作原理_第4頁
《單片機應用技術基礎》課件-52 中斷系統結構以及工作原理_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

什么是中斷?中斷是指通過硬件來改變CPU的運行方向。計算機在執行程序的過程中,外部設備向CPU發出中斷請求信號,要求CPU暫時中斷當前程序的執行而轉去執行相應的處理程序,待處理程序執行完畢后,再繼續執行原來被中斷的程序。這種程序在執行過程中由于外界的原因而被中間打斷的情況稱為“中斷”。執行主程序主程序繼續執行主程序斷點中斷請求中斷響應執行中斷處理程序中斷返回MCS-51單片機的中斷系統結構中斷基本概念1中斷服務程序CPU響應中斷后,轉去執行相應的處理程序,該處理程序通常稱之為中斷服務程序。3斷點4中斷源5中斷請求2主程序原來正常運行的程序稱為主程序。主程序被斷開的位置(或地址)稱為斷點。引起中斷的原因,或能發出中斷申請的來源,稱為中斷源。中斷源要求服務的請求稱為中斷請求(或中斷申請)。SCONINT0IT0=0IT0=1INT1IT1=0IT1=1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA矢量地址高級中斷請求矢量地址低級中斷請求PX0PT0PX1PT1PSIEIPMCS-51的中斷系統結構圖自然優先級自然優先級IE0TF0IE1TCONSCONINT0IT0=0IT0=1INT1IT1=0IT1=1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA矢量地址高級中斷請求矢量地址低級中斷請求PX0PT0PX1PT1PSIEIPMCS-51的中斷系統結構圖自然優先級自然優先級IE0TF0IE1TCONSCONINT0IT0=0IT0=1INT1IT1=0IT1=1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA矢量地址高級中斷請求矢量地址低級中斷請求PX0PT0PX1PT1PSIEIPMCS-51的中斷系統結構圖自然優先級自然優先級IE0TF0IE1TCON中斷源允許總允許中斷優先級中斷標志位序號中斷源說明1INT0外部中斷0請求由P3.2引腳輸入,通過IT0位(TCON.0)來決定是低電平有效還是下降沿有效。一旦輸入信號有效,即向CPU申請中斷,并建立IE0(TCON.1)中斷標志。2INT1外部中斷1請求由P3.3引腳輸入,通過IT1位(TCON.2)來決定是低電平有效還是下降沿有效。一旦輸入信號有效,即向CPU申請中斷,并建立IE1(TCON.3)中斷標志。3TF0T0溢出中斷請求當T0產生溢出時,T0溢出中斷標志位TF0(TCON.5)置位(由硬件自動執行),請求中斷處理。4TF1T1溢出中斷請求當T1產生溢出時,T1溢出中斷標志位TF1(TCON.7)置位(由硬件自動執行),請求中斷處理。5RI或TI串行口中斷請求當接收或發送完一個串行幀時,內部串行口中斷請求標志位RI(SCON.0)或TI(SCON.1)置位(由硬件自動執行),請求中斷。MCS-51系列單片機中斷源中斷請求標志定時器控制寄存器(TCON)的中斷標志1當IT0=0,外部中斷0控制為電平觸發方式;當IT0=1,外部中斷0控制為邊沿(下降沿)觸發方式。外部中斷0觸發方式控制位位76543210字節地址:88HTF1TR1TF0TR0IE1IT1IE0IT0TCON中斷請求標志定時器控制寄存器(TCON)的中斷標志1IE0=1,外部中斷1向CPU申請中斷。外部中斷0中斷請求標志位位76543210字節地址:88HTF1TR1TF0TR0IE1IT1IE0IT0TCON中斷請求標志定時器控制寄存器(TCON)的中斷標志1當IT1=0,外部中斷1控制為電平觸發方式;當IT1=1,外部中斷1控制為邊沿(下降沿)觸發方式。外部中斷1觸發方式控制位位76543210字節地址:88HTF1TR1TF0TR0IE1IT1IE0IT0TCON中斷請求標志定時器控制寄存器(TCON)的中斷標志1IE1=1,外部中斷1向CPU申請中斷。外部中斷1中斷請求標志位位76543210字節地址:88HTF1TR1TF0TR0IE1IT1IE0IT0TCON中斷請求標志定時器控制寄存器(TCON)的中斷標志1T0被啟動計數后,從初值開始加1計數,計滿溢出后由硬件置位TF0,同時向CPU發出中斷請求,此標志一直保持到CPU響應中斷后才由硬件自動清0。也可由軟件查詢該標志,并由軟件清0。定時/計數器T0溢出中斷請求標志位位76543210字節地址:88HTF1TR1TF0TR0IE1IT1IE0IT0TCON中斷請求標志定時器控制寄存器(TCON)的中斷標志1T1被啟動計數后,從初值開始加1計數,計滿溢出后由硬件置位TF1,同時向CPU發出中斷請求,此標志一直保持到CPU響應中斷后才由硬件自動清0。也可由軟件查詢該標志,并由軟件清0。定時/計數器T1溢出中斷請求標志位位76543210字節地址:88HTF1TR1TF0TR0IE1IT1IE0IT0TCON中斷請求標志串行口控制寄存器(SCON)的中斷標志2位76543210字節地址:98HTIRISCON串行口接收中斷標志位

當允許串行口接收數據時,每接收完一個串行幀,由硬件置位RI。

注意:RI必須由軟件清除。中斷請求標志串行口控制寄存器(SCON)的中斷標志2串行口發送中斷標志位當CPU將一個發送數據寫入串行口發送緩沖器時,就啟動了發送過程。每發送完一個串行幀,由硬件置位TI。CPU響應中斷時,不能自動清除TI,TI必須由軟件清除。位76543210字節地址:98HTIRISCON中斷允許位位名稱說明EA總中斷允許控制位IE.7EA=1,開放所有中斷,各中斷源的允許和禁止可通過相應的中斷允許位單獨加以控制;EA=0,禁止所有中斷。ES串行口中斷允許位IE.4ES=1,允許串行口中斷;ES=0禁止串行口中斷。ET1T1中斷允許位IE.3ET1=1,允許T1中斷;ET1=0,禁止T1中斷。D7D6D5D4D3D2D1D0IE(A8H)中斷的開放和禁止EA××ESET1EX1ET0EX0MCS-51系列單片機的5個中斷源都是可屏蔽中斷,中斷系統內部設有一個專用寄存器IE,用于控制CPU對各中斷源的開放或屏蔽。IE寄存器格式如下:中斷允許位位名稱說明EX1INT1中斷允許位IE.2EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。ET0T0中斷允許位IE.1ET0=1,允許T0中斷;ET0=0,禁止T0中斷。EX0INT0中斷允許位IE.0EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0中斷。D7D6D5D4D3D2D1D0IE(A8H)中斷的開放和禁止EA××ESET1EX1ET0EX0中斷優先級在某一時刻有幾個中斷源同時發出中斷請求時,處理器只響應其中優先權最高的中斷源。當處理機正在運行某個中斷服務程序期間出現另一個中斷源的請求時,如果后者的優先權低于前者,處理機不予理睬,反之,處理機立即響應后者,進入所謂的“嵌套中斷”。中斷優先權的排序按其性質、重要性以及處理的方便性決定,由硬件的優先權仲裁邏輯或軟件的順序詢問程序來實現。中斷優先級MCS-51系列單片機有兩個中斷優先級:高優先級低優先級每個中斷源都可以通過設置中斷優先級寄存器IP確定為高優先級中斷或低優先級中斷,實現二級嵌套。同一優先級別的中斷源可能不止一個。因此,也需要進行優先權排隊。同一優先級別的中斷源采用自然優先級。中斷優先級位76543210字節地址:B8HPT2PSPT1PX1PT0PX0IP用于鎖存各中斷源優先級控制位中斷優先級控制位位名稱說明PS串行口中斷優先控制位IP.4PS=1,設定串行口為高優先級中斷;PS=0,設定串行口為低優先級中斷。PT1定時器T1中斷優先控制位IP.3PT1=1,設定定時器T1為高優先級中斷;PT1=0,設定定時器T1為低優先級中斷。PX1外部中斷1中斷優先控制位IP.2PX1=1,設定外部中斷1為高優先級中斷;PX1=0,設定外部中斷1為低優先級中斷。PT0T0中斷優先控制位IP.1PT0=1,設定定時器T0為高優先級中斷;PT0=0,設定定時器T0為低優先級中斷。PX0外部中斷0中斷優先控制位IP.0PX0=1,設定外部中斷0為高優先級中斷;PX0=0,設定外部中斷0為低優先級中斷。中斷處理過程中斷響應中斷響應是指CPU對中斷源中斷請求的響應。CPU并非任何時刻都能響應中斷請求,而是在滿足所有中斷響應條件、且不存在任何一種中斷阻斷情況時才會響應。中斷處理過程①有中斷源發出中斷請求;②中斷總允許位EA置1;③申請中斷的中斷源允許位置1。CPU響應中斷的條件①CPU正在響應同級或更高優先級的中斷;②當前指令未執行完;③正在執行中斷返回或訪問寄存器IE和IP。CPU響應中斷的阻斷情況中斷源發中斷請求中斷是否受阻?

把PC斷點地址壓入堆棧中斷響應條件是否滿足?NYYN

由硬件自動完成

相應中斷源的中斷入口地址送入PC,轉向中斷服務程序中斷處理過程保護現場和恢復現場的過程中不允許中斷,以免現場遭到破壞。保護和恢復現場之后的開中斷是為了允許有更高級中斷打斷此中斷服務程序。中斷處理過程斷點地址由堆棧彈入PC

關中斷保護現場中斷服務

開中斷

關中斷恢復現場

開中斷中斷返回中斷處理過程中斷響應時間中斷響應時間是指從中斷請求標志位置位到CPU開始執行中斷服務程序的第一條語句所需要的時間。1)中斷請求不被阻斷的情況外部中斷響應時間至少需要3個機器周期,這是最短的中斷響應時間。一般來說,若系統中只有一個中斷源,則中斷響應時間為3~8個機器周期。2)中斷請求被阻斷的情況如果系統不滿足所有中斷響應條件、或者存在任何一種中斷阻斷情況,那么中斷請求將被阻斷,中斷響應時間將會延長。中斷處理過程中斷的應用中斷響應過程就是自動調用并執行中斷函數的過程。C51編譯器支持在C源程序中直接以函數形式編寫中斷服務程序。常用的中斷函數定義語法如下:

void函數名()interruptn其中n為中斷類型號,下面給出了8051控制器所提供的5個中斷源所對應的中斷類型號:

中斷源

外部中斷0

定時/計數器0

外部中斷1

定時/計數器1

串行口

n01234中斷函數一般函數前面不需要

溫馨提示

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

評論

0/150

提交評論