第5章AT89S51的中斷系統(tǒng)_第1頁
第5章AT89S51的中斷系統(tǒng)_第2頁
第5章AT89S51的中斷系統(tǒng)_第3頁
第5章AT89S51的中斷系統(tǒng)_第4頁
第5章AT89S51的中斷系統(tǒng)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第 5 章章 AT89S51單片機的中斷系統(tǒng)單片機的中斷系統(tǒng)主要內(nèi)容:主要內(nèi)容: 1. AT89S51中斷系統(tǒng)的硬件組成、工作原理。 2. 與中斷系統(tǒng)相關(guān)的特殊功能寄存器。 3. 中斷系統(tǒng)的應(yīng)用特性。 重點掌握:重點掌握:1. 中斷系統(tǒng)的初始化編程中斷系統(tǒng)的初始化編程2. 中斷服務(wù)子程序的設(shè)計中斷服務(wù)子程序的設(shè)計執(zhí)行中斷服務(wù)程序5.1 AT89S51中斷技術(shù)概述中斷技術(shù)概述 圖圖5-1 中斷響應(yīng)和處理過程中斷響應(yīng)和處理過程CPU正執(zhí)行程序時,單片機外部或內(nèi)部發(fā)生某一事件,請求CPU迅速去處理。CPU暫時中止當前工作,轉(zhuǎn)到中斷服務(wù)程序處理。中斷請求:中斷請求:中斷返回:中斷返回:中斷處理:中斷

2、處理:處理完該事件后,再回到原來被中止的地方,繼續(xù)工作。中斷響應(yīng):中斷響應(yīng):圖圖5-2 AT89S51中斷系統(tǒng)結(jié)構(gòu)示意圖中斷系統(tǒng)結(jié)構(gòu)示意圖5.2 AT89S51中斷系統(tǒng)結(jié)構(gòu)中斷系統(tǒng)結(jié)構(gòu) 有有5個中斷請求源,兩個中斷優(yōu)先級,可兩級嵌套。個中斷請求源,兩個中斷優(yōu)先級,可兩級嵌套。5.3 AT89S51中斷請求源中斷請求源由引腳INT0輸入中斷請求標志為IE0 INT1外部中斷請求外部中斷請求1 定時器定時器/計數(shù)器計數(shù)器T0溢出中斷請求溢出中斷請求 定時器定時器/計數(shù)器計數(shù)器T1溢出中斷請求溢出中斷請求 串行口中斷請求串行口中斷請求 INT0外部中斷請求外部中斷請求0由引腳INT1輸入中斷請求標志

3、為IE1中斷請求標志為TF0中斷請求標志為TF1請求標志為TI或RI5.4 AT89S51中斷系統(tǒng)相關(guān)的寄存器中斷系統(tǒng)相關(guān)的寄存器5個中斷請求源的中斷請求標志分別由TCON和 SCON寄存器的相應(yīng)位鎖存。圖圖5-3 特殊功能寄存器特殊功能寄存器TCON的格式的格式字節(jié)地址為88H,可位尋址。1. TCON寄存器寄存器(定時器/計數(shù)器的控制寄存器)(1)IT0選擇外中斷請求選擇外中斷請求0為為跳沿觸發(fā)跳沿觸發(fā)還是還是電平觸發(fā)。電平觸發(fā)。 IT0=0,為電平觸發(fā)方式 IT0=1,為跳沿觸發(fā)方式(2)IE0外部中斷請求外部中斷請求0的中斷請求標志位。的中斷請求標志位。 IE0=0,無中斷請求 IE0

4、=1,有中斷請求(3)IT1意義與IT0類似。(4)IE1意義與IE0類似??捎绍浖谩?”或清“0”1. TCON寄存器(續(xù))寄存器(續(xù))由硬件清“0”IE0。(5)TF0T0溢出中斷請求標志位。溢出中斷請求標志位。 T0計數(shù)溢出時,由硬件置“1”TF0,向CPU申請 中斷,被響應(yīng)后,硬件自動清硬件自動清“0”。(6)TF1T1的溢出中斷請求標志位。的溢出中斷請求標志位。 功能和TF0類似。 TR1、TR0 這兩位與中斷無關(guān)。這兩位與中斷無關(guān)。 注意:注意: 當AT89S51復(fù)位后,TCON寄存器被清0。1. TCON寄存器(續(xù))寄存器(續(xù)) 2. SCON寄存器寄存器(串行口控制寄存器)字

5、節(jié)地址98H,可位尋址。格式如下:(1)TI發(fā)送中斷請求標志位。發(fā)送中斷請求標志位。 串口每發(fā)送完一幀串行數(shù)據(jù)后,硬件自動將TI置“1” 。 必須用軟件對TI標志清“0”。(2)RI接收中斷請求標志位。接收中斷請求標志位。 串口接收完一個數(shù)據(jù)幀,硬件自動將RI置“1” 。 必須用軟件對RI標志清“0”。5.4 AT89S51中斷系統(tǒng)相關(guān)的寄存器(續(xù))中斷系統(tǒng)相關(guān)的寄存器(續(xù)) 3. IE寄存器寄存器(中斷允許寄存器)IE對中斷的開放和關(guān)閉為兩級控制。字節(jié)地址A8H,可位尋址。格式如下:(1)EA:中斷允許總控制位中斷允許總控制位 0:CPU屏蔽所有的中斷請求(CPU關(guān)中斷); 1:CPU開放所

6、有中斷(CPU開中斷)。5.4 AT89S51中斷系統(tǒng)相關(guān)的寄存器(續(xù))中斷系統(tǒng)相關(guān)的寄存器(續(xù))(2)ES:串行口中斷允許位串行口中斷允許位0:禁止串行口中斷;1:允許串行口中斷。(3)ET1:定時器定時器/計數(shù)器計數(shù)器T1的溢出中斷允許位的溢出中斷允許位 0:禁止T1溢出中斷; 1:允許T1溢出中斷。(4)EX1:外部中斷外部中斷1中斷允許位中斷允許位 0:禁止外部中斷1中斷; 1:允許外部中斷1中斷。(5)ET0:定時器定時器/計數(shù)器計數(shù)器T0的溢出中斷允許位的溢出中斷允許位 0:禁止T0溢出中斷; 1:允許T0溢出中斷。 3. IE寄存器寄存器(續(xù))(6)EX0:外部中斷外部中斷0中斷

7、允許位。中斷允許位。 0:禁止外部中斷0中斷; 1:允許外部中斷0中斷。例例5-1 若允許片內(nèi)2個定時器/計數(shù)器中斷,禁止其它中斷源的中斷請求。編寫設(shè)置IE的相應(yīng)程序段CLR ES ;禁止串行口中斷 CLR EX1 ;禁止外部中斷1中斷CLR EX0 ;禁止外部中斷0中斷SETB ET0 ;允許定時器/計數(shù)器T0中斷SETB ET1 ;允許定時器/計數(shù)器T1中斷SETB EA ;CPU開中斷(1)用位操作指令來實現(xiàn):)用位操作指令來實現(xiàn):(2 2)用字節(jié)操作指令來實現(xiàn):)用字節(jié)操作指令來實現(xiàn):MOV IE,#8AH 3. IE寄存器寄存器(續(xù))4. IP寄存器寄存器(中斷優(yōu)先級寄存器) 兩級中

8、斷嵌套兩級中斷嵌套:兩條基本規(guī)則兩條基本規(guī)則:(1)低優(yōu)先級可被高優(yōu)先級中斷,反之則不能。(2)同級中斷不會被它的同級中斷源所中斷。5.4 AT89S51中斷系統(tǒng)相關(guān)的寄存器(續(xù))中斷系統(tǒng)相關(guān)的寄存器(續(xù))字節(jié)地址為B8H,可位尋址。格式如下:(1)PS串行口中斷優(yōu)先級控制位串行口中斷優(yōu)先級控制位(2)PT1定時器定時器T1中斷優(yōu)先級控制位中斷優(yōu)先級控制位4. IP寄存器寄存器(續(xù)) (3)PX1外部中斷外部中斷1中斷優(yōu)先級控制位中斷優(yōu)先級控制位(4)PT0定時器定時器T0中斷優(yōu)先級控制位中斷優(yōu)先級控制位(5)PX0外部中斷外部中斷0中斷優(yōu)先級控制位中斷優(yōu)先級控制位由軟件可改變各中斷源的中斷優(yōu)

9、先級由軟件可改變各中斷源的中斷優(yōu)先級1 1:高優(yōu)先級中斷;0 0:低優(yōu)先級中斷。 中斷源中斷源 中斷級別中斷級別外部中斷外部中斷0最高最高T0溢出中斷溢出中斷外部中斷外部中斷1T1溢出中斷溢出中斷串行口中斷串行口中斷最低最低同時收到多個同優(yōu)先級的中斷請求時,優(yōu)先響應(yīng)哪一個中斷,取決于內(nèi)部的查詢順序。查詢順序如下:4. IP寄存器寄存器(續(xù)) 5.5 有關(guān)中斷的幾個問題有關(guān)中斷的幾個問題(1)中斷總允許位EA=1。(2)該中斷源對應(yīng)的中斷請求標志為“1” 。(3)該中斷源的中斷允許位為“1”(4)無同級或更高級中斷正在被服務(wù)。一、響應(yīng)中斷請求的條件?一、響應(yīng)中斷請求的條件?(1)由硬件自動生成一

10、條長調(diào)用指令:LCALL addr16(2)執(zhí)行該指令,即把PC的內(nèi)容壓入堆棧以保護 斷點,再將相應(yīng)中斷入口地址裝入PC。各中斷源服務(wù)程序的入口地址固定,如下所示:中斷源 入口地址 外部中斷0 0003H定時器/計數(shù)器T0 000BH外部中斷1 0013H定時器/計數(shù)器T1 001BH串行口中斷 0023H5.5 有關(guān)中斷的幾個問題(續(xù))有關(guān)中斷的幾個問題(續(xù))二、中斷響應(yīng)的主要過程?二、中斷響應(yīng)的主要過程?(2)所查詢的機器周期不是當前正在執(zhí)行指令的最 后一個機器周期。只有在當前指令執(zhí)行完畢后, 才能進行中斷響應(yīng)。(3)正在執(zhí)行的指令是RETI或是訪問IE或IP的指令。 需要再去執(zhí)行完一條指

11、令,才能響應(yīng)新的中斷請求。 如果存在上述三種情況之一,如果存在上述三種情況之一,CPU將將丟棄丟棄中斷查詢結(jié)果中斷查詢結(jié)果,不能對中斷進行響應(yīng)。,不能對中斷進行響應(yīng)。(1)CPU正在處理同級或更高優(yōu)先級的中斷。5.5 有關(guān)中斷的幾個問題(續(xù))有關(guān)中斷的幾個問題(續(xù))三、拒絕中斷響應(yīng)的情況?三、拒絕中斷響應(yīng)的情況?(1)最短響應(yīng)時間為)最短響應(yīng)時間為3個機器周期個機器周期:查詢中斷請求標志位占1個機器周期。轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序入口,需2個機器周期。5.5 有關(guān)中斷的幾個問題(續(xù))有關(guān)中斷的幾個問題(續(xù))四、單一中斷的系統(tǒng)中,外部中斷的響應(yīng)時間?四、單一中斷的系統(tǒng)中,外部中斷的響應(yīng)時間?(2)最

12、長響應(yīng)時間為)最長響應(yīng)時間為8個機器周期:個機器周期:若剛好是開始執(zhí)行RETI或是訪問IE或IP的指令,則需 把當前指令執(zhí)行完再繼續(xù)執(zhí)行一條指令后,才能響應(yīng) 中斷,當前指令執(zhí)行完最長需2個機器周期。再繼續(xù)執(zhí)行的指令若是MUL或DIV,則需4個機器周期。轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序入口,需要2個機器周期。如果已在處理同級或更高級中斷,響應(yīng)時間無法計算。如果已在處理同級或更高級中斷,響應(yīng)時間無法計算。1定時器定時器/計數(shù)器中斷請求的撤消計數(shù)器中斷請求的撤消 中斷請求被響應(yīng)后,硬件會自動清TF0或TF1。2外部中斷請求的撤消外部中斷請求的撤消跳沿方式外部中斷請求的撤消是自動撤消的。電平方式外部中斷請求的撤

13、消:除標志位清“0”自 動實現(xiàn)外,還需在響應(yīng)后把中斷請求信號引腳從 低電平強制改變?yōu)楦唠娖健?.5 有關(guān)中斷的幾個問題(續(xù))有關(guān)中斷的幾個問題(續(xù))3串行口中斷請求的撤銷串行口中斷請求的撤銷五、中斷請求如何撤銷?五、中斷請求如何撤銷?在中斷服務(wù)程序中用軟件的方法撤銷例:CLR TI 或 CLR RI 注:前注:前3條一般放在主程序的初始化程序段中。條一般放在主程序的初始化程序段中。5.6中斷服務(wù)子程序的設(shè)計中斷服務(wù)子程序的設(shè)計中斷系統(tǒng)的運行必須與中斷服務(wù)子程序配合才能正確使用中斷系統(tǒng)的運行必須與中斷服務(wù)子程序配合才能正確使用一、中斷服務(wù)程序設(shè)計的任務(wù)一、中斷服務(wù)程序設(shè)計的任務(wù)(1)設(shè)置中斷允許

14、控制寄存器IE。(2)設(shè)置中斷優(yōu)先級寄存器IP。(3)對外中斷源,是采用電平觸發(fā)還是跳沿觸發(fā)。(4)編寫中斷服務(wù)程序,處理中斷請求。SETB IT0 ;外中斷0為跳沿觸發(fā)方式 5.6中斷服務(wù)程序的設(shè)計(續(xù))中斷服務(wù)程序的設(shè)計(續(xù))例例5-2: 假設(shè)允許外部中斷0中斷,并設(shè)定它為高級 中斷,其它中斷源為低級中斷,采用跳沿 觸發(fā)方式。SETB EA ;CPU開中斷在主程序中編寫如下程序段:在主程序中編寫如下程序段:SETB ET0 ;允許外中斷0產(chǎn)生中斷SETB PX0 ;外中斷0為高級中斷5.6 中斷服務(wù)子程序的設(shè)計(續(xù))中斷服務(wù)子程序的設(shè)計(續(xù))二、采用中斷時的主程序結(jié)構(gòu)二、采用中斷時的主程序

15、結(jié)構(gòu)常用的主程序結(jié)構(gòu)如下:常用的主程序結(jié)構(gòu)如下: ORG0000H LJMP MAIN ORG 中斷入口地址中斷入口地址 LJMP INT ORG XXXXHMAIN:主主 程程 序序 INT:中斷服務(wù)子程序中斷服務(wù)子程序例例5-35-3:按下按鍵,點亮發(fā)光二極管;再次按下,熄 滅,循環(huán)往復(fù)。用中斷方式編程實現(xiàn)。 ORG 0003H ;外部中斷0服務(wù)程序入口 AJMP INI0 ORG 0040HMAIN: SETB IT0 ;置中斷觸發(fā)方式為邊沿觸發(fā) SETB EX0 ;開外部中斷0 SETB EA ;開中斷 SJMP $INI0: PUSH PSW CPL P1.0 POP PSW RETIORG 0000HAJMP MAINEND人有了知識,就會具備各種分析能力,人有了知識,就會具備各種分析能力,明辨是非的能力。明辨是非的能力。所以我們要勤懇讀書,廣泛閱讀,所以我們要勤懇讀書,廣泛閱讀,古人說古人說“

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論