版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第四章外部中斷第一頁,共三十五頁,2022年,8月28日
計算機(jī)與外設(shè)之間傳遞信息:如何解決快速的CPU與慢速的外部設(shè)備之間傳送數(shù)據(jù)的矛盾。中斷控制方式當(dāng)外部設(shè)備需要進(jìn)行輸入/輸出操作時,向CPU發(fā)出中斷請求信號,
CPU進(jìn)行中斷處理。第二頁,共三十五頁,2022年,8月28日
4.3.1中斷
一、中斷定義中斷是指當(dāng)CPU在正常執(zhí)行程序時(事件A),由于外部或內(nèi)部事件(事件B)強(qiáng)迫CPU停止當(dāng)前執(zhí)行的程序,轉(zhuǎn)去為事件服務(wù)(中斷服務(wù)),服務(wù)完畢,又能自動返回到被中斷的程序中繼續(xù)執(zhí)行。中斷服務(wù)程序正常程序斷點(diǎn)第三頁,共三十五頁,2022年,8月28日
二、中斷的優(yōu)點(diǎn):
1、實(shí)現(xiàn)CPU與外設(shè)的速度匹配和并行工作;
2、實(shí)現(xiàn)實(shí)時響應(yīng)和控制;
3、實(shí)現(xiàn)故障檢測和自動處理,提高系統(tǒng)的可靠性。
三、幾個概念
1、中斷源:引起中斷的原因或發(fā)出中斷申請的來源。如:外部設(shè)備、定時時鐘、數(shù)據(jù)通信設(shè)備、故障源、程序調(diào)試。第四頁,共三十五頁,2022年,8月28日
2、中斷的申請:中斷源向CPU發(fā)出處理申請。
3、中斷的響應(yīng):CPU停止當(dāng)前執(zhí)行的程序A,轉(zhuǎn)去處理中斷申請的事件B。
4、中斷服務(wù):對事件B的整個處理過程
5、中斷返回:處理結(jié)束后,CPU再回到原來被打斷的程序(事件A)繼續(xù)執(zhí)行。
6、中斷系統(tǒng):實(shí)現(xiàn)上述功能的部件。第五頁,共三十五頁,2022年,8月28日
四、中斷處理過程
執(zhí)行當(dāng)前指令有請求否關(guān)中斷保護(hù)斷點(diǎn)和現(xiàn)場開中斷中斷服務(wù)關(guān)中斷恢復(fù)現(xiàn)場開中斷返回NY取下一條指令返回第六頁,共三十五頁,2022年,8月28日1、中斷源提出申請,并建立相應(yīng)的中斷標(biāo)志(由硬件置位標(biāo)志位);
2、CPU結(jié)束當(dāng)前指令,響應(yīng)該中斷申請,同時把主程序斷點(diǎn)處地址(程序計數(shù)器PC當(dāng)前值)壓入堆棧,即保護(hù)斷點(diǎn);
3、保護(hù)現(xiàn)場。把斷點(diǎn)處的有關(guān)信息(如工作寄存器、累加器、標(biāo)志位的內(nèi)容),壓入堆棧;第七頁,共三十五頁,2022年,8月28日4、執(zhí)行中斷服務(wù)程序;
5、恢復(fù)現(xiàn)場。把保存的現(xiàn)場內(nèi)容從堆棧彈出,以恢復(fù)寄存器和存儲單元的原有內(nèi)容;
6、返回主程序(或調(diào)用程序),執(zhí)行中斷返回指令,把斷點(diǎn)處地址從棧頂彈出,從斷點(diǎn)處繼續(xù)執(zhí)行主程序(或調(diào)用程序)。返回第八頁,共三十五頁,2022年,8月28日
一、80C51的中斷系統(tǒng)結(jié)構(gòu)
(一)80C51的中斷系統(tǒng)有5個中斷源,2個優(yōu)先級,可實(shí)現(xiàn)二級中斷嵌套
。與中斷有關(guān)的特殊功能寄存器有4個:1、IE:中斷允許寄存器,控制CPU是否響應(yīng)中斷請求。2、IP:中斷優(yōu)先級寄存器,控制中斷請求的優(yōu)先級。3、TCON:定時/計數(shù)器控制寄存器,存放2個外部中斷和2個定時/計數(shù)器中斷中斷請求標(biāo)志和觸發(fā)方式。4、SCON:串行口控制寄存器,存放串行口中斷標(biāo)志。第九頁,共三十五頁,2022年,8月28日(二)80C51中斷系統(tǒng)的結(jié)構(gòu)有5個中斷源,2個優(yōu)先級,可實(shí)現(xiàn)二級中斷嵌套
。第十頁,共三十五頁,2022年,8月28日外部中斷源:由P3.2端口線引入,低電平或下降沿引起。由P3.3端口線引入,低電平或下降沿引起。內(nèi)部中斷源:
T0:定時器/計數(shù)器0中斷,由T0回零溢出引起。
T1:定時器/計數(shù)器1中斷,由T1回零溢出引起。
TI/RI:串行I/O中斷,串行端口完成一幀字符發(fā)送/接收后引起。第十一頁,共三十五頁,2022年,8月28日二、中斷請求標(biāo)志
1、TCON(定時/計數(shù)器控制寄存器)的中斷標(biāo)志IT0/IT1(TCON.0/2),外部中斷0/1觸發(fā)方式控制位。當(dāng)IT0=0時,為電平觸發(fā)方式。當(dāng)IT0=1時,為邊沿觸發(fā)方式(下降沿有效)。IE0/1(TCON.1/3),外部中斷0/1中斷請求標(biāo)志位。TF0(TCON.5),定時/計數(shù)器T0溢出中斷請求標(biāo)志位。TF1(TCON.7),定時/計數(shù)器T1溢出中斷請求標(biāo)志位。
利用中斷請求標(biāo)志位來向CPU請求中斷!第十二頁,共三十五頁,2022年,8月28日TF1—T1的溢出中斷標(biāo)志硬件置1,硬件清0(也可軟件清0)TF0—T0的溢出中斷標(biāo)志。IE1—
外部中斷1(/INT1)請求標(biāo)志。外部有中斷請求時,硬件使IE1置1,硬件清0。IE0—
外部中斷0(/INT0)請求標(biāo)志。IT1—
外部中斷1(/INT1)觸發(fā)類型控制位。
IT1=0,低電平觸發(fā)。IT1=1,下降沿觸發(fā)。
IT0—
外中斷0(/INT0)觸發(fā)類型控制位,用法同IT1。
第十三頁,共三十五頁,2022年,8月28日2、SCON的中斷標(biāo)志RI(SCON.0),串行口接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時,每接收完一個串行幀,由硬件置位RI。同樣,RI必須由軟件清除。TI(SCON.1),串行口發(fā)送中斷標(biāo)志位。當(dāng)CPU將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟動了發(fā)送過程。每發(fā)送完一個串行幀,由硬件置位TI。CPU響應(yīng)中斷時,不能自動清除TI,TI必須由軟件清除。
第十四頁,共三十五頁,2022年,8月28日
一、中斷允許控制
CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。4.3.480C51中斷的控制
EX0(IE.0),外部中斷0允許位;ET0(IE.1),定時/計數(shù)器T0中斷允許位;
EX1(IE.2),外部中斷0允許位;ET1(IE.3),定時/計數(shù)器T1中斷允許位;ES(IE.4),串行口中斷允許位;EA(IE.7),CPU中斷允許(總允許)位。
若為“1”,開關(guān)接通,允許。
若為“0”,開關(guān)斷開,不允許。第十五頁,共三十五頁,2022年,8月28日為什么要有中斷優(yōu)先級?CPU同一時間只能響應(yīng)一個中斷請求。若同時來了兩個或兩個以上中斷請求,就必須有先有后。
為此將5個中斷源分成高級、低級兩個級別,高級優(yōu)先,由IP控制。
第十六頁,共三十五頁,2022年,8月28日
二、中斷優(yōu)先級控制
80C51單片機(jī)有兩個中斷優(yōu)先級,可實(shí)現(xiàn)二級中斷服務(wù)嵌套。每個中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定的
。PX0(IP.0):外部中斷0優(yōu)先級設(shè)定位;PT0(IP.1):定時/計數(shù)器T0優(yōu)先級設(shè)定位;PX1(IP.2):外部中斷0優(yōu)先級設(shè)定位;PT1(IP.3):定時/計數(shù)器T1優(yōu)先級設(shè)定位;PS
(IP.4):串行口優(yōu)先級設(shè)定位。
該位是“1”時,為高級優(yōu)先級該位是“
0”時,為低級優(yōu)先級第十七頁,共三十五頁,2022年,8月28日
同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)先權(quán)排隊問題。同級的中斷優(yōu)先權(quán)排隊,由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:第十八頁,共三十五頁,2022年,8月28日80C51單片機(jī)的中斷優(yōu)先級有三條原則:
CPU同時接收到幾個中斷時,首先響應(yīng)優(yōu)先級別最高的中斷請求。正在進(jìn)行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷。正在進(jìn)行的低優(yōu)先級中斷服務(wù),能被高優(yōu)先級中斷請求所中斷。第十九頁,共三十五頁,2022年,8月28日事件1事件2子程序2子程序1中斷嵌套的概念:
主程序中斷中斷第二十頁,共三十五頁,2022年,8月28日
三、中斷響應(yīng)過程和中斷服務(wù)程序的執(zhí)行
1響應(yīng)中斷,由系統(tǒng)硬件將當(dāng)前PC的內(nèi)容壓棧保護(hù),將相應(yīng)的中斷服務(wù)程序的入口地址送PC。2執(zhí)行中斷服務(wù)程序
5個中斷源中斷入口地址如下:
INT00003HT0000BHINT10013HT1001BH
串行口0023H第二十一頁,共三十五頁,2022年,8月28日
四、中斷的返回中斷服務(wù)程序的最后一條指令為將壓棧保護(hù)的PC的內(nèi)容彈出,送回PC。CPU可由被中斷的位置繼續(xù)執(zhí)行原有程序。
返回第二十二頁,共三十五頁,2022年,8月28日主程序在運(yùn)行過程中中斷源出現(xiàn)中斷信號(P3.2引腳出現(xiàn)下降沿信號)相應(yīng)的中斷標(biāo)志(IE0)硬件自動置1向CPU申請中斷CPU根據(jù)IE(EA=1,EX0=1)、IP的設(shè)置決定是否相應(yīng)中斷相應(yīng)的中斷標(biāo)志位(IE0)自動復(fù)位將斷點(diǎn)的地址存入堆棧將相應(yīng)的中斷服務(wù)的入口地址0003H賦予程序計數(shù)器PC,執(zhí)行中斷程序執(zhí)行完中斷程序后,堆棧中斷點(diǎn)地址由硬件自動賦予PC,程序返回主程序繼續(xù)執(zhí)行。第二十三頁,共三十五頁,2022年,8月28日C51編譯器支持在C源程序中直接以函數(shù)形式編寫中斷服務(wù)程序。常用的中斷函數(shù)定義語法如下:
void函數(shù)名()interruptnn為中斷類型號,C51編譯器允許0~31個中斷,n取值范圍0~31。下面給出了8051控制器所提供的5個中斷源所對應(yīng)的中斷類型號和中斷服務(wù)程序入口地址:
中斷源 n入口地址 外部中斷0 0 0003H
定時/計數(shù)器01 000BH
外部中斷1 2 0013H
定時/計數(shù)器1 3 001BH
串行口 40023H第二十四頁,共三十五頁,2022年,8月28日voidtime0(void)interrupt1using0//定時器T0的中斷服務(wù)函數(shù),T0的編號為1,使用第0組工作寄存器{ ……//中斷服務(wù)程序}第二十五頁,共三十五頁,2022年,8月28日main(){IT0=1;//中斷邊沿觸發(fā)EX0=1;//允許外部中斷0EA=1;//總允許while(1);//等待中斷}int0()interrupt0{
P2_0=!P2_0;//中斷內(nèi)容
}前面不需要函數(shù)說明不能有返回值不能有形參主程序中沒有調(diào)用中斷函數(shù)的語句第二十六頁,共三十五頁,2022年,8月28日main(){IT0=1;//中斷邊沿觸發(fā)EX0=1;//允許外部中斷0EA=1;//總允許while(1);//等待中斷}int0()interrupt0{
P2_0=!P2_0;//中斷內(nèi)容
}前面不需要函數(shù)說明不能有返回值不能有形參主程序中沒有調(diào)用中斷函數(shù)的語句第二十七頁,共三十五頁,2022年,8月28日中斷函數(shù)一般函數(shù)前面不需要函數(shù)說明前面需要函數(shù)說明不能有返回值可以有返回值不能有形參可以有形參主程序中不需要調(diào)用語句主程序中需要調(diào)用語句函數(shù)執(zhí)行時間是隨機(jī)的函數(shù)執(zhí)行時間是確定的函數(shù)的入口地址是固定的函數(shù)的入口地址是隨機(jī)的第二十八頁,共三十五頁,2022年,8月28日1.用外部中斷0測量負(fù)跳變信號的累計數(shù),同時在LED數(shù)碼管上顯示出來。第二十九頁,共三十五頁,2022年,8月28日#include<reg51.h>#defineucharunsignedcharucharcodeled[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//各數(shù)字的數(shù)碼管段碼ucharcounter=0;main(){EA=1;EX0=1;IT0=1;while(1){P1=led[counter];}}voidint0()interrupt0{counter++;if(counter==10)counter=0;}第三十頁,共三十五頁,2022年,8月28日程序要求:中斷前:P0.0~P0.7的8個燈依次亮。外部中斷0:P0.0~P0.7的左右4個燈閃爍亮8次外部中斷1:P0.0~P0.7的8個燈間隔閃爍8次⑴設(shè)定外部中斷0為高優(yōu)先級,先執(zhí)行外部1中斷,過程中用外部0中斷來將其中斷,反之不行。注意保護(hù)現(xiàn)場。⑵設(shè)定外部中斷1為高優(yōu)先級,先執(zhí)行外部0中斷,過程中用外部1中斷來將其中斷,反之不行。注意保護(hù)現(xiàn)場。第三十一頁,共三十五頁,2022年,8月28日在中斷服務(wù)程序中,通常首先要保護(hù)現(xiàn)場,然后才是真正的中斷處理程序。中斷返回時需要恢復(fù)現(xiàn)場。在保護(hù)和恢復(fù)現(xiàn)場時,為了不使現(xiàn)場的數(shù)據(jù)遭到破壞,一般規(guī)定此時CPU不再響應(yīng)新的中斷請求。在編寫中斷服務(wù)程序的
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45120-2024道路車輛48 V供電電壓電氣要求及試驗(yàn)
- 2024幼兒園保育員幼兒教育理念與實(shí)踐合同3篇
- 二零二五年房地產(chǎn)項目海外分銷代理協(xié)議3篇
- 二零二五版國際貿(mào)易人才招聘與培訓(xùn)合同2篇
- 2025年教育設(shè)施智能化改造與裝修服務(wù)合同范本3篇
- 2025年度環(huán)保設(shè)施運(yùn)營管理合同范本及效益評估3篇
- 專業(yè)車輛運(yùn)送協(xié)議模板(2024定制版)版B版
- 2024虛擬股投資退出機(jī)制合同范本3篇
- 二零二五年度駕校經(jīng)營管理權(quán)定制化服務(wù)協(xié)議2篇
- 二零二五年度文化產(chǎn)業(yè)發(fā)展前景調(diào)研合同3篇
- 24年追覓在線測評28題及答案
- TGDNAS 043-2024 成人靜脈中等長度導(dǎo)管置管技術(shù)
- 《陸上風(fēng)電場工程概算定額》NBT 31010-2019
- GB/T 29490-2013企業(yè)知識產(chǎn)權(quán)管理規(guī)范
- GB/T 14436-1993工業(yè)產(chǎn)品保證文件總則
- 湖南省鄉(xiāng)鎮(zhèn)衛(wèi)生院街道社區(qū)衛(wèi)生服務(wù)中心地址醫(yī)療機(jī)構(gòu)名單目錄
- 《中外資產(chǎn)評估準(zhǔn)則》課件第6章 英國評估準(zhǔn)則
- FZ∕T 63006-2019 松緊帶
- 罐區(qū)自動化系統(tǒng)總體方案(31頁)ppt課件
- BIQS評分表模板
- 工程建設(shè)項目內(nèi)外關(guān)系協(xié)調(diào)措施
評論
0/150
提交評論