




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
系列單片機中斷系統(tǒng)及定時計數(shù)器中斷的基本概念日常生活中斷的例子單片機中的中斷概念中斷技術的優(yōu)點什么是中斷,我們從生活中的例子引入??磿睦樱耗阏诳磿?,突然鈴響了,......。中斷就是正常的工作被外部事件打斷了。日常生活中的中斷仔細研究一下生活中的中斷,對于我們學習計算機中的中斷也很有好處。
1、什么可以引起中斷?生活中有很多事件可以引起中斷:有人按了門鈴,鈴響了,你的鬧鐘鈴響了,你燒的水開了,你內急了....等等諸如此類的事件,我們把可以引起中斷的事件稱之為中斷源。計算機中也有一些可以引起中斷的事件,像MCU51單片機就有5個中斷源。
2、中斷的嵌套與優(yōu)先級處理:設想一下,我們正在看書,鈴突然響了,同時又有人按了門鈴,你該先做那樣呢?如果你正在等一個很重要的,你一般不會去理會門鈴的,而反之,你正在等一個很重要的客人,則可能就不會去理會了。如果不是這兩者(即不等,也不等人上門)你可能會按你通常的習慣去處理??傊@里存在一個優(yōu)先級問題。優(yōu)先級問題不僅僅發(fā)生在兩個或以上的中斷同時產生的情況,也發(fā)生在一個中斷已經產生,又有一個中斷產生的情況。如你正在接,有人按門鈴的情況,或你正在開門與人交談,又有鈴了的情況。考慮一下我們會怎么辦吧。
3、中斷的響應過程:(看書的例子)當有事件產生,進入中斷之前我們必須先記住現(xiàn)在看書的第幾頁了,或拿一個書簽放在當前頁的位置,然后去處理不同的事情(因為處理完了,我們還要來繼續(xù)看書)。(接的例子)鈴響了我們要到放的地方去,門鈴響了,我們要到門那邊去,也就是說,不同的中斷,我們要在不同的地點處理,而這個地點通常還是固定的,這也和計算機中的中斷類似,如51MCU的5個中斷源都有各自的中斷入口地址,當某個中斷源產生中斷時,CPU響應中斷便到相應的中斷入口地址執(zhí)行程序。
計算機中的中斷計算機執(zhí)行正常程序時,系統(tǒng)出現(xiàn)某些急需處理的異常情況和特殊請求,CPU暫時中止現(xiàn)在正在執(zhí)行的的指令,轉去對隨機發(fā)生的更緊迫事件處理;處理完后,CPU會自動返回原來的程序繼續(xù)執(zhí)行。就如:你正在家中看書,突然鈴響了,你放下書本,去接,和來的人交談,然后放下,回來繼續(xù)看你的書。這就是生活中的“中斷”的現(xiàn)象,就是正常的工作過程被外部的事件打斷了。計算機中的中斷計算機中的中斷
中斷是指由于某種隨機事件的發(fā)生,計算機暫?,F(xiàn)行程序的運行,轉去執(zhí)行另一程序,以處理發(fā)生的事件,處理完畢后又自動返回原來的程序繼續(xù)運行。將能引起中斷的事件稱為中斷源。CPU現(xiàn)行運行的程序稱為主程序。處理隨機事件的程序稱為中斷服務子程序。
中斷技術的優(yōu)點分時操作
——CPU可以同多個外設“同時”工作實時處理
——CPU及時處理隨機事件故障處理
——電源掉電、存儲出錯、運算溢出MCS-51中斷系統(tǒng)中斷源中斷標志中斷允許中斷優(yōu)先級MCS-51中斷系統(tǒng)結構中斷寄存器
MCS-51的中斷系統(tǒng)——中斷源8051單片機有5個中斷請求源:單片機INT0或
外部輸入中斷源INT0(P3.2)INT1或
外部輸入中斷源INT1(P3.3)T0
片內定時器T0的溢出T1
片內定時器T1的溢出串行口
片內串行口發(fā)送或接收中斷源
MCS-51的中斷系統(tǒng)——中斷標志CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷標志位
每一個中斷源都有相應的中斷標志位;某一個中斷源申請中斷,相應中斷標志位置1。
MCS-51的中斷系統(tǒng)——中斷允許CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷標志位
EA——總中斷允許位,EA=1開放所有中斷,EA=0,禁止所有中斷;某一個中斷源還有相應的中斷允許位,1允許相應中斷源的中斷,0禁止相應中斷源的中斷。中斷允許ESET0EX0EX1ET1EAIE0TCONSCONINT0IT0=0IT0=1INT1IT1=0IT1=1TF0IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然優(yōu)先級矢量地址高級中斷請求自然優(yōu)先級矢量地址低級中斷請求PX0PT0PX1PT1PSIEIPMCS-51的中斷系統(tǒng)結構圖中斷標志位中斷源允許總允許中斷優(yōu)先級TF1
TF0
IE1IT1IE0IT0TCONT1溢出中斷標志(TCON.7):T1啟動計數(shù)后,計滿溢出由硬件置位TF1=1,向CPU請求中斷,此標志一直保持到CPU響應中斷后,才由硬件自動清0。也可用軟件查詢該標志,并由軟件清0。76543210TCON寄存器——T0和T1控制寄存器TF1
TF0
IE1IT1IE0IT0TCON88H外部中斷INT1中斷標志位(TCON.3):IE1=1,外部中斷1向CPU申請中斷
外部中斷INT1觸發(fā)方式控制位(TCON.2):
IT1=0,電平觸發(fā)方式
IT1=1,下降沿觸發(fā)方式76543210TCON寄存器——T0和T1控制寄存器注意:該寄存器可以位尋址。TF1:定時器1的溢出中斷標志。T1被啟動計數(shù)后,從初值做加1計數(shù),計滿溢出后由硬件置位TF1,同時向CPU發(fā)出中斷。TF0:定時器0溢出中斷標志。其操作功能同TF1。IE1:外部中斷1標志。IE1=1,外部中斷1向CPU申請中斷。IT1:外中斷1觸發(fā)方式控制位。當IT1=0時,外部中斷1控制為電平觸發(fā)方式。當IT1=1時,外部中斷1控制為電平觸發(fā)方式。IE0:外部中斷0中斷標志。其操作功能與IE1相同。IT0:外中斷0觸發(fā)方式控制位。其操作功能與IT1相同。返回
TI(SCON.1)——串行發(fā)送中斷標志。
RI(SCON.0)——串行接收中斷標志。
TIRISCON寄存器——串行口控制寄存器SCON98H76543210注意:該寄存器可以位尋址。TI:串行發(fā)送中斷標志CPU將數(shù)據(jù)寫入發(fā)送緩沖器SBUF時,就啟動發(fā)送,每發(fā)送完一個串行幀,硬件將使TI置位。注意:CPU響應中斷時并不清除TI,必須由軟件清除。RI:串行接收中斷標志在串行口允許接收時,每接收完一個串行幀,硬件將使RI置位。注意:CPU在響應中斷時不會清除RI,必須由軟件清除IEA8H
EA
ESET1EX1ET0EX0例:允許定時器T0中斷:
SETBEASETBET0
或MOVIE,#82H76543210注意:該寄存器可以位尋址。IE寄存器—中斷允許寄存器EA:總中斷允許控制位。EA=1,開放所有中斷,各中斷源的允許和禁止可通過相應的中斷允許位單獨加以控制;EA=0,禁止所有中斷。ES:串行口中斷允許位。ES=1,允許串行口中斷;ES=0,禁止串行口中斷。ET1:定時器1中斷允許位。ET1=1,允許定時器1中斷;ET1=0,禁止定時器1中斷。EX1:外部中斷1中斷允許位。EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。ET0:定時器0中斷允許位。ET0=1,允許定時器0中斷;ET0=0,禁止定時器0中斷。EX0:外部中斷0中斷允許位。EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0中斷。
51單片機有兩個中斷優(yōu)先級——高級和低級專用寄存器IP為中斷優(yōu)先級寄存器,用戶可用軟件設定相應位為1,對應的中斷源被設置為高優(yōu)先級,相應位為0,對應的中斷源被設置為低優(yōu)先級系統(tǒng)復位時,均為低優(yōu)先級該寄存器可以位尋址
PSPT1PX1PT0PX0IP寄存器——中斷優(yōu)先級寄存器IPB8H
76543210PS:串行口中斷優(yōu)先控制位PS=1,設定串行口為高優(yōu)先級中斷;PS=0,設定串行口為低優(yōu)先級中斷。PT1:定時器T1中斷優(yōu)先控制位PT1=1,設定定時器T1中斷為高優(yōu)先級中斷;PT1=0,設定定時器T1中斷為低優(yōu)先級中斷。PX1:外部中斷1中斷優(yōu)先控制位PX1=1,設定外部中斷1為高優(yōu)先級中斷;PX1=0,設定外部中斷1為低優(yōu)先級中斷。PT0:定時器T0中斷優(yōu)先控制位PT0=1,設定定時器T0中斷為高優(yōu)先級中斷;PT0=0,設定定時器T0中斷為低優(yōu)先級中斷。PX0:外部中斷0中斷優(yōu)先控制位PX0=1,設定外部中斷0為高優(yōu)先級中斷;PX0=0,設定外部中斷0為低優(yōu)先級中斷。當系統(tǒng)復位后,所有中斷源均設定為低優(yōu)先級中斷。中斷的處理過程
中斷處理過程分為三個階段:中斷響應、中斷處理和中斷返回。中斷響應中斷處理(又稱中斷服務)
中斷返回
中斷請求的撤除
中斷響應中斷返回中斷響應:在滿足CPU的中斷響應條件之后,CPU對中斷源中斷請求予以處理。中斷響應過程:保護斷點地址;中斷響應
把程序轉向中斷服務程序的入口地址(通常稱矢量地址)。特別注意:這些工作是硬件自動完成的!
斷點地址中斷服務子程序的入口地址外部中斷0入口地址0003AJMPZD0ZD0中斷響應中斷服務子程序入口地址又稱為中斷矢量或中斷向量。中斷響應單片機中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
ORG000BHAJMPNTT0
ORG0100HMAIN:...INTT0:..RETIENDAJMPMAINAJMPINTT0中斷處理中斷服務程序從中斷子程序入口地址開始執(zhí)行,直到返回指令RETI為止,這個過程稱為中斷處理(或中斷服務)。中斷服務子程序一般包括兩部分內容,一是保護和恢復現(xiàn)場,二是處理中斷源的請求。中斷響應入口地址RETI中斷處理INTT0:PUSHACC PUSHDPHPUSHDPLPUSHPSW
中斷源服務
POPPSWPOPDPLPOPDPHPOPACCRETI保護現(xiàn)場恢復現(xiàn)場
中斷返回是指中斷服務完后,計算機返回到原來暫停的位置(即斷點),繼續(xù)執(zhí)行原來的程序。中斷返回由專門的中斷返回指令RETI來實現(xiàn)。中斷響應中斷返回中斷返回RETI指令功能:把斷點地址取出,送回到程序計數(shù)器PC中去。另外,它還通知中斷系統(tǒng)已完成中斷處理,將清除優(yōu)先級狀態(tài)觸發(fā)器。特別注意:不能用RET指令代替RETI指令!中斷響應中斷返回中斷返回中斷源發(fā)中斷請求中斷響應條件是否滿足?中斷是否受阻?
把PC斷點地址壓入堆棧
相應中斷源的中斷入口地址送入PC,轉向中斷服務程序NYYN
由硬件自動完成中斷處理過程示意圖
關中斷保護現(xiàn)場中斷服務
開中斷
關中斷恢復現(xiàn)場
開中斷中斷返回斷點地址由堆棧彈入PC保護現(xiàn)場和恢復現(xiàn)場的過程中不允許中斷,以免現(xiàn)場遭到破壞。保護和恢復現(xiàn)場之后的開中斷是為了允許有更高級中斷打斷此中斷服務程序。中斷服務程序硬件自動完成
CPU響應某中斷請求后,在中斷返回前,應該撤除該中斷請求,否則會引起另一次中斷。
定時器0或1溢出:CPU在響應中斷后,硬件清除了有關的中斷請求標志TFO或TF1,即中斷請求是自動撤除的。
邊沿激活的外部中斷:CPU在響應中斷后,也是用硬件自動清除有關的中斷請求標志IE0或IE1。
串行口中斷:CPU響應中斷后,沒有用硬件清除T1、R1,故這些中斷不能自動撤除,而要靠軟件來清除相應的標志。中斷請求的撤除電平觸發(fā)外部中斷撤除方法較復雜。因為在電平觸發(fā)方式中,CPU響應中斷時不會自動清除IE1或IE0標志,所以在響應中斷后應立即撤除INT0或INT1引腳上的低電平。在硬件上,CPU對INT0和INT1引腳的信號不能控制,所以這個問題要通過硬件,再配合軟件來解決。電平激活的外部中斷源中斷標志的撤除單片機僅有兩個外部中斷輸入端.可用兩種方法擴展:1.定時器T0,T1。(工作在計數(shù)方式下)
2.中斷和查詢結合。外部中斷源的擴展
1.用定時器作外部中斷源例
將定時器T0擴展為外部中斷源。解:將定時器T0設定為方式2(自動恢復計數(shù)初值),TH0和TF0的初值均設置為FFH,允許T0中斷,CPU開放中斷,源程序如下:
MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH SETB TR0 SETB ET0 SETB EA …T0引腳每輸入一個負跳變,TF0都會置1,向CPU請求中斷
T0腳相當于邊沿觸發(fā)的外部中斷源輸入線。2.中斷和查詢相結合圖:一個外中斷擴展成多個外中斷的原理圖中斷服務程序如下:ORG 0003H ;外部中斷0入口
AJMP INT0 ;轉向中斷服務程序入口
INT0:PUSH PSW ;保護現(xiàn)場
PUSH ACC,EXT0;中斷源查詢并轉相應中斷服務程序,EXT1,EXT2,EXT3EXIT:POP ACC ;恢復現(xiàn)場
POP PSWRETIEXT0:
;EXINT0中斷服務程序
AJMP EXITEXT1:
;EXINT1中斷服務程序
AJMP EXITEXT2: ;EXINT2中斷服務程序
AJMP EXITEXT3: ;EXINT3中斷服務程序
AJMP EXIT
同樣,外部中斷1也可作相應的擴展。中斷的處理即為用戶根據(jù)自己的需要編寫的中斷服務程序,在編寫時應該注意:中斷現(xiàn)場保護和恢復
中斷的現(xiàn)場保護主要是在中斷時刻單片機的存儲單元中的數(shù)據(jù)和狀態(tài)的存儲。中斷的恢復是恢復單片機在被中斷前存儲單元中的數(shù)據(jù)和狀態(tài)。開中斷和關中斷
對于一個不允許在執(zhí)行中斷服務程序時被打擾的重要中斷,可以在進入中斷時關閉中斷系統(tǒng),在執(zhí)行完后,再開放中斷系統(tǒng)。中斷的處理
中斷返回是在中斷服務程序的最后一句指令“RETI”執(zhí)行時進行的。它的主要功能是:中斷響應時壓入堆棧的程序計數(shù)器“PC”的值從堆棧中取出,重新賦予“PC”,使程序重新執(zhí)行被中斷前的程序。中斷返回MCS-51單片機具有兩個外中斷源:INT0:外中斷0中斷入口地址:0003H中斷允許控制位:EX0中斷請求標志:IE0中斷觸發(fā)方式選擇位:IT0優(yōu)先級設置位:PX0INT1:外中斷1中斷入口地址:0013H中斷允許控制位:EX1中斷請求標志:IE1中斷觸發(fā)方式選擇位:IT1優(yōu)先級設置位:PX1初始化時設置初始化時設置MCS-51單片機的外中斷外中斷的初始化內容設定中斷的優(yōu)先級(在大部分情況下,可以使用默認方式)設定中斷的觸發(fā)方式開中斷允許開總中斷允許外中斷的初始化方法1CLRPX0;設定外中斷0為低優(yōu)先級SETBIT0;設定外中斷0為邊沿觸發(fā)方式SETBEX0;開放外中斷0允許SETBEA;開CPU中斷允許方法2MOVIP,#00H;設定外中斷0為低優(yōu)先級MOVTCON,#01H;設定外中斷0為邊沿觸發(fā)方式MOVIE,#81H;開外中斷0和CPU中斷允許外中斷的初始化在如圖所示的電路中,用P1口輸出控制的8只發(fā)光二極管,實現(xiàn)8位二進制計數(shù)器,對INT0上出現(xiàn)的脈沖進行計數(shù)。脈沖產生電路顯示電路外中斷應用舉例1在該電路中,有兩個與非門構成硬件去抖動電路,開關S每動作一次,在單片機的INT0引腳上就會收到一個脈沖信號。如果把外中斷0設定為脈沖觸發(fā)方式,則每當S動作一次,則外中斷觸發(fā)一次在外中斷的中斷服務程序中計數(shù),并把計數(shù)的結果從P1口輸出。題意分析ORG 0000HAJMPMAIN;轉主程序
ORG0003H;外中斷入口地址
AJMPSER;中斷服務程序
MAIN:SETBIT0;設定外中斷0為邊沿觸發(fā)
SETBEX0;開外中斷0允許
SETBEA;開CPU中斷允許
CLR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年生豬出欄面試試題及答案
- 基坑沙土置換施工方案
- grc輕質隔墻施工方案
- 5年級說明文例文
- cba實驗環(huán)境要求
- 單面墻模板施工方案
- 瀝青路面灌縫施工方案
- 余江標識標牌施工方案
- 石籠擋墻施工方案
- 2025年新疆塔城地區(qū)單招職業(yè)傾向性測試題庫必考題
- 《小米市場營銷策略》課件
- 2025年湖南高爾夫旅游職業(yè)學院單招職業(yè)技能測試題庫附答案
- 雙均線策略(TBQ版)
- 2024年05月山東威海市商業(yè)銀行科技類社會招考筆試歷年參考題庫附帶答案詳解
- 2025年八省聯(lián)考云南高考生物試卷真題答案詳解(精校打印)
- 兒童長時間使用電子產品的安全
- 中國革命戰(zhàn)爭的戰(zhàn)略問題(全文)
- 申菱單元式空調機樣本
- 《統(tǒng)計計算》課程教學大綱
- 07FS02防空地下室給排水設施安裝
- 工程客戶問題處理管理制度
評論
0/150
提交評論