版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
本章介紹的主要內(nèi)容★中斷的基本概念★中斷的系統(tǒng)結(jié)構(gòu)★中斷的響應(yīng)過程★中斷的的應(yīng)用編程
在CPU和外設(shè)交換信息時,存在著快速CPU和慢速外設(shè)間的矛盾,機器內(nèi)部有時也可能出現(xiàn)突發(fā)事件,為此,計算機中通常采用中斷技術(shù)。中斷
CPU和外設(shè)并行工作,當(dāng)外設(shè)數(shù)據(jù)準(zhǔn)備好(或有某種突發(fā)事件發(fā)生)時向CPU提出請求,CPU暫停正在執(zhí)行的程序轉(zhuǎn)而為該外設(shè)服務(wù)(或處理緊急事件),處理完畢再回到原斷點繼續(xù)執(zhí)行原程序。中斷源
引起中斷的原因,中斷申請的來源,中斷源可以是I/O設(shè)備、故障、時鐘、調(diào)試中人為設(shè)置。中斷優(yōu)先級
當(dāng)有多個中斷源同時向CPU申請中斷時,CPU優(yōu)先響應(yīng)最需緊急處理的中斷請求,處理完畢再響應(yīng)優(yōu)先級別較低的,這種預(yù)先安排的響應(yīng)次序。
中斷的嵌套
在中斷系統(tǒng)中,高優(yōu)先級的中斷請求能中斷正在進行的較低級的中斷源處理,
中斷與子程序的最主要區(qū)別:子程序是預(yù)先安排好的;中斷是隨機發(fā)生的中斷系統(tǒng)是計算機的重要指標(biāo)之一。
日常事務(wù)程序中斷服務(wù)程序日常生活中的中斷與計算機中斷的比較:4.1中斷系統(tǒng)結(jié)構(gòu)
8XX51有5個中斷源,3個在片內(nèi),2個在片外,它們在程序存貯器中有固定的中斷入口地址,當(dāng)CPU響應(yīng)中斷時,硬件自動形成這些地址,由此進入中斷服務(wù)程序;5個中斷源有兩級中斷優(yōu)先級,可行使中斷嵌套;
8XX51有5個中斷源,其符號、名稱、產(chǎn)生條件及中斷服務(wù)程序的入口地址如表6.1。4.1中斷系統(tǒng)結(jié)構(gòu)
一中斷源(1)中斷的允許/禁止—中斷控制寄存器IE(地址A8H,可位尋址)
IE寄存器的各位對應(yīng)相應(yīng)的中斷源,如果允許該中斷源中斷則該位置1,禁止中斷則該位0。允許:置1(人工),禁止:置0(人工/開機清零)。。4.1中斷系統(tǒng)結(jié)構(gòu)
二、中斷控制的有關(guān)寄存器2)中斷請求標(biāo)志及外部中斷方式選擇寄存器TCON(88H,可位)1.中斷標(biāo)志位:TF1、TF0、IE1、IE0、RI、TI=1,有中斷請求(機器置1);=0,無中斷請求。
CPU響應(yīng)中斷后,TF1、TF0、IE1、IE0自動清零(機器)。
TI,RI軟件清零(人工)。2.外部中斷觸發(fā)方式選擇位:IT0、IT1=1:下降沿觸發(fā);=0:低電平觸發(fā)(人工)。3.TR0和TR1為T0和T1啟動和停止控制(與中斷無關(guān))。4.1中斷系統(tǒng)結(jié)構(gòu)
(3)中斷優(yōu)先級管理寄存器IP地址B8H,可位尋址)五個中斷源的優(yōu)先級別由IP寄存器管理,相應(yīng)位置1,則該中斷源優(yōu)先級別高,置0的優(yōu)先級別低。T0INT0INT1T1串行口
當(dāng)某幾個中斷源在IP寄存器相應(yīng)位同為1或同為零時,由內(nèi)部查詢確定優(yōu)先級,查詢的順序是:T24.1中斷系統(tǒng)結(jié)構(gòu)
二、中斷控制的有關(guān)寄存器MCS-51系列單片機的中斷結(jié)構(gòu)可以用下圖示。
4.1中斷系統(tǒng)結(jié)構(gòu)
二、中斷控制的有關(guān)寄存器
中斷請求:開中斷?滿足條件?優(yōu)先級?有中斷請求信號
(人工,機器)
中斷響應(yīng):判斷優(yōu)先權(quán),將斷點地址(當(dāng)前PC值)→堆棧,中斷服務(wù)程序入口?PC,轉(zhuǎn)入中斷服務(wù)(機器自動)
中斷服務(wù):執(zhí)行中斷源所要求的程序處理段(保護現(xiàn)場和恢
復(fù)現(xiàn)場)(人工)
中斷返回:執(zhí)行RETI指令,棧頂內(nèi)容(斷點地址)?PC,程序跳回斷點處
(機器自動)RETI=RET指令+通知CPU中斷服務(wù)已結(jié)束。
MCS-51系列單片機的中斷過程流程如圖所示。
4.2中斷響應(yīng)過程
一、中斷處理過程(四個階段)NNYYYN執(zhí)行指令中斷標(biāo)志1?(中斷請求?)指令最后一個T周期?EA=1?允許位=1?CPU判別優(yōu)先權(quán),響應(yīng)優(yōu)先權(quán)高的中斷斷點的PC進棧,中斷服務(wù)入口地址送PC撤除中斷標(biāo)志中斷服務(wù)中斷返回,斷點出棧送PC
中斷請求.中斷響應(yīng)中斷服務(wù)中斷返回中斷請求、中斷響應(yīng)過程由硬件完成。中斷服務(wù)程序應(yīng)根據(jù)需要進行編寫。程序中要注意保護現(xiàn)場和恢復(fù)現(xiàn)場。中斷返回是通過執(zhí)行一條RETI中斷返回指令,使堆棧中被壓入的斷點地址送PC,從而返回主程序的斷點繼續(xù)執(zhí)行主程序。另外RETI還有恢復(fù)優(yōu)先級狀態(tài)觸發(fā)器的作用,因此不能以RET指令代替“RETI”指令。4.2中斷響應(yīng)過程
一、中斷處理過程(四個階段)
若某個中斷源通過編程設(shè)置,處于被打開的狀態(tài),并滿足中斷響應(yīng)的條件,然而下面三種情況單片機不響應(yīng)此中斷:①當(dāng)前正在執(zhí)行的那條指令沒執(zhí)行完;②當(dāng)前響應(yīng)了同級或高級中斷;③正在操作IE、IP中斷控制寄存器或執(zhí)行RETI指令。中斷響應(yīng)時間(不是中斷服務(wù)時間)
在正常的情況下,從中斷請求信號有效開始,到中斷得到響應(yīng),通常需要3至8個機器周期。4.2中斷響應(yīng)過程
一、中斷處理過程(四個階段)1、CPU響應(yīng)中斷后,應(yīng)撤除該中斷請求標(biāo)志,否則會再次中斷。2、對邊沿觸發(fā)的外部中斷INT1和INT0,CPU響應(yīng)中斷后硬件自動清除中斷請求標(biāo)志IE0和IE1。3、對電平觸發(fā)的外部中斷,CPU在響應(yīng)中斷時也不會自動清除中斷標(biāo)志,因此,在CPU響應(yīng)中斷后應(yīng)立即撤除INT1或INT0對應(yīng)的中斷請求標(biāo)志。4、對定時計數(shù)器T0、T1的溢出中斷,CPU響應(yīng)中斷后,硬件自動清除中斷請求標(biāo)志TF0和TF1。5、對于串行口中斷,CPU響應(yīng)中斷后,沒有用硬件清除中斷請求標(biāo)志TI、RI,即這些中斷標(biāo)志不會自動清除,必須用軟件清除,這是在編串行通信中斷服務(wù)中應(yīng)該注意的。4.2中斷響應(yīng)過程
二、中斷請求的撤出用戶對中斷的控制和管理,實際是對4個與中斷有關(guān)的寄存器IE、TCON、IP、SCON進行控制或管理。這幾個寄存器在單片機復(fù)位時是清零的,因此必須根據(jù)需要對這幾個寄存器的有關(guān)位進行預(yù)置。在中斷程序的編制中應(yīng)注意:1、開中斷總控開關(guān)EA,置位中斷源的中斷允許位。2、對外部中斷INT0、INT1應(yīng)選擇中斷觸發(fā)方式。3、多個中斷源中斷,應(yīng)設(shè)定中斷優(yōu)先級,預(yù)置IP。4、編寫中斷服務(wù)程序,并注意用保護現(xiàn)場和恢復(fù)現(xiàn)場,以免中斷返回時,丟失原寄存器、累加器中的信息。5、若要在執(zhí)行當(dāng)前中斷程序時禁止更高優(yōu)先級中斷,可以采用軟件關(guān)CPU中斷,或禁止中斷源中斷,在中斷返回前再開放中斷。4.3中斷的匯編語言程序
匯編語言的中斷服務(wù)程序按規(guī)定的中斷矢量地址存入,由于五個中斷矢量地址0003H、000BH、0013H、001BH、0023H之間相距很近,往往裝不下一個中斷服務(wù)程序,通常將中斷服務(wù)程序安排在程序存貯器的其他地址空間,而在矢量地址的單元中安排一條轉(zhuǎn)移指令。4.3中斷的匯編語言程序
例1.在圖中P1.4~P1.7接有四個發(fā)光二極管,P1.0~P1.3接有四個開關(guān),消抖電路用于產(chǎn)生中斷請求信號,當(dāng)消抖電路的開關(guān)來回拔動一次將產(chǎn)生一個下降沿信號,通過INT0向CPU申請中斷,要求:初時發(fā)光二極管全黑,每中斷一次,P1.0~P1.3所接的開關(guān)狀態(tài)反映到發(fā)光二極管上(“1”→亮,”0”→滅),且要求開關(guān)斷開的對應(yīng)發(fā)光二極管亮,電路和現(xiàn)象如下:4.3中斷的匯編語言程序
4.3中斷的匯編語言程序
ORG0000HAJMPMAINORG0003H;INT0中斷入口AJMPWBI;轉(zhuǎn)中斷服務(wù)程序ORG0030H;主程序MAIN:MOVP1,#0FH;全燈滅,低四位輸入
SETBIT0;邊沿觸發(fā)中斷
SETBEX0;允許外中斷0中斷
SETBEA;開中斷開關(guān)SJMP$WBI:MOVP1,#0FH;P1先寫入“1”且燈滅MOVA,P1;輸入開關(guān)狀態(tài)SWAPAMOVP1,A;輸出到P1高4位
RETIEND4.3中斷的匯編語言程序
例2.89C51的P1口接一個共陰極的數(shù)碼管,利用消抖開關(guān)產(chǎn)生中斷請求信號,每來回拔動一次開關(guān),產(chǎn)生一次中斷,用數(shù)碼管顯示中斷的次數(shù)(最多不超過15次)。4.3中斷的匯編語言程序
ORG0000HAJMPMAINORG0013H;INT1中斷入口AJMPINT1;轉(zhuǎn)中斷服務(wù)程序ORG0030H;主程序MAIN:SETBIT1;邊沿觸發(fā)中斷
SETBEX1;允許INT1中斷
SETBEA;開中斷開關(guān)MOVR0,#0;計數(shù)初值為0MOVA,#3FH;“0”的字形碼送AAL1:MOVP1,A;顯示數(shù)碼AL2:CJNER0,#0FH,AL1;沒滿15次循環(huán)顯示MOVR7,#0FFH;滿15次,顯‘F’,延時
4.3中斷的匯編語言程序
DJNZR7,$MOVP1,#0;關(guān)顯示CLREA;關(guān)中斷SJMP$;結(jié)束INT1:INCR0;中斷次數(shù)加1MOVA,R0MOVDPTR,#TAB;DPTR指向字形碼表首址MOVCA,@A+DPTR;查表POPDPHPOPDPL;彈出斷點MOVDPTR,#AL1PUSHDPLPUSHDPH;修改中斷返回點,AL1壓入堆棧RETI;從堆棧AL1地址→PC,返主程序AL1處 4.3中斷的匯編語言程序
TAB:DB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH,6FH,77H,7CHDB39H,5EH,79H,71H;段碼表(字形碼)END上面程序每中斷一次,執(zhí)行一次中斷服務(wù)程序INT1。在中斷服務(wù)程序中,累計中斷次數(shù)并查字形表,返回到主程序AL1地址執(zhí)行顯示。為方便說明程序的執(zhí)行情況,將上面程序重排在同一頁4.3中斷的匯編語言程序
ORG0000HAJMPMAINORG0013HAJMPINT1ORG0030HMAIN:SETBTI1SETBEX1SETBEAMOVR0,#0MOVA,#3FHAL1:MOVP1,AAL2:CJNER0,#0FH,AL1MOVR7,#0FFHDJNZR7,$MOVP1,#0CLREASJMP$INT1:INCR0MOVA,R0MOVDPTR,#TABMOVCA,@A+DPTRPOPDPHPOPDPLMOVDPTR,#AL1PUSHDPLPUSHDPHRETI;AL1地址→PC,返主程序AL1TAB:DB3FH,06H,5BH,…
4.3中斷的匯編語言程序
以上中斷在AL1或AL2兩指令處發(fā)生,究竟是哪一指令處中斷是隨機的,為保證返回到AL1顯示‘F’這里采用修改中斷返回點的辦法,即先從棧中彈出中斷響應(yīng)時壓入的斷點彈到DPTR中,修改DPTR為用戶需要的返回點,并將其壓入堆棧,再通過執(zhí)行RETI指令彈出棧中內(nèi)容到PC、彈出的即為修改后的地址,從而返回到主程序中用戶所希望的地址執(zhí)行。上例中中斷次數(shù)在主程序判斷,目的是使讀者了解修改中斷返回點的方法,如果改在中斷服務(wù)程序中判斷,編程簡潔些,下面介紹不同部分。4.3中斷的匯編語言程序
…MOVR0,#0;計數(shù)初值為0MOVP1,#3FH;顯示‘0’MOVDPTR,#TAB;指向字形碼表AGA:SJMP$;等待中斷INT1:INCR0;中斷次數(shù)加1MOV
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Grid Coffee品牌介紹模版
- 二年級品德與社會下冊 向人民英雄敬禮教案1 未來版
- 2024年高中生物 第2章 動物和人體生命活動的調(diào)節(jié) 第2節(jié) 通過激素的調(diào)節(jié)(Ⅱ)教案 新人教版必修3
- 2023七年級生物下冊 第四單元 生物圈中的人 第11章 人體代謝廢物的排出11.1 人體產(chǎn)生的代謝廢物教案 (新版)北師大版
- 2024-2025學(xué)年高中化學(xué) 第1章 第3節(jié) 原子結(jié)構(gòu)與元素性質(zhì) 第1課時 電離能及其變化規(guī)律教案 魯科版選修3
- 2024-2025學(xué)年高中語文 3 柳子厚墓志銘教案 語文版選修《唐宋八大家散文鑒賞》
- 告別母校 課件
- 亡羊補牢圖片 課件
- 應(yīng)急預(yù)案備案管理制度
- 第一單元(復(fù)習(xí))-三年級語文上冊單元復(fù)習(xí)(統(tǒng)編版)
- 《物流管理定量分析方法》形考作業(yè)二(第三版)參考答案
- 供貨安裝調(diào)試方案及組織措施
- NB-T32036-2017光伏發(fā)電工程達標(biāo)投產(chǎn)驗收規(guī)程
- 國有企業(yè)采購管理規(guī)范 T/CFLP 0027-2020
- 學(xué)科輔導(dǎo)與個性化學(xué)習(xí)計劃三篇
- DZT 0449-2023 地質(zhì)災(zāi)害氣象風(fēng)險預(yù)警規(guī)范
- 2024齊齊哈爾市職工大學(xué)教師招聘考試筆試試題
- 2024年急性胰腺炎急診診治專家共識解讀課件
- 現(xiàn)場救護的“生命鏈”
- 煤礦機電專業(yè)技術(shù)總結(jié)報告
- 浙江省【小升初】2023年小升初數(shù)學(xué)試卷及答案【各地真題】
評論
0/150
提交評論