版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章外部中斷第一頁(yè),共三十五頁(yè),編輯于2023年,星期五
計(jì)算機(jī)與外設(shè)之間傳遞信息:如何解決快速的CPU與慢速的外部設(shè)備之間傳送數(shù)據(jù)的矛盾。中斷控制方式當(dāng)外部設(shè)備需要進(jìn)行輸入/輸出操作時(shí),向CPU發(fā)出中斷請(qǐng)求信號(hào),
CPU進(jìn)行中斷處理。第二頁(yè),共三十五頁(yè),編輯于2023年,星期五
4.3.1中斷
一、中斷定義中斷是指當(dāng)CPU在正常執(zhí)行程序時(shí)(事件A),由于外部或內(nèi)部事件(事件B)強(qiáng)迫CPU停止當(dāng)前執(zhí)行的程序,轉(zhuǎn)去為事件服務(wù)(中斷服務(wù)),服務(wù)完畢,又能自動(dòng)返回到被中斷的程序中繼續(xù)執(zhí)行。中斷服務(wù)程序正常程序斷點(diǎn)第三頁(yè),共三十五頁(yè),編輯于2023年,星期五
二、中斷的優(yōu)點(diǎn):
1、實(shí)現(xiàn)CPU與外設(shè)的速度匹配和并行工作;
2、實(shí)現(xiàn)實(shí)時(shí)響應(yīng)和控制;
3、實(shí)現(xiàn)故障檢測(cè)和自動(dòng)處理,提高系統(tǒng)的可靠性。
三、幾個(gè)概念
1、中斷源:引起中斷的原因或發(fā)出中斷申請(qǐng)的來(lái)源。如:外部設(shè)備、定時(shí)時(shí)鐘、數(shù)據(jù)通信設(shè)備、故障源、程序調(diào)試。第四頁(yè),共三十五頁(yè),編輯于2023年,星期五
2、中斷的申請(qǐng):中斷源向CPU發(fā)出處理申請(qǐng)。
3、中斷的響應(yīng):CPU停止當(dāng)前執(zhí)行的程序A,轉(zhuǎn)去處理中斷申請(qǐng)的事件B。
4、中斷服務(wù):對(duì)事件B的整個(gè)處理過(guò)程
5、中斷返回:處理結(jié)束后,CPU再回到原來(lái)被打斷的程序(事件A)繼續(xù)執(zhí)行。
6、中斷系統(tǒng):實(shí)現(xiàn)上述功能的部件。第五頁(yè),共三十五頁(yè),編輯于2023年,星期五
四、中斷處理過(guò)程
執(zhí)行當(dāng)前指令有請(qǐng)求否關(guān)中斷保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)開中斷中斷服務(wù)關(guān)中斷恢復(fù)現(xiàn)場(chǎng)開中斷返回NY取下一條指令返回第六頁(yè),共三十五頁(yè),編輯于2023年,星期五1、中斷源提出申請(qǐng),并建立相應(yīng)的中斷標(biāo)志(由硬件置位標(biāo)志位);
2、CPU結(jié)束當(dāng)前指令,響應(yīng)該中斷申請(qǐng),同時(shí)把主程序斷點(diǎn)處地址(程序計(jì)數(shù)器PC當(dāng)前值)壓入堆棧,即保護(hù)斷點(diǎn);
3、保護(hù)現(xiàn)場(chǎng)。把斷點(diǎn)處的有關(guān)信息(如工作寄存器、累加器、標(biāo)志位的內(nèi)容),壓入堆棧;第七頁(yè),共三十五頁(yè),編輯于2023年,星期五4、執(zhí)行中斷服務(wù)程序;
5、恢復(fù)現(xiàn)場(chǎng)。把保存的現(xiàn)場(chǎng)內(nèi)容從堆棧彈出,以恢復(fù)寄存器和存儲(chǔ)單元的原有內(nèi)容;
6、返回主程序(或調(diào)用程序),執(zhí)行中斷返回指令,把斷點(diǎn)處地址從棧頂彈出,從斷點(diǎn)處繼續(xù)執(zhí)行主程序(或調(diào)用程序)。返回第八頁(yè),共三十五頁(yè),編輯于2023年,星期五
一、80C51的中斷系統(tǒng)結(jié)構(gòu)
(一)80C51的中斷系統(tǒng)有5個(gè)中斷源,2個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷嵌套
。與中斷有關(guān)的特殊功能寄存器有4個(gè):1、IE:中斷允許寄存器,控制CPU是否響應(yīng)中斷請(qǐng)求。2、IP:中斷優(yōu)先級(jí)寄存器,控制中斷請(qǐng)求的優(yōu)先級(jí)。3、TCON:定時(shí)/計(jì)數(shù)器控制寄存器,存放2個(gè)外部中斷和2個(gè)定時(shí)/計(jì)數(shù)器中斷中斷請(qǐng)求標(biāo)志和觸發(fā)方式。4、SCON:串行口控制寄存器,存放串行口中斷標(biāo)志。第九頁(yè),共三十五頁(yè),編輯于2023年,星期五(二)80C51中斷系統(tǒng)的結(jié)構(gòu)有5個(gè)中斷源,2個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷嵌套
。第十頁(yè),共三十五頁(yè),編輯于2023年,星期五外部中斷源:由P3.2端口線引入,低電平或下降沿引起。由P3.3端口線引入,低電平或下降沿引起。內(nèi)部中斷源:
T0:定時(shí)器/計(jì)數(shù)器0中斷,由T0回零溢出引起。
T1:定時(shí)器/計(jì)數(shù)器1中斷,由T1回零溢出引起。
TI/RI:串行I/O中斷,串行端口完成一幀字符發(fā)送/接收后引起。第十一頁(yè),共三十五頁(yè),編輯于2023年,星期五二、中斷請(qǐng)求標(biāo)志
1、TCON(定時(shí)/計(jì)數(shù)器控制寄存器)的中斷標(biāo)志IT0/IT1(TCON.0/2),外部中斷0/1觸發(fā)方式控制位。當(dāng)IT0=0時(shí),為電平觸發(fā)方式。當(dāng)IT0=1時(shí),為邊沿觸發(fā)方式(下降沿有效)。IE0/1(TCON.1/3),外部中斷0/1中斷請(qǐng)求標(biāo)志位。TF0(TCON.5),定時(shí)/計(jì)數(shù)器T0溢出中斷請(qǐng)求標(biāo)志位。TF1(TCON.7),定時(shí)/計(jì)數(shù)器T1溢出中斷請(qǐng)求標(biāo)志位。
利用中斷請(qǐng)求標(biāo)志位來(lái)向CPU請(qǐng)求中斷!第十二頁(yè),共三十五頁(yè),編輯于2023年,星期五TF1—T1的溢出中斷標(biāo)志硬件置1,硬件清0(也可軟件清0)TF0—T0的溢出中斷標(biāo)志。IE1—
外部中斷1(/INT1)請(qǐng)求標(biāo)志。外部有中斷請(qǐng)求時(shí),硬件使IE1置1,硬件清0。IE0—
外部中斷0(/INT0)請(qǐng)求標(biāo)志。IT1—
外部中斷1(/INT1)觸發(fā)類型控制位。
IT1=0,低電平觸發(fā)。IT1=1,下降沿觸發(fā)。
IT0—
外中斷0(/INT0)觸發(fā)類型控制位,用法同IT1。
第十三頁(yè),共三十五頁(yè),編輯于2023年,星期五2、SCON的中斷標(biāo)志RI(SCON.0),串行口接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時(shí),每接收完一個(gè)串行幀,由硬件置位RI。同樣,RI必須由軟件清除。TI(SCON.1),串行口發(fā)送中斷標(biāo)志位。當(dāng)CPU將一個(gè)發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時(shí),就啟動(dòng)了發(fā)送過(guò)程。每發(fā)送完一個(gè)串行幀,由硬件置位TI。CPU響應(yīng)中斷時(shí),不能自動(dòng)清除TI,TI必須由軟件清除。
第十四頁(yè),共三十五頁(yè),編輯于2023年,星期五
一、中斷允許控制
CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。4.3.480C51中斷的控制
EX0(IE.0),外部中斷0允許位;ET0(IE.1),定時(shí)/計(jì)數(shù)器T0中斷允許位;
EX1(IE.2),外部中斷0允許位;ET1(IE.3),定時(shí)/計(jì)數(shù)器T1中斷允許位;ES(IE.4),串行口中斷允許位;EA(IE.7),CPU中斷允許(總允許)位。
若為“1”,開關(guān)接通,允許。
若為“0”,開關(guān)斷開,不允許。第十五頁(yè),共三十五頁(yè),編輯于2023年,星期五為什么要有中斷優(yōu)先級(jí)?CPU同一時(shí)間只能響應(yīng)一個(gè)中斷請(qǐng)求。若同時(shí)來(lái)了兩個(gè)或兩個(gè)以上中斷請(qǐng)求,就必須有先有后。
為此將5個(gè)中斷源分成高級(jí)、低級(jí)兩個(gè)級(jí)別,高級(jí)優(yōu)先,由IP控制。
第十六頁(yè),共三十五頁(yè),編輯于2023年,星期五
二、中斷優(yōu)先級(jí)控制
80C51單片機(jī)有兩個(gè)中斷優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)都是由中斷優(yōu)先級(jí)寄存器IP中的相應(yīng)位的狀態(tài)來(lái)規(guī)定的
。PX0(IP.0):外部中斷0優(yōu)先級(jí)設(shè)定位;PT0(IP.1):定時(shí)/計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位;PX1(IP.2):外部中斷0優(yōu)先級(jí)設(shè)定位;PT1(IP.3):定時(shí)/計(jì)數(shù)器T1優(yōu)先級(jí)設(shè)定位;PS
(IP.4):串行口優(yōu)先級(jí)設(shè)定位。
該位是“1”時(shí),為高級(jí)優(yōu)先級(jí)該位是“
0”時(shí),為低級(jí)優(yōu)先級(jí)第十七頁(yè),共三十五頁(yè),編輯于2023年,星期五
同一優(yōu)先級(jí)中的中斷申請(qǐng)不止一個(gè)時(shí),則有中斷優(yōu)先權(quán)排隊(duì)問(wèn)題。同級(jí)的中斷優(yōu)先權(quán)排隊(duì),由中斷系統(tǒng)硬件確定的自然優(yōu)先級(jí)形成,其排列如所示:第十八頁(yè),共三十五頁(yè),編輯于2023年,星期五80C51單片機(jī)的中斷優(yōu)先級(jí)有三條原則:
CPU同時(shí)接收到幾個(gè)中斷時(shí),首先響應(yīng)優(yōu)先級(jí)別最高的中斷請(qǐng)求。正在進(jìn)行的中斷過(guò)程不能被新的同級(jí)或低優(yōu)先級(jí)的中斷請(qǐng)求所中斷。正在進(jìn)行的低優(yōu)先級(jí)中斷服務(wù),能被高優(yōu)先級(jí)中斷請(qǐng)求所中斷。第十九頁(yè),共三十五頁(yè),編輯于2023年,星期五事件1事件2子程序2子程序1中斷嵌套的概念:
主程序中斷中斷第二十頁(yè),共三十五頁(yè),編輯于2023年,星期五
三、中斷響應(yīng)過(guò)程和中斷服務(wù)程序的執(zhí)行
1響應(yīng)中斷,由系統(tǒng)硬件將當(dāng)前PC的內(nèi)容壓棧保護(hù),將相應(yīng)的中斷服務(wù)程序的入口地址送PC。2執(zhí)行中斷服務(wù)程序
5個(gè)中斷源中斷入口地址如下:
INT00003HT0000BHINT10013HT1001BH
串行口0023H第二十一頁(yè),共三十五頁(yè),編輯于2023年,星期五
四、中斷的返回中斷服務(wù)程序的最后一條指令為將壓棧保護(hù)的PC的內(nèi)容彈出,送回PC。CPU可由被中斷的位置繼續(xù)執(zhí)行原有程序。
返回第二十二頁(yè),共三十五頁(yè),編輯于2023年,星期五主程序在運(yùn)行過(guò)程中中斷源出現(xiàn)中斷信號(hào)(P3.2引腳出現(xiàn)下降沿信號(hào))相應(yīng)的中斷標(biāo)志(IE0)硬件自動(dòng)置1向CPU申請(qǐng)中斷CPU根據(jù)IE(EA=1,EX0=1)、IP的設(shè)置決定是否相應(yīng)中斷相應(yīng)的中斷標(biāo)志位(IE0)自動(dòng)復(fù)位將斷點(diǎn)的地址存入堆棧將相應(yīng)的中斷服務(wù)的入口地址0003H賦予程序計(jì)數(shù)器PC,執(zhí)行中斷程序執(zhí)行完中斷程序后,堆棧中斷點(diǎn)地址由硬件自動(dòng)賦予PC,程序返回主程序繼續(xù)執(zhí)行。第二十三頁(yè),共三十五頁(yè),編輯于2023年,星期五C51編譯器支持在C源程序中直接以函數(shù)形式編寫中斷服務(wù)程序。常用的中斷函數(shù)定義語(yǔ)法如下:
void函數(shù)名()interruptnn為中斷類型號(hào),C51編譯器允許0~31個(gè)中斷,n取值范圍0~31。下面給出了8051控制器所提供的5個(gè)中斷源所對(duì)應(yīng)的中斷類型號(hào)和中斷服務(wù)程序入口地址:
中斷源 n入口地址 外部中斷0 0 0003H
定時(shí)/計(jì)數(shù)器01 000BH
外部中斷1 2 0013H
定時(shí)/計(jì)數(shù)器1 3 001BH
串行口 40023H第二十四頁(yè),共三十五頁(yè),編輯于2023年,星期五voidtime0(void)interrupt1using0//定時(shí)器T0的中斷服務(wù)函數(shù),T0的編號(hào)為1,使用第0組工作寄存器{ ……//中斷服務(wù)程序}第二十五頁(yè),共三十五頁(yè),編輯于2023年,星期五main(){IT0=1;//中斷邊沿觸發(fā)EX0=1;//允許外部中斷0EA=1;//總允許while(1);//等待中斷}int0()interrupt0{
P2_0=!P2_0;//中斷內(nèi)容
}前面不需要函數(shù)說(shuō)明不能有返回值不能有形參主程序中沒有調(diào)用中斷函數(shù)的語(yǔ)句第二十六頁(yè),共三十五頁(yè),編輯于2023年,星期五main(){IT0=1;//中斷邊沿觸發(fā)EX0=1;//允許外部中斷0EA=1;//總允許while(1);//等待中斷}int0()interrupt0{
P2_0=!P2_0;//中斷內(nèi)容
}前面不需要函數(shù)說(shuō)明不能有返回值不能有形參主程序中沒有調(diào)用中斷函數(shù)的語(yǔ)句第二十七頁(yè),共三十五頁(yè),編輯于2023年,星期五中斷函數(shù)一般函數(shù)前面不需要函數(shù)說(shuō)明前面需要函數(shù)說(shuō)明不能有返回值可以有返回值不能有形參可以有形參主程序中不需要調(diào)用語(yǔ)句主程序中需要調(diào)用語(yǔ)句函數(shù)執(zhí)行時(shí)間是隨機(jī)的函數(shù)執(zhí)行時(shí)間是確定的函數(shù)的入口地址是固定的函數(shù)的入口地址是隨機(jī)的第二十八頁(yè),共三十五頁(yè),編輯于2023年,星期五1.用外部中斷0測(cè)量負(fù)跳變信號(hào)的累計(jì)數(shù),同時(shí)在LED數(shù)碼管上顯示出來(lái)。第二十九頁(yè),共三十五頁(yè),編輯于2023年,星期五#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;}第三十頁(yè),共三十五頁(yè),編輯于2023年,星期五程序要求:中斷前:P0.0~P0.7的8個(gè)燈依次亮。外部中斷0:P0.0~P0.7的左右4個(gè)燈閃爍亮8次外部中斷1:P0.0~P0.7的8個(gè)燈間隔閃爍8次⑴設(shè)定外部中斷0為高優(yōu)先級(jí),先執(zhí)行外部1中斷,過(guò)程中用外部0中斷來(lái)將其中斷,反之不行。注意保護(hù)現(xiàn)場(chǎng)。⑵設(shè)定外部中斷1為高優(yōu)先級(jí),先執(zhí)行外部0中斷,過(guò)程中用外部1中斷來(lái)將其中斷,反之不行。注意保護(hù)現(xiàn)場(chǎng)。第三十一頁(yè),共三十五頁(yè),編輯于2023年,星期五在中斷服務(wù)程序中,通常首先要保護(hù)現(xiàn)場(chǎng),然后才是真正的中斷處理程序。中斷返回時(shí)需要恢復(fù)現(xiàn)場(chǎng)。在保護(hù)和恢復(fù)現(xiàn)場(chǎng)時(shí),為了不使現(xiàn)場(chǎng)的數(shù)據(jù)遭到破壞,一般規(guī)定此時(shí)CPU不再響應(yīng)新的中斷請(qǐng)求。在編寫中斷服務(wù)程序的過(guò)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水塘打樁施工方案
- 濟(jì)南地鐵8 號(hào)線施工方案
- 綠化栽植夜間施工方案
- 鋁塑板裝修店面施工方案
- 深州藍(lán)色鐵皮圍擋施工方案
- 窨井改造方案
- 鉆前工程方井施工方案
- 資陽(yáng)異氰酸酯固化劑項(xiàng)目可行性研究報(bào)告
- 2025年變頻電纜項(xiàng)目可行性研究報(bào)告
- 日用化工品塑料行業(yè)深度研究報(bào)告
- 蔣詩(shī)萌小品《誰(shuí)殺死了周日》臺(tái)詞完整版
- TB 10010-2008 鐵路給水排水設(shè)計(jì)規(guī)范
- 黑色素的合成與美白產(chǎn)品的研究進(jìn)展
- 建筑史智慧樹知到期末考試答案2024年
- 金蓉顆粒-臨床用藥解讀
- 社區(qū)健康服務(wù)與管理教案
- 2023-2024年家政服務(wù)員職業(yè)技能培訓(xùn)考試題庫(kù)(含答案)
- 2023年(中級(jí))電工職業(yè)技能鑒定考試題庫(kù)(必刷500題)
- 藏歷新年文化活動(dòng)的工作方案
- 果酒釀造完整
- 第4章-理想氣體的熱力過(guò)程
評(píng)論
0/150
提交評(píng)論