




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、5.1 中斷的概念中斷:是指中央處理器CPU正在執(zhí)行程序,處理某件事情的時候,外部發(fā)生了某一事件請求CPU馬上處理,CPU暫時中斷當前的工作轉(zhuǎn)入處理所發(fā)生的事件,處理完以后,再返回到原來被中斷的地方,繼續(xù)原來的工作。能夠?qū)崿F(xiàn)中斷處理功能的部件稱為中斷系統(tǒng)。向CPU 提出中斷請求的源稱為中斷源。中斷源向CPU 提出的處理請求,稱為中斷請求或中斷申請。CPU 同意處理該請求稱為中斷響應(yīng),處理中斷請求的程序稱為中斷服務(wù)子程序。當CPU暫時終止正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)子程序時,除了硬件自動把斷點PC值(即下一條應(yīng)執(zhí)行的指令地址)壓入堆棧之外,用戶應(yīng)注意保護有關(guān)的工作寄存器、累加器、標志位等信息
2、,這稱為保護現(xiàn)場; 在完成中斷服務(wù)子程序后,恢復(fù)有關(guān)的工作寄存器、累加器、標志位的內(nèi)容,稱為恢復(fù)現(xiàn)場;最后執(zhí)行中斷返回指令RETI,從堆棧中自動彈出斷點地址PC,繼續(xù)執(zhí)行被中斷的程序,稱為中斷返回。優(yōu)先權(quán):給各中斷源規(guī)定一個優(yōu)先級別,稱為優(yōu)先權(quán)。當兩個或者兩個以上的中斷源同時提出中斷請求時,計算機首先為優(yōu)先權(quán)最高的中斷源服務(wù),服務(wù)結(jié)束后再響應(yīng)級別較低的中斷源。計算機按中斷源級別高低逐次響應(yīng)的過程稱優(yōu)先權(quán)排隊。這個過程可以通過硬件電路來實現(xiàn),也可以通過程序查詢來實現(xiàn)。 中斷嵌套: 當CPU響應(yīng)某一中斷的請求而進行中斷處理時,若有優(yōu)先權(quán)級別更高的中斷源發(fā)出中斷申請,CPU則中斷正在進行的中斷服務(wù)程
3、序,并保留這個程序的斷點,響應(yīng)高級中斷,在高級中斷處理完以后,再繼續(xù)執(zhí)行被中斷的中斷服務(wù)程序(如圖5-1(b)所示)。中斷申請的中斷源的優(yōu)先權(quán)級別與正在處理的中斷源同級或更低時,CPU暫時不響應(yīng)這個中斷申請,直至正在處理的中斷服務(wù)程序執(zhí)行完以后才去處理新的中斷申請。5.2 MCS-51中斷系統(tǒng)MCS-51 單片機的中斷系統(tǒng)結(jié)構(gòu)隨型號的不同而不同,包括中斷源數(shù)目,中斷優(yōu)先級、中斷控制寄存器都有差異。典型的89C51單片機有5個中斷源,具有2個中斷優(yōu)先級,可以實現(xiàn)二級中斷嵌套。每一個中斷源可以設(shè)置為高優(yōu)先級或低優(yōu)先級中斷,允許或禁止向CPU申請中斷。89C51的中斷系統(tǒng)結(jié)構(gòu)如圖5-2所示。5.2.
4、1 MCS-51中斷源8051有5個中斷源:2個是引腳(P3.2)、(P3.3)輸入的外部中斷源;3個是內(nèi)部中斷源,它們是定時器T0、T1和串行口的中斷請求源。(1)外部中斷源上輸入的兩個外部中斷標志和觸發(fā)方式控制位在特殊功能寄存器TCON的低4位(見表5-1)。IE1:外部中斷1請求源(INT1,P3.3)標志。IE11表明外部中斷1正在向CPU申請中斷。當CPU響應(yīng)該中斷時由硬件清“0”IE1(邊沿觸發(fā)方式)。IT1:外部中斷1觸發(fā)方式控制位。 ITl0:外部中斷1為電平觸發(fā)方式。這種方式下,INT1 端輸入低電平時,置位IE1,CPU在每個周期都采樣INT1引腳的輸入電平,當采樣到低電平
5、時,置“1” IE1,采樣到高電平時清“0”IE1。采用電平觸發(fā)方式時,外部中斷源信號必須保持低電平信號有效,直到該中斷被CPU響應(yīng),同時在該中斷服務(wù)程序執(zhí)行完之前,外部中斷源必須被清除,否則將產(chǎn)生另一次中斷。 ITl1,外部中斷1控制為邊沿(先高后低的負跳變)觸發(fā)方式。這種方式CPU在每一個周期采樣引腳的輸入電平。如果相繼的兩次采樣,前一個周期采樣到INT1為高電平,后一個周期采樣到INT1為低電平,則置“1”IE1。IE1=1表示外部中斷1正在向CPU申請中斷,直到該中斷CPU響應(yīng)時,才由硬件清“0”IE1。因為每個機器周期采樣一次外部中斷輸入電平,因此采用邊沿觸發(fā)方式時,外部中斷源輸入的
6、高電平和低電平的時間必須保持12個時鐘周期以上,才能保證被CPU檢測到從高到低的跳變。IE0:外部中斷0請求源(INT0,P3.2)標志。 IE0=1外部中斷0向CPU請求中斷當CPU,響應(yīng)該中斷時由硬件清“0”IE0(邊沿觸發(fā)方式)。IT0:外部中斷0觸發(fā)方式控制,其控制方式與外部中斷1類似。IT0=0:外部中斷0為電平觸發(fā)方式。IT0=1:外部中斷0為邊沿觸發(fā)方式。(2)定時器T0、T1中斷源TF1和TF0分別為定時器T1和T0的溢出標志。(2)定時器T0、T1中斷源TF1和TF0分別為定時器T1和T0的溢出標志。 TFl:T1溢出中斷標志。T1被啟動計數(shù)后,從初值開始加1計數(shù),直至計滿溢
7、出后,由硬件使TFll,向CPU請求中斷,此標志一直保持到CPU響應(yīng)中斷后,才由硬件自動清“0”。也可用軟件查詢該標志,并由軟件清“0”。TF0:T0溢出中斷標志。其操作功能類似于TF1。(3)串行口中斷請求源SCON 為串行口控制寄存器,其低2 位鎖定串行口的發(fā)送中斷和接收中斷的中斷請求標志TI和RI TI:串行發(fā)送中斷標志。CPU將一個字節(jié)數(shù)據(jù)寫入發(fā)送緩沖器SBUF后啟動發(fā)送,每發(fā)送完一個串行幀,硬件置位TI。TI標志由軟件清除。 RI:串行接收中斷標志。在串行口允許接收時,每接收完一個串行幀,硬件置位RI。RI標志由軟件清除。 5.2.2 中斷控制1中斷允許寄存器IE(某位“1允許,“0
8、”禁止)EA:中斷允許總控制ES:串行口中斷允許位ET1:定時/計數(shù)器T1的溢出中斷允許位。EX1:外部中斷1中斷允許位ET0:定時/計數(shù)器T0 的溢出中斷允許位。EX0:中斷0中斷允許位。2中斷優(yōu)先級寄存器IPMCS51 單片機有兩個中斷優(yōu)先級,對于每一個中斷請求源可編程為高優(yōu)先級中斷或低優(yōu)先級中斷。專用寄存器IP統(tǒng)一管理中斷優(yōu)先級,它具有兩個中斷優(yōu)先級,由軟件設(shè)置每個中斷源為高優(yōu)先級中斷或低優(yōu)先級中斷,并可實現(xiàn)兩級中斷嵌套。高優(yōu)先級中斷源可以中斷正在執(zhí)行的低優(yōu)先級中斷服務(wù)程序,除非在執(zhí)行低優(yōu)先級中斷服務(wù)程序時設(shè)置了CPU關(guān)中斷或禁止某些高優(yōu)先級中斷源的中斷。同級或低優(yōu)先級的中斷源不能中斷正
9、在執(zhí)行的中斷服務(wù)程序。如果IP中優(yōu)先級別相同,CPU將采用默認優(yōu)先級處理中斷。 默認優(yōu)先級由硬件形成,排列次序如下: 中斷源 默認優(yōu)先級外部中斷0 最高級定時器T0 外部中斷1 定時器T0串行口中斷 最低級當重新設(shè)置優(yōu)先級時,則順序查詢邏輯電路將會改變相應(yīng)排隊順序。例如,給中斷優(yōu)先級寄存器IP中設(shè)置的優(yōu)先級控制字為11H,則PS和PX0均為高優(yōu)先級中斷。當這兩個中斷源同時發(fā)出中斷申請時,CPU將先響應(yīng)自然優(yōu)先級高的PX0的中斷申請,而后響應(yīng)自然優(yōu)先級低的PS的中斷申請。 中斷優(yōu)先級寄存器IP 各位的功能如表5-4所列(某位為1,設(shè)置為高優(yōu)先級) PS:串行口中斷優(yōu)先級控制位PT1:定時/計數(shù)器
10、T1中斷優(yōu)先級控制位PX1:外部中斷1中斷優(yōu)先級控制位PT0:定時器T0中斷優(yōu)先級控制位PX0:外部中斷0 中斷優(yōu)先級控制位5.2.3 中斷處理1中斷響應(yīng)過程CPU 在每一個機器周期順序檢查每一個中斷源。并按優(yōu)先級處理每個被激活的中斷請求,如果沒有被下述條件所阻止,將在下一個機器周期響應(yīng)激活了的最高級中斷請求。(1)CPU 正在處理相同的或更高優(yōu)先級的中斷;(2)現(xiàn)行的機器周期不是所執(zhí)行指令的最后個機器周期;(3)正在執(zhí)行的指令是RETI 或是訪問IE或IP的指令(CPU 在執(zhí)行RETI 或訪問IE、IP 的指令后,至少需要再執(zhí)行一條指令才會響應(yīng)新的中斷請求)。如果上述條件中有一個存在,CPU
11、將丟棄中斷查詢結(jié)果;若一個條件都不存在,將在緊接著的下一個周期執(zhí)行中斷查詢結(jié)果。CPU響應(yīng)中斷時,先置位相應(yīng)的中斷優(yōu)先級狀態(tài)觸發(fā)器(該觸發(fā)器指出CPU開始處理中斷的級別),然后執(zhí)行一條硬件子程序調(diào)用,使控制轉(zhuǎn)移到相應(yīng)的中斷入口,清“0”中斷請求源申請標志(TI、RI除外)。接著把PC值壓入堆棧,將被響應(yīng)的中斷服務(wù)程序的入口地址送入PC。MCS-51系列單片機5個中斷服務(wù)程序入口地址如表5-4,由于5個地址之間僅隔8個單元,用于存放中斷服務(wù)程序往往不夠用,因此通常也在這里放一條絕對轉(zhuǎn)移指令,轉(zhuǎn)到真正的中斷服務(wù)程序。 CPU執(zhí)行中斷服務(wù)程序一直到RETI指令為止。RETI指令是表示中斷服務(wù)程序的結(jié)
12、束,CPU執(zhí)行完這條指令后,清“0”響應(yīng)中斷時所設(shè)置的優(yōu)先級觸發(fā)器,然后從堆棧中彈出棧頂?shù)膬蓚€字節(jié)到PC,CPU從原來被中斷處繼續(xù)執(zhí)行被中斷的程序。由此可見,用戶的中斷服務(wù)程序必須加上返回指令RETI指令,CPU的現(xiàn)場保護和恢復(fù)必須由用戶中斷服務(wù)程序處理。CPU響應(yīng)某中斷請求后,在中斷返回前,應(yīng)該撤消該中斷請求,否則會引起另一次中斷。(1)定時器0或1溢出中斷,CPU在響應(yīng)中斷后,中斷請求由硬件自動撤除。(2)邊沿激活的外部中斷,CPU在響應(yīng)中斷后,硬件自動清除有關(guān)的中斷請求。(3)串行口中斷,CPU響應(yīng)中斷后,靠軟件來清除相應(yīng)的標志。(4)電平觸發(fā)的外部中斷撤除。在電平觸發(fā)方式下,外部中斷標
13、志IE0或IE1是依靠CPU檢測 或 上的低電平置位的。盡管CPU在響應(yīng)中斷時能由硬件自動復(fù)位IE0或IE1,但若外部中斷源不能及時撤除或上的低電平,就會使已經(jīng)復(fù)位的IE0或IE1再次置位,這是絕對不允許的。因此電平觸發(fā)型外部中斷請求的撤除必須使或隨著其中斷的響應(yīng)而變?yōu)楦唠娖健D5-3是撤除電平觸發(fā)中斷的可行的方案。 圖中觸發(fā)器的作用是鎖存外部中斷請求的低電平信號,并由Q端輸出到供CPU檢測。D觸發(fā)器的異步置位端接單片機的P1.0,此端口平時為“1”,對D觸發(fā)器輸出無影響。當中斷響應(yīng)后,為了撤除中斷請求,只要在P1.0上輸出一個負脈沖,使觸發(fā)器置“1”,就可以撤除低電平的中斷請求。負脈沖信號可
14、以用下面兩條指令實現(xiàn)。ANL Pl,# 0FEHORL P1,# 01H執(zhí)行第一條指令使P1.0輸出為“0”,其持續(xù)時間為2個機器周期,足以使D觸發(fā)器置位,從而撤除中斷請求。執(zhí)行第二條指令使P1.0變?yōu)椤?”,否則D觸發(fā)器的S端始終有效,INT0端始終為“1”,無法再次申請中斷。5.3 中斷應(yīng)用程序舉例中斷程序一般包含中斷控制程序(即中斷初始化程序)和中斷服務(wù)程序兩部分。(1)中斷初始化程序 中斷初始化程序?qū)嵸|(zhì)上就是對TCON、SCON、IE和IP寄存器的管理和控制。只要這些寄存器的相應(yīng)位按照要求進行了狀態(tài)預(yù)置,CPU就會按照用戶的意圖對中斷源進行管理和控制。中斷初始化程序一般不獨立編寫,而是
15、包含在主程序中,根據(jù)需要進行編寫。中斷初始化程序需完成以下操作:1)開中斷;2)某一中斷源中斷請求的允許與禁止(屏蔽);3)確定各中斷源的優(yōu)先級別;4)若是外部中斷請求,則要設(shè)定觸發(fā)方式是電平觸發(fā)還是邊沿觸發(fā)。 【例5.1】 假設(shè)規(guī)定外部中斷0為電平觸發(fā)方式,高優(yōu)先級,試寫出有關(guān)的初始化程序。解:可用兩種方法完成。 方法1,用位操作指令完成:SETB EA ;開中斷允許總控制位SETB EX0 ;外中斷0開中斷SETB PX0;外中斷0高優(yōu)先級CLR IT0;電平觸發(fā) 方法2,用其它指令也可完成同樣功能:MOV IE,#81H;同時置位EA和EX0ORL IP,#01H;置位PX0ANL TC
16、ON,#0FEH;使IT0為0(2)中斷服務(wù)程序 中斷服務(wù)程序是一種為中斷源的特定任務(wù)而編寫的獨立程序,以中斷返回指令RETI結(jié)束。中斷服務(wù)程序結(jié)束后返回到原來被中斷的地方(即斷點),繼續(xù)執(zhí)行原來的程序。中斷服務(wù)程序和子程序一樣,在調(diào)用和返回時,也有一個保護斷點和現(xiàn)場的問題。在中斷響應(yīng)過程中,斷點的保護主要由硬件電路自動實現(xiàn)。它將斷點壓人堆棧,再將中斷服務(wù)程序的入口地址送入程序計數(shù)器PC,使程序轉(zhuǎn)向中斷服務(wù)程序。中斷處理時現(xiàn)場保護由中斷服務(wù)程序來完成。現(xiàn)場一般包括累加器A、工作寄存器R0R7以及程序狀態(tài)字PSW等。保護現(xiàn)場和恢復(fù)現(xiàn)場一般采用 PUSH和POP指令來實現(xiàn)。 此外,在編寫中斷服務(wù)程
17、序時還應(yīng)注意以下三點:1)各中斷源入口地址之間只相隔8個字節(jié)。中斷服務(wù)程序放在此處,一般容量是不夠的。常用的方法是在中斷入口地址單元處,存放條無條件轉(zhuǎn)移指令,如“LJMP Address”,使程序跳轉(zhuǎn)到用戶安排的中斷服務(wù)程序起始地址去。 2)在執(zhí)行當前中斷程序時,為了禁止更高優(yōu)先級中斷源的中斷請求,可先用軟件關(guān)閉CPU中斷,或屏蔽更高級中斷源的中斷,在中斷返回前再開放被關(guān)閉或被屏蔽的中斷。3)在多級中斷情況下,應(yīng)在保護現(xiàn)場之前關(guān)掉中斷,在恢復(fù)現(xiàn)場之后打開中斷。如果在中斷處理時允許有更高級的中斷打斷它,則在保護現(xiàn)場之后開中斷,恢復(fù)現(xiàn)場之前關(guān)中斷。 【例5.2】設(shè)在主程序中用到了寄存器PSW、AC
18、C、B、DPTR,而在執(zhí)行中斷服務(wù)程序時需要用到這些寄存器。試編寫程序在中斷服務(wù)程序中對這些寄存器加以保護。SERVICE:PUSHPSW;保護程序狀態(tài)字PUSHACC;保護累加器APUSHB;保護寄存器BPUSHDPL;保護數(shù)據(jù)指針低字節(jié)PUSHDPH;保護數(shù)據(jù)指針高字節(jié) ;中斷處理POPDPH;恢復(fù)現(xiàn)場 POPDPL POP BPOPACCPOPPSWRETI 5.3】圖5-4為多個故障顯示電路,當系統(tǒng)無故障時,4個故障源輸入端X1X4全為低電平,顯示燈全滅;當某部分出現(xiàn)故障,其對應(yīng)的輸入由低電平變?yōu)楦唠娖剑瑥亩餗CS51單片機中斷,中斷服務(wù)程序的任務(wù)是判定故障源,并用對應(yīng)的發(fā)光二極管LED1LED4進行顯示。ORG 0000H;程序開始AJMP MAIN;轉(zhuǎn)主程序ORG 0003H;外部中斷INT0入口地址 AJMP SE
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CCS 037-2023綜采工作面礦壓智能化監(jiān)測系統(tǒng)技術(shù)規(guī)范
- T/CBJ 1106-2024酒類企業(yè)ESG披露指南
- 事業(yè)單位實習生合同5篇
- 租賃門面合同簡易版10篇
- T/ZSJX 4101-2019食用菌優(yōu)質(zhì)經(jīng)銷商評價準則
- T/ZSJX 1101-2019金針菇工廠化生產(chǎn)技術(shù)規(guī)程
- T/ZSESS 006.2-2023環(huán)保共性產(chǎn)業(yè)園建設(shè)和管理規(guī)范第2部分:木制家具噴涂核心區(qū)
- 醫(yī)療廢物管理培訓(xùn)體系構(gòu)建
- 幼兒園新年活動策劃方案
- 健康促進班會課課件
- 尊重學術(shù)道德遵守學術(shù)規(guī)范學習通超星期末考試答案章節(jié)答案2024年
- 2024年江蘇武進經(jīng)濟發(fā)展集團招聘筆試參考題庫含答案解析
- 300t汽車吊起重性能表
- 擋土墻隱蔽工程驗收記錄
- 外墻外保溫施工工藝(擠塑聚苯板)
- 《實驗室安全教育》課程教學大綱(本科)
- 部編版六年級下冊語文作業(yè)本參考答案
- 牙髓炎護理查房【版直接用】課件
- 刺激性藥物外滲后處理(3)
- 鐵塔CRM系統(tǒng)立項操作流程
- 鄂爾多斯婚禮課程
評論
0/150
提交評論