版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第五章
AT89S51的中斷系統(tǒng)5.1
中斷概述5.2中斷系統(tǒng)結(jié)構(gòu)5.3中斷的應(yīng)用及編程§5.1中斷概述什么叫中斷?在日常生活中:中斷即中途打斷某一正在進行的工作,而去處理另外的緊急事件,待處理完后,再繼續(xù)原來的工作。在計算機中:計算機在運行某個進程的過程中,由于其他原因,有必要中止正在執(zhí)行的進程,而去執(zhí)行引起中斷的事件進程,待處理完畢后,再回到被中止進程的被打斷的地方繼續(xù)執(zhí)行,這種情況稱為“中斷”。中斷的定義簡單說:
中斷是指計算機暫時停止原程序的執(zhí)行轉(zhuǎn)而執(zhí)行中斷服務(wù)程序,并在服務(wù)完成后自動返回原程序的過程。執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點中斷請求中斷響應(yīng)執(zhí)行中斷處理程序中斷返回日常生活中的中斷與計算機中斷的比較:某人看書 執(zhí)行主程序 日常事務(wù)電話鈴響 中斷信號如INT0=0
中斷請求暫??磿?/p>
暫停執(zhí)行主程序中斷響應(yīng)書中作記號當(dāng)前PC入棧 保護斷點電話談話 執(zhí)行中斷程序 中斷服務(wù)繼續(xù)看書 返回主程序 中斷返回中斷的作用
可以說,沒有中斷技術(shù),就沒有現(xiàn)在的計算機的高速發(fā)展和應(yīng)用,現(xiàn)在的計算機正是利用中斷技術(shù)改善機器性能和提高計算機的處理能力的。由于采用了中斷技術(shù),解決了快速CPU和慢速外設(shè)之間的矛盾;使得計算機能夠及時處理控制系統(tǒng)中許多隨機發(fā)生的突發(fā)事件;具備了處理故障的能力,提高了自身的可靠性;具有了并行運行多個任務(wù)的能力。§5.2AT89S51的中斷系統(tǒng)
5.2.1中斷請求源
5.2.2中斷控制
5.2.3中斷處理過程
5.2.4中斷嵌套
5.2.5中斷請求的撤除是指能夠?qū)崿F(xiàn)中斷功能的那部分硬件電路和軟件程序。對AT89S51的中斷系統(tǒng)用一句話講叫:
“五源中斷,兩級管理”5.2.1中斷請求源(“五源中斷”)
8051的五個中斷源:
外部中斷
:INT0(由P3.2輸入)(2個)INT1(由P3.3輸入)內(nèi)部中斷:片內(nèi)定時/計數(shù)器T0
(3個)
片內(nèi)定時/計數(shù)器T1
片內(nèi)串行口中斷請求AT89S51P0口地址和數(shù)據(jù)總線P1口通用口P2口地址總線P3口RXDTXDINT0INT1T0T1WRRDVCCVSSRSTEA/VPPPSENALE/PROGXTAL1XTAL2
XTAL1輸入端
XTAL2輸出端2.時鐘引腳引腳轉(zhuǎn)義引腳功能說明P3.0RXD串行數(shù)據(jù)接收端P3.1TXD串行數(shù)據(jù)發(fā)送端P3.2INT0外部中斷0請求P3.3INT1外部中斷1請求P3.4T0定時/計數(shù)器0外部輸入P3.5T1定時/計數(shù)器1外部輸入P3.6WR外部數(shù)據(jù)存儲器寫選通P3.7RD外部數(shù)據(jù)存儲器讀選通
P3口第二功能:圖2-1
AT89S51單片機片內(nèi)結(jié)構(gòu)AT89S51的硬件組成單片機INT0或INT1或T0T1串行口外部中斷內(nèi)部中斷電平觸發(fā)跳變觸發(fā)/有了中斷請求,如何通知CPU?通過中斷請求標(biāo)志位來通知CPU外部中斷源、定時/計數(shù)器的中斷請求標(biāo)志位分布在定時器控制寄存器TCON中串行口中斷標(biāo)志位分布在串行口控制寄存器SCON中D7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0中斷請求標(biāo)志觸發(fā)方式選擇0低電平1下降沿1.定時器控制寄存器TCONTCONIT0:外部中斷0觸發(fā)類型控制位
IT0=0時:INT0低電平觸發(fā)(電平觸發(fā))IT0=1時:INT0負邊沿觸發(fā)(跳變觸發(fā))IT1:外部中斷1觸發(fā)類型控制位用法同IT0
注:IT0,IT1可由軟件置“1”或清“0”。D7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0TCONIE0:外部中斷0請求標(biāo)志當(dāng)IT0=0即電平觸發(fā)方式時,每個機器周期的S5P2采樣INT0,若INT0為低電平,將直接觸發(fā)外部中斷;當(dāng)IT0=1即邊沿觸發(fā)方式時,當(dāng)?shù)谝粋€機器周期采樣到INT0為高電平,第二個機器周期采樣到INT0為低電平時,由硬件置位IE0,并以此來向CPU請求中斷,當(dāng)CPU響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時由硬件清零IE0。IE1:外部中斷1請求標(biāo)志,用法同IE0TR0:
定時器T0的啟??刂莆?由軟件置位/清除來控制其開啟/關(guān)閉。若使TR0=1,則定時器T0開始計數(shù);若使TR0=0,則定時器T0停止計數(shù)。TR1:
定時器T1的啟??刂莆?,用法同TR0。D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0TCONTF0:定時/計數(shù)器0溢出中斷請求標(biāo)志位在啟動T0計數(shù)后,定時/計數(shù)器0從初值開始加1計數(shù),當(dāng)最高位產(chǎn)生溢出時,由硬件置位TF0,向CPU申請中斷,CPU響應(yīng)TF0中斷后清零該標(biāo)志位,TF0也可用軟件清零(查詢方式)。TF1:定時/計數(shù)器1溢出中斷請求標(biāo)志位D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0TCON2.串行口控制寄存器SCON串行口中斷分為兩種:串行口發(fā)送中斷串行口接收中斷D7D6D5D4D3D2D1D0TIRI串行中斷請求標(biāo)志SCONTI=1:有發(fā)送中斷RI=1:有接收中斷5.2.2中斷控制(“兩級管理”)對中斷允許的控制:中斷允許控制寄存器IE
對中斷優(yōu)先級的控制:中斷優(yōu)先級控制寄存器IP
D7D6D5D4D3D2D1D0EAESET1EX1ET0EX00禁止,1允許D7D6D5D4D3D2D1D0PSPT1PX1PT0PX00低級別,1高級別總的開關(guān)中斷控制位EA:EA=0:所有中斷請求被屏蔽。
EA=1:CPU開放中斷,但五個中斷源的中斷請求是否允許,還要由IE中的5個中斷請求允許控制位決定。1.中斷允許控制寄存器IED7D6D5D4D3D2D1D0EAESET1EX1ET0EX0IE(1)EA:中斷允許總控制位
0:CPU屏蔽所有的中斷請求;
1:CPU開放所有中斷。(2)ES:串行口中斷允許位
0:禁止串行口中斷;
1:允許串行口中斷。(3)ET1:定時/計數(shù)器T1的溢出中斷允許位
0:禁止T1溢出中斷;
1:允許T1溢出中斷。
D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0IE(4)EX1:外部中斷1中斷允許位
0:禁止外部中斷1中斷;
1:允許外部中斷1中斷。(5)ET0:定時/計數(shù)器T0的溢出中斷允許位
0:禁止T0溢出中斷;
1:允許T0溢出中斷。(6)EX0:外部中斷0中斷允許位。
0:禁止外部中斷0中斷;
1:允許外部中斷0中斷。
D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0IE
1:高優(yōu)先級中斷
0:低優(yōu)先級中斷
(1)PS—串行口中斷優(yōu)先級控制位
(2)PT1—定時器T1中斷優(yōu)先級控制位(3)PX1—外部中斷1中斷優(yōu)先級控制位(4)PT0—定時器T0中斷優(yōu)先級控制位(5)PX0—外部中斷0中斷優(yōu)先級控制位2.中斷優(yōu)先級控制寄存器IPD7D6D5D4D3D2D1D0PSPT1PX1PT0PX0IP為什么要有中斷優(yōu)先級?CPU同一時間只能響應(yīng)一個中斷請求。若同時來了兩個或兩個以上中斷請求,就必須有先有后。為此將5個中斷源分成高級、低級兩個級別,高級優(yōu)先,由IP控制。若同時來了兩個或兩個以上優(yōu)先級相同的中斷請求時,則由“同級內(nèi)的中斷優(yōu)先順序”確定。
中斷源中斷標(biāo)志優(yōu)先級順序
INT0IE0最高定時器T0TF0INT1IE1
定時器T1TF1串行口中斷TI或RI最低出現(xiàn)同級中斷請求時按以下順序:中斷優(yōu)先原則:(概括為四句話)1、低級不打斷高級2、高級不睬低級3、同級不能打斷4、同級同時中斷,事先約定MCS-51中斷系統(tǒng)內(nèi)部結(jié)構(gòu)
5.2.3中斷處理過程中斷處理過程可分為四個階段:(一)中斷采樣(二)中斷查詢
(三)中斷響應(yīng)(四)中斷返回(一)中斷采樣
采樣是中斷處理的第一步,主要針對外部中斷請求信號。所謂采樣,就是在每個機器周期的S5P2期間對INT0和INT1引腳進行檢測,根據(jù)檢測的結(jié)果,設(shè)置相應(yīng)中斷標(biāo)志位IE0或IE1的狀態(tài)。(二)中斷查詢
MCS-51系列單片機,在每個機器周期的最后一個狀態(tài)S6期間,都要按先后順序?qū)Ω鱾€中斷標(biāo)志位進行查詢,以確定是否有中斷發(fā)生。若有則在下個機器周期S1期間按優(yōu)先級進行中斷處理。
中斷查詢由硬件自動完成,查詢順序:
IE0(外部中斷0)→TF0(T0)→IE1(外部中斷1)→TF1(T1)
→RI和TI(串行口收發(fā)中斷)(三)中斷響應(yīng)中斷響應(yīng)就是對中斷源提出的中斷請求的接受,當(dāng)CPU查詢到有效的中斷請求時,緊接著就進行中斷的響應(yīng)。1.中斷響應(yīng)的條件:
1)有中斷源發(fā)出中斷請求2)系統(tǒng)處于開中斷狀態(tài),即EA=13)申請中斷的中斷源中斷允許,即相應(yīng)的中斷允許標(biāo)志位為1。
1)CPU正處理相同級別或更高級別的中斷;
2)正在執(zhí)行指令還未到最后一個機器周期;
3)正在執(zhí)行的指令是RETI或訪問IP、IE指令,則執(zhí)行完上述指令后,還應(yīng)再執(zhí)行一條指令,才會響應(yīng)新中斷。響應(yīng)的具體條件:滿足以上條件時,CPU一般會響應(yīng)中斷。但如果有下列情況之一時,中斷響應(yīng)被暫時擱置,中斷查詢結(jié)果即被取消。2.中斷響應(yīng)過程中斷響應(yīng)過程包括保護斷點和將程序轉(zhuǎn)向中斷服務(wù)程序的入口地址。具體過程如下:首先,中斷系統(tǒng)通過硬件自動生成長調(diào)用指令(LCALL),該指令將自動把斷點地址壓入堆棧保護。然后,將對應(yīng)的中斷入口地址裝入PC,使程序轉(zhuǎn)向該中斷入口地址,執(zhí)行中斷服務(wù)程序。單片機的中斷為固定入口式中斷,即一響應(yīng)中斷就轉(zhuǎn)入固定入口地址執(zhí)行中斷服務(wù)程序。具體入口如下:中斷源入口地址INT00003HT0000BHINT10013HT1001BHRI/TI0023H在這些單元中往往是一些跳轉(zhuǎn)指令,跳到真正的中斷服務(wù)程序,這是因為給每個中斷源安排的空間只有8個單元。
3.中斷處理中斷處理就是執(zhí)行中斷服務(wù)程序。中斷服務(wù)程序從中斷入口地址開始執(zhí)行,到返回指令RETI為止。一般包括兩部分內(nèi)容:一是保護現(xiàn)場,二是完成中斷源請求的服務(wù)。保護現(xiàn)場包括保護:累計器A、PSW、及其他一些寄存器。4.中斷響應(yīng)時間所謂中斷響應(yīng)時間是指:CPU檢測到中斷請求信號到轉(zhuǎn)入中斷服務(wù)程序入口所需要的機器周期數(shù)。MCS-51單片機響應(yīng)中斷的最短時間為3個機器周期,時間最長需要8個機器周期。
(1)最快響應(yīng)時間以外部中斷的電平觸發(fā)為最快。從查詢中斷請求信號到中斷服務(wù)程序需要三個機器周期:
1個周期(查詢)+2個周期(長調(diào)用LCALL)(2)最長時間若當(dāng)前指令是RET、RETI和IP、IE指令,緊接著下一條是乘除指令發(fā)生,則最長為8個周期:2個周期執(zhí)行當(dāng)前指令(其中含有1個周期查詢)+4個周期乘除指令+2個周期長調(diào)用=8個周期。為什么要計算中斷響應(yīng)時間?
關(guān)系到MCS-51對外中斷的響應(yīng)速度,在系統(tǒng)設(shè)計中十分重要。中斷響應(yīng)時間是選擇處理器的指標(biāo)?。ㄋ模┲袛喾祷豏ETI指令是專用于中斷服務(wù)程序的返回指令,占兩個機器周期。RETI指令的作用:除正確返回中斷斷點處繼續(xù)執(zhí)行主程序外,并告之中斷系統(tǒng),表示已結(jié)束中斷服務(wù)程序的執(zhí)行,恢復(fù)中斷邏輯可以接受新的中斷請求。中斷源發(fā)中斷請求中斷響應(yīng)條件滿足中斷受阻把PC斷點地址壓入堆棧相應(yīng)中斷源的入口地址送PCYNYN硬件自動完成中斷處理流程保護現(xiàn)場和恢復(fù)現(xiàn)場的過程中不允許中斷,以免現(xiàn)場遭到破壞。保護和恢復(fù)現(xiàn)場之后的開中斷是為了允許有更高級中斷打斷此中斷服務(wù)程序。
5.2.4中斷嵌套
在某一瞬間,CPU因響應(yīng)某一中斷源的中斷請求而正在執(zhí)行它的中斷服務(wù)程序時,若CPU此時的中斷是開放的,那它必然可以把正在執(zhí)行的中斷服務(wù)程序暫停下來轉(zhuǎn)而響應(yīng)和處理中斷優(yōu)先權(quán)更高中斷源的中斷請求,等到處理完后再轉(zhuǎn)回繼續(xù)執(zhí)行原來的中斷服務(wù)程序,這就是中斷嵌套。
中斷嵌套的先決條件:1.中斷服務(wù)程序開頭應(yīng)設(shè)置一條開中斷指令。
(因為CPU會因響應(yīng)中斷而自動關(guān)閉中斷)2.要有中斷優(yōu)先權(quán)更高的中斷請求存在。兩者缺一不可,都是實現(xiàn)中斷嵌套的必要條件。MCS-51中斷嵌套示意圖5.2.5中斷請求的撤除
CPU響應(yīng)某中斷請求后,在中斷返回前應(yīng)撤除該中斷請求,否則會引起另一次中斷。
1.
定時/計數(shù)器中斷請求的撤除:由硬件電路自動撤除的
2.
串行口中斷請求的撤除:
要靠軟件來清除相應(yīng)的標(biāo)志
3.
外部中斷請求的撤除:(分兩種情況)
﹡邊沿觸發(fā):自動撤除
﹡電平觸發(fā):硬件、軟件相配合當(dāng)外部請求為電平觸發(fā)方式時,IE1或IE0是依靠檢測INT0或INT1引腳上的低電平而置位的。盡管CPU在響應(yīng)中斷時IE1或IE0被自動復(fù)位“0”,但如果外部中斷源不能及時撤除在INT0或INT1引腳上的低電平,就會再次置位IE1或IE0
。
而在硬件上,CPU對INT0和INT1引腳的信號不能控制,所以這個問題要通過硬件,再配合軟件來解決。§5.3中斷的應(yīng)用及編程
[例1]若要求外部中斷INT1引腳為邊沿觸發(fā)方式,以及處于高中斷優(yōu)先級,編寫中斷系統(tǒng)初始化程序。
解:程序的編制有兩種方法:采用位操作指令進行編制:
SETBbit或CLRbit
字節(jié)型指令編制
方法一:
SETBEA;開中斷
SETBEX1;開INT1中斷
SETBPX1;令I(lǐng)NT1為高優(yōu)先級
SETBIT1;令I(lǐng)NT1為邊沿觸發(fā)方式
方法二:
MOVIE,#84H;開INT1中斷
ORL IP, #04H;令I(lǐng)NT1為高優(yōu)先級
ORLTCON,#04H;令I(lǐng)NT1為邊沿觸發(fā)方式例2:利用8031的外部中斷,實現(xiàn)單步操作。INT08031+5V1K?硬件組成:單步操作的工作原理:(1)根據(jù)MCS-51單片機中斷系統(tǒng)的一個重要特性:在執(zhí)行完中斷處理程序的RETI指令后,必須返回主程序執(zhí)行一條指令,然后才能響應(yīng)新的中斷。
(2)因此,在硬件電路上,只需通過按鍵或微動開關(guān),實現(xiàn)按鍵彈起為高電平,按下為低電平,將此信號與INTx引腳相連,且設(shè)為電平觸發(fā)方式。當(dāng)按下按鍵產(chǎn)生低電平,經(jīng)INTx請求中斷,主機響應(yīng)中斷,進入中斷服務(wù)程序,等待從INTx引腳上接收到一個脈沖(從低→高→低),才結(jié)束中斷服務(wù)程序,返回主程序并執(zhí)行完一條指令后,又立即進入INTx中斷服務(wù)程序,等待下一個脈沖的到來。(3)不斷按鍵,反復(fù)產(chǎn)生脈沖,就可以單步方式執(zhí)行完整個程序段。初始化程序為:CLR IT0;外部中斷0為電平觸發(fā)SETBEA;CPU開中斷SETBPX0;外部中斷0置為高優(yōu)先級SETBEX0;允許外部中斷0中斷
外部中斷0的中斷服務(wù)程序為:
JNB P3.2,$;INT0為低電平等待JB P3.2,$;INT0為高電平等待RETI
練習(xí):試編寫一段對中斷系統(tǒng)初始化的程序,使之允許、T1
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年小學(xué)學(xué)校教學(xué)工作計劃范本(三篇)
- 2024年安全生產(chǎn)檢查制度樣本(五篇)
- 2024年室內(nèi)裝修施工合同范文(二篇)
- 2024年小河煤礦水害隱患排查治理制度范文(四篇)
- 2024年市場助理的職責(zé)說明(二篇)
- 2024年幼兒園保教部門工作計劃范文(二篇)
- 【《債券市場違約對審計師的影響探究的國內(nèi)外文獻綜述》4700字】
- 2024年小學(xué)生學(xué)習(xí)計劃范例(四篇)
- 2024年小班幼師個人工作計劃范本(二篇)
- 土地法律權(quán)益保護之土地糾紛調(diào)解與仲裁
- 《建設(shè)美麗中國》課件
- 六大行動實施方案永紅九年一貫制學(xué)校
- 鼓膜穿孔的護理查房
- 普通診所污水、污物、糞便處理方案 及周邊環(huán)境情況說明
- 新媒體視聽節(jié)目制作 課件全套 第1-10章 新媒體時代導(dǎo)演的基本素養(yǎng)-節(jié)目的合成
- 《西方經(jīng)濟學(xué)》(下冊)課程教案
- 兒科遺尿中醫(yī)診療規(guī)范診療指南2023版
- 工程項目治安保衛(wèi)制度模版
- 信息安全數(shù)學(xué)基礎(chǔ) 第2版 課件 第5章-群
- 基層反映大學(xué)生實習(xí)亂象頻發(fā)亟待關(guān)注
評論
0/150
提交評論