07MSC-51單片機(jī)的中斷系統(tǒng)_第1頁
07MSC-51單片機(jī)的中斷系統(tǒng)_第2頁
07MSC-51單片機(jī)的中斷系統(tǒng)_第3頁
07MSC-51單片機(jī)的中斷系統(tǒng)_第4頁
07MSC-51單片機(jī)的中斷系統(tǒng)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第07講 51單片機(jī)的中斷系統(tǒng)電氣信息實驗教學(xué)中心仝迪1一、中斷的基本概念所謂中斷是指CPU對系統(tǒng)中或系統(tǒng)外發(fā)生的某個事件的一種響應(yīng)過程,即CPU暫時停止現(xiàn)行程序的執(zhí)行,而自動轉(zhuǎn)去執(zhí)行預(yù)先安排好的處理該事件的服務(wù)子程序。當(dāng)處理結(jié)束后,再返回到被暫停程序的斷點處,繼續(xù)執(zhí)行原來的程序。實現(xiàn)這種中斷功能的硬件系統(tǒng)和軟件系統(tǒng)統(tǒng)稱為中斷系統(tǒng)。中斷系統(tǒng)是計算機(jī)的重要組成部分。實時控制、故障自動處理時往往用到中斷系統(tǒng),計算機(jī)與外部設(shè)備間傳送數(shù)據(jù)及實現(xiàn)人機(jī)聯(lián)系也常常采用中斷方式。2一、中斷的基本概念中斷系統(tǒng)需要解決以下基本問題:(1)中斷源:中斷請求信號的來源。包括中斷請求信號的產(chǎn)生及該信號怎樣被CPU有效地

2、識別。而且要求中斷請求信號產(chǎn)生一次,只能被CPU接收處理一次,即不能一次中斷申請被CPU多次響應(yīng)。這就涉及到中斷請求信號的及時撤除問題。(2) 中斷響應(yīng)與返回:CPU采集到中斷請求信號后,怎樣轉(zhuǎn)向特定的中斷服務(wù)子程序及執(zhí)行完中斷服務(wù)子程序怎樣返回被中斷的程序繼續(xù)正確地執(zhí)行。中斷響應(yīng)與返回的過程中涉及到CPU響應(yīng)中斷的條件、現(xiàn)場保護(hù)等問題。 3一、中斷的基本概念(3)優(yōu)先級控制:一個計算機(jī)應(yīng)用系統(tǒng),特別是計算機(jī)實時測控應(yīng)用系統(tǒng),往往有多個中斷源,各中斷源所要求的處理具有不同的輕重、緩急程度。與人處理問題的思路一樣,希望重要緊急的事件先處理,而且如果當(dāng)前處于正在處理某個事件的過程中,有更重要、更緊

3、急的事件到來,就應(yīng)當(dāng)暫停當(dāng)前事件的處理,轉(zhuǎn)去處理新事件。這就是中斷系統(tǒng)優(yōu)先級控制所要解決的問題。中斷優(yōu)先級的控制形成了中斷嵌套。4一、中斷的基本概念MCS51中斷系統(tǒng)5一、中斷的基本概念中斷的響應(yīng)過程 (1) 在每條指令結(jié)束后, 系統(tǒng)都自動檢測中斷請求信號, 如果有中斷請求,且CPU處于開中斷狀態(tài)下, 則響應(yīng)中斷。(2) 保護(hù)現(xiàn)場, 在保護(hù)現(xiàn)場前, 一般要關(guān)中斷, 以防止現(xiàn)場被破壞。保護(hù)現(xiàn)場一般是用堆棧指令將原程序中用到的寄存器推入堆棧。(3) 中斷服務(wù), 即為相應(yīng)的中斷源服務(wù)。 (4) 恢復(fù)現(xiàn)場, 用堆棧指令將保護(hù)在堆棧中的數(shù)據(jù)彈出來, 在恢復(fù)現(xiàn)場前要關(guān)中斷, 以防止現(xiàn)場被破壞。在恢復(fù)現(xiàn)場后

4、應(yīng)及時開中斷。 (5) 返回, 此時 CPU將推入到堆棧的斷點地址彈回到程序計數(shù)器, 從而使CPU繼續(xù)執(zhí)行剛才被中斷的程序。6二、中斷源MCS51單片機(jī)的中斷源7二、中斷源(外部中斷) 1外部中斷外部中斷是指從單片機(jī)外部引腳INT0、INT1輸入中斷請求信號的中斷,即外部中斷源有兩個。輸入/輸出的中斷請求、實時事件的中斷請求、掉電和設(shè)備故障的中斷請求都可以作為外部中斷源。外部中斷請求INT0、 INT1有兩種觸發(fā)方式:電平觸發(fā)及跳變(邊沿)觸發(fā)。這兩種觸發(fā)方式可以通過對特殊功能寄存器TCON編程來選擇。下面再給出TCON的位定義格式,并對與中斷有關(guān)的定義位予以說明。8二、中斷源(外部中斷)IT

5、0(IT1):外部中斷0(或1)觸發(fā)方式控制位。IT0(或IT1)被設(shè)置為0,則選擇外部中斷為電平觸發(fā)方式;IT0(或IT1)被設(shè)置為1,則選擇外部中斷為跳變觸發(fā)方式。 TF1TR1TF0TR0IE1IT1IE0IT0D7 D6 D5 D4 D3 D2 D1 D0TCON字節(jié)地址98H 9二、中斷源(外部中斷)IE0(IE1):外部中斷0(或1)的中斷請求標(biāo)志位。當(dāng)IE0(IE1)=1時說明外部觸發(fā)條件成立當(dāng)Itx=0時,外觸發(fā)工作于“電平觸發(fā)”模式,當(dāng)單片機(jī)對應(yīng)引腳上出現(xiàn)低電平時,系統(tǒng)將被觸發(fā)。當(dāng)Itx=1時,外觸發(fā)工作于“邊緣觸發(fā)”模式,當(dāng)單片機(jī)對應(yīng)引腳上出現(xiàn)由“高”到“低”的一次跳變時,

6、系統(tǒng)將被觸發(fā)。TF1TR1TF0TR0IE1IT1IE0IT0D7 D6 D5 D4 D3 D2 D1 D0TCON字節(jié)地址98H 10二、中斷源(內(nèi)部中斷)內(nèi)部中斷是單片機(jī)芯片內(nèi)部產(chǎn)生的中斷。MCS-51單片機(jī)(51子系列)的內(nèi)部中斷有定時器/計數(shù)器T0、T1的溢出中斷,串行口的發(fā)送/接收中斷。前已述及,當(dāng)定時器/計數(shù)器T0、T1的定時或計數(shù)到由硬件自動置位TCON的TF0或TF1,便向CPU申請中斷。11三、中斷的控制1、中斷允許控制: MCS-51單片機(jī)中沒有專設(shè)的開中斷和關(guān)中斷指令,對各中斷源的中斷開放或關(guān)閉是由內(nèi)部的中斷允許寄存器IE的各位來控制的。IE各位的定義如下:D7 D6 D

7、5 D4 D3 D2 D1 D0IE字節(jié)地址A8H 12三、中斷的控制 EA:中斷允許總控位。EA=0,屏蔽所有的中斷請求;EA=1,開放中斷。EA的作用是使中斷允許形成兩級控制。即各中斷源首先受EA位的控制;其次還要受各中斷源自己的中斷允許總控位控制。EA=1;/總中斷啟動EA=0;/總中斷關(guān)閉D7 D6 D5 D4 D3 D2 D1 D0IE字節(jié)地址A8H 13三、中斷的控制 ET2:定時器/計數(shù)器T2的溢出中斷允許位,只用于52子系列,51子系列無此位。 ET2=0,禁止T2中斷;ET2=1,允許T2中斷。D7 D6 D5 D4 D3 D2 D1 D0IE字節(jié)地址A8H 14三、中斷的控

8、制 ES:串行口中斷允許位。ES=0,禁止串行口中斷;ES=1允許串行口中斷。D7 D6 D5 D4 D3 D2 D1 D0IE字節(jié)地址A8H 15三、中斷的控制 ET1:定時器/計數(shù)器T1的溢出中斷允許位。ET1=0,禁止T1中斷;ET1=1,允許T1中斷。D7 D6 D5 D4 D3 D2 D1 D0IE字節(jié)地址A8H 16三、中斷的控制 EX1:外部中斷1( INT1)的中斷允許位。EX1=0,禁止外部中斷1中斷;EX1=1,允許外部中斷1中斷。D7 D6 D5 D4 D3 D2 D1 D0IE字節(jié)地址A8H 17三、中斷的控制 ET0:定時器/計數(shù)器T0的溢出中斷允許位。ET0=0,禁

9、止T0中斷;ET0=1,允許T0中斷。D7 D6 D5 D4 D3 D2 D1 D0IE字節(jié)地址A8H 18三、中斷的控制 EX0:外部中斷0(INT0)的中斷允許位。EX0=0,禁止外部中斷0中斷;EX0=1允許外部中斷0中斷。D7 D6 D5 D4 D3 D2 D1 D0IE字節(jié)地址A8H 19三、中斷的控制2、中斷優(yōu)先級控制在單片機(jī)系統(tǒng)程序的設(shè)計中,往往使用不止一個中斷服務(wù)子程序。于是就涉及到這樣一些問題:如果有多個滿足條件的中斷發(fā)生,那么哪一個中斷服務(wù)子程序?qū)⒈皇紫扔|發(fā)?當(dāng)一個中斷服務(wù)子程序正在被執(zhí)行的時候,又有中斷發(fā)生了,正在被執(zhí)行的中斷服務(wù)子程序又該怎樣運行?20三、中斷的控制MC

10、S-51單片機(jī)的中斷源有兩個用戶可控的中斷優(yōu)先級,從而可實現(xiàn)二級中斷嵌套。中斷系統(tǒng)遵循如下三條規(guī)則:(1) 正在進(jìn)行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷,一直到該中斷服務(wù)程序結(jié)束,返回了主程序且執(zhí)行了主程序中的一條指令后,CPU才響應(yīng)新的中斷請求。(2) 正在進(jìn)行的低優(yōu)先級中斷服務(wù)程序能被高優(yōu)先級中斷請求所中斷,實現(xiàn)兩級中斷嵌套。(3) CPU同時接收到幾個中斷請求時,首先響應(yīng)優(yōu)先級最高的中斷請求。21三、中斷的控制中斷優(yōu)先級控制寄存器PT2:定時器/計數(shù)器T2的中斷優(yōu)先級控制位,只用于具有Timer2的子系列。PS:串行口的中斷優(yōu)先級控制位。PT1:定時器/計數(shù)器T1的中斷優(yōu)先

11、級控制位。PX1:外部中斷INT1的中斷優(yōu)先級控制位。PT0:定時器/計數(shù)器T0的中斷優(yōu)先級控制位。PX0:外部中斷INT0的中斷優(yōu)先級控制位。IP22三、中斷的控制默認(rèn)的中斷優(yōu)先級中 斷 源同級的中斷優(yōu)先級 外部中斷0 定時器/計數(shù)器0中斷 外部中斷1 定時器/計數(shù)器1中斷 串行口中斷 定時器/計數(shù)器2中斷最高最低23三、中斷的控制24三、中斷響應(yīng)的條件、過程與時間 1、中斷響應(yīng)的條件相關(guān)中斷源的使能被啟用。總中斷IE被使能。滿足各中斷的物理事件發(fā)生。單片機(jī)處于能夠響應(yīng)中斷的狀態(tài): (1) 無同級或高級中斷正在處理。 (2) 現(xiàn)行指令執(zhí)行到最后1個機(jī)器周期且已結(jié)束。 (3) 若現(xiàn)行指令為RE

12、TI或訪問IE、IP的指令時,執(zhí)行完該指令且緊隨其后的另一條指令也已執(zhí)行完畢。25三、中斷的控制 2、中斷響應(yīng)過程 CPU響應(yīng)中斷后,由硬件自動執(zhí)行如下的功能操作:(1) 根據(jù)中斷請求源的優(yōu)先級高低,對相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器置1。(2) 保護(hù)斷點,即把程序計數(shù)器PC的內(nèi)容壓入堆棧保存。(3) 清內(nèi)部硬件可清除的中斷請求標(biāo)志位(IE0、IE1、TF0、TF1)。(4) 把被響應(yīng)的中斷服務(wù)程序入口地址送入PC,從而轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序執(zhí)行。26三、中斷的控制 3、中斷響應(yīng)時間所謂中斷響應(yīng)時間是指CPU檢測到中斷請求信號到轉(zhuǎn)入中斷服務(wù)程序入口所需要的機(jī)器周期數(shù)。了解中斷響應(yīng)時間對設(shè)計實時測控應(yīng)用系

13、統(tǒng)有重要指導(dǎo)意義。MCS-51單片機(jī)響應(yīng)中斷的最短時間為3個機(jī)器周期。若CPU檢測到中斷請求信號時間正好是一條指令的最后一個機(jī)器周期,則不需等待就可以立即響應(yīng)。所謂響應(yīng)中斷就是由內(nèi)部硬件執(zhí)行一條長調(diào)用指令,需要2個機(jī)器周期,加上檢測需要1個機(jī)器周期,一共需要3個機(jī)器周期才開始執(zhí)行中斷服務(wù)程序。27四、中斷的使用中斷的使用一般需要考慮以下幾個步驟:1、使用哪些中斷源2、這些中斷源的中斷觸發(fā)方式3、中斷源的優(yōu)先級4、使能中斷源5、使能全局中斷28四、中斷的使用當(dāng)中斷發(fā)生后,中斷服務(wù)子程序需要做的工作1、清中斷標(biāo)志位2、禁止全局中斷(如果需要)3、禁止本中斷源的中斷使能4、運行自定的中斷服務(wù)子程序5

14、、重新啟用本中斷源的中斷使能6、啟用全局中斷,如果有29四、中斷的使用例1,利用中斷的方法,讓LED燈熄滅分析:sbit led=P14;sbit K1=P32;void main (void) IE0=0; /clear int0 interrupt flag IT0=1; /falling edge trigger interrupt EX0=1; /int0 interrupt enable EA=1; /system interrupt enable led=0; /led on while(1);30四、中斷的使用void EXT0_int() interrupt 0 IE0=0; /clear int0 interrupt flag EX0=0; /int0 interrupt disable led=1; /led off EX0=1; /int0 interrupt enable31四、中斷的使用在定時器一節(jié)的學(xué)習(xí)中,我們了解到,當(dāng)定時器溢出后會產(chǎn)生一個“溢出”標(biāo)志,這個“溢出”標(biāo)志其實就是timer的中斷標(biāo)志位TF0/TF132四、中斷的使用例2:利用定時器中斷的

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論