




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第五章
AT89S51的中斷系統5.1
中斷概述5.2中斷系統結構5.3中斷的應用及編程§5.1中斷概述什么叫中斷?在日常生活中:中斷即中途打斷某一正在進行的工作,而去處理另外的緊急事件,待處理完后,再繼續原來的工作。在計算機中:計算機在運行某個進程的過程中,由于其他原因,有必要中止正在執行的進程,而去執行引起中斷的事件進程,待處理完畢后,再回到被中止進程的被打斷的地方繼續執行,這種情況稱為“中斷”。中斷的定義簡單說:
中斷是指計算機暫時停止原程序的執行轉而執行中斷服務程序,并在服務完成后自動返回原程序的過程。執行主程序主程序繼續執行主程序斷點中斷請求中斷響應執行中斷處理程序中斷返回日常生活中的中斷與計算機中斷的比較:某人看書 執行主程序 日常事務電話鈴響 中斷信號如INT0=0
中斷請求暫停看書
暫停執行主程序中斷響應書中作記號當前PC入棧 保護斷點電話談話 執行中斷程序 中斷服務繼續看書 返回主程序 中斷返回中斷的作用
可以說,沒有中斷技術,就沒有現在的計算機的高速發展和應用,現在的計算機正是利用中斷技術改善機器性能和提高計算機的處理能力的。由于采用了中斷技術,解決了快速CPU和慢速外設之間的矛盾;使得計算機能夠及時處理控制系統中許多隨機發生的突發事件;具備了處理故障的能力,提高了自身的可靠性;具有了并行運行多個任務的能力。§5.2AT89S51的中斷系統
5.2.1中斷請求源
5.2.2中斷控制
5.2.3中斷處理過程
5.2.4中斷嵌套
5.2.5中斷請求的撤除是指能夠實現中斷功能的那部分硬件電路和軟件程序。對AT89S51的中斷系統用一句話講叫:
“五源中斷,兩級管理”5.2.1中斷請求源(“五源中斷”)
8051的五個中斷源:
外部中斷
:INT0(由P3.2輸入)(2個)INT1(由P3.3輸入)內部中斷:片內定時/計數器T0
(3個)
片內定時/計數器T1
片內串行口中斷請求AT89S51P0口地址和數據總線P1口通用口P2口地址總線P3口RXDTXDINT0INT1T0T1WRRDVCCVSSRSTEA/VPPPSENALE/PROGXTAL1XTAL2
XTAL1輸入端
XTAL2輸出端2.時鐘引腳引腳轉義引腳功能說明P3.0RXD串行數據接收端P3.1TXD串行數據發送端P3.2INT0外部中斷0請求P3.3INT1外部中斷1請求P3.4T0定時/計數器0外部輸入P3.5T1定時/計數器1外部輸入P3.6WR外部數據存儲器寫選通P3.7RD外部數據存儲器讀選通
P3口第二功能:圖2-1
AT89S51單片機片內結構AT89S51的硬件組成單片機INT0或INT1或T0T1串行口外部中斷內部中斷電平觸發跳變觸發/有了中斷請求,如何通知CPU?通過中斷請求標志位來通知CPU外部中斷源、定時/計數器的中斷請求標志位分布在定時器控制寄存器TCON中串行口中斷標志位分布在串行口控制寄存器SCON中D7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0中斷請求標志觸發方式選擇0低電平1下降沿1.定時器控制寄存器TCONTCONIT0:外部中斷0觸發類型控制位
IT0=0時:INT0低電平觸發(電平觸發)IT0=1時:INT0負邊沿觸發(跳變觸發)IT1:外部中斷1觸發類型控制位用法同IT0
注:IT0,IT1可由軟件置“1”或清“0”。D7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0TCONIE0:外部中斷0請求標志當IT0=0即電平觸發方式時,每個機器周期的S5P2采樣INT0,若INT0為低電平,將直接觸發外部中斷;當IT0=1即邊沿觸發方式時,當第一個機器周期采樣到INT0為高電平,第二個機器周期采樣到INT0為低電平時,由硬件置位IE0,并以此來向CPU請求中斷,當CPU響應中斷,轉向中斷服務程序時由硬件清零IE0。IE1:外部中斷1請求標志,用法同IE0TR0:
定時器T0的啟停控制位,由軟件置位/清除來控制其開啟/關閉。若使TR0=1,則定時器T0開始計數;若使TR0=0,則定時器T0停止計數。TR1:
定時器T1的啟停控制位,用法同TR0。D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0TCONTF0:定時/計數器0溢出中斷請求標志位在啟動T0計數后,定時/計數器0從初值開始加1計數,當最高位產生溢出時,由硬件置位TF0,向CPU申請中斷,CPU響應TF0中斷后清零該標志位,TF0也可用軟件清零(查詢方式)。TF1:定時/計數器1溢出中斷請求標志位D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0TCON2.串行口控制寄存器SCON串行口中斷分為兩種:串行口發送中斷串行口接收中斷D7D6D5D4D3D2D1D0TIRI串行中斷請求標志SCONTI=1:有發送中斷RI=1:有接收中斷5.2.2中斷控制(“兩級管理”)對中斷允許的控制:中斷允許控制寄存器IE
對中斷優先級的控制:中斷優先級控制寄存器IP
D7D6D5D4D3D2D1D0EAESET1EX1ET0EX00禁止,1允許D7D6D5D4D3D2D1D0PSPT1PX1PT0PX00低級別,1高級別總的開關中斷控制位EA:EA=0:所有中斷請求被屏蔽。
EA=1:CPU開放中斷,但五個中斷源的中斷請求是否允許,還要由IE中的5個中斷請求允許控制位決定。1.中斷允許控制寄存器IED7D6D5D4D3D2D1D0EAESET1EX1ET0EX0IE(1)EA:中斷允許總控制位
0:CPU屏蔽所有的中斷請求;
1:CPU開放所有中斷。(2)ES:串行口中斷允許位
0:禁止串行口中斷;
1:允許串行口中斷。(3)ET1:定時/計數器T1的溢出中斷允許位
0:禁止T1溢出中斷;
1:允許T1溢出中斷。
D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0IE(4)EX1:外部中斷1中斷允許位
0:禁止外部中斷1中斷;
1:允許外部中斷1中斷。(5)ET0:定時/計數器T0的溢出中斷允許位
0:禁止T0溢出中斷;
1:允許T0溢出中斷。(6)EX0:外部中斷0中斷允許位。
0:禁止外部中斷0中斷;
1:允許外部中斷0中斷。
D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0IE
1:高優先級中斷
0:低優先級中斷
(1)PS—串行口中斷優先級控制位
(2)PT1—定時器T1中斷優先級控制位(3)PX1—外部中斷1中斷優先級控制位(4)PT0—定時器T0中斷優先級控制位(5)PX0—外部中斷0中斷優先級控制位2.中斷優先級控制寄存器IPD7D6D5D4D3D2D1D0PSPT1PX1PT0PX0IP為什么要有中斷優先級?CPU同一時間只能響應一個中斷請求。若同時來了兩個或兩個以上中斷請求,就必須有先有后。為此將5個中斷源分成高級、低級兩個級別,高級優先,由IP控制。若同時來了兩個或兩個以上優先級相同的中斷請求時,則由“同級內的中斷優先順序”確定。
中斷源中斷標志優先級順序
INT0IE0最高定時器T0TF0INT1IE1
定時器T1TF1串行口中斷TI或RI最低出現同級中斷請求時按以下順序:中斷優先原則:(概括為四句話)1、低級不打斷高級2、高級不睬低級3、同級不能打斷4、同級同時中斷,事先約定MCS-51中斷系統內部結構
5.2.3中斷處理過程中斷處理過程可分為四個階段:(一)中斷采樣(二)中斷查詢
(三)中斷響應(四)中斷返回(一)中斷采樣
采樣是中斷處理的第一步,主要針對外部中斷請求信號。所謂采樣,就是在每個機器周期的S5P2期間對INT0和INT1引腳進行檢測,根據檢測的結果,設置相應中斷標志位IE0或IE1的狀態。(二)中斷查詢
MCS-51系列單片機,在每個機器周期的最后一個狀態S6期間,都要按先后順序對各個中斷標志位進行查詢,以確定是否有中斷發生。若有則在下個機器周期S1期間按優先級進行中斷處理。
中斷查詢由硬件自動完成,查詢順序:
IE0(外部中斷0)→TF0(T0)→IE1(外部中斷1)→TF1(T1)
→RI和TI(串行口收發中斷)(三)中斷響應中斷響應就是對中斷源提出的中斷請求的接受,當CPU查詢到有效的中斷請求時,緊接著就進行中斷的響應。1.中斷響應的條件:
1)有中斷源發出中斷請求2)系統處于開中斷狀態,即EA=13)申請中斷的中斷源中斷允許,即相應的中斷允許標志位為1。
1)CPU正處理相同級別或更高級別的中斷;
2)正在執行指令還未到最后一個機器周期;
3)正在執行的指令是RETI或訪問IP、IE指令,則執行完上述指令后,還應再執行一條指令,才會響應新中斷。響應的具體條件:滿足以上條件時,CPU一般會響應中斷。但如果有下列情況之一時,中斷響應被暫時擱置,中斷查詢結果即被取消。2.中斷響應過程中斷響應過程包括保護斷點和將程序轉向中斷服務程序的入口地址。具體過程如下:首先,中斷系統通過硬件自動生成長調用指令(LCALL),該指令將自動把斷點地址壓入堆棧保護。然后,將對應的中斷入口地址裝入PC,使程序轉向該中斷入口地址,執行中斷服務程序。單片機的中斷為固定入口式中斷,即一響應中斷就轉入固定入口地址執行中斷服務程序。具體入口如下:中斷源入口地址INT00003HT0000BHINT10013HT1001BHRI/TI0023H在這些單元中往往是一些跳轉指令,跳到真正的中斷服務程序,這是因為給每個中斷源安排的空間只有8個單元。
3.中斷處理中斷處理就是執行中斷服務程序。中斷服務程序從中斷入口地址開始執行,到返回指令RETI為止。一般包括兩部分內容:一是保護現場,二是完成中斷源請求的服務。保護現場包括保護:累計器A、PSW、及其他一些寄存器。4.中斷響應時間所謂中斷響應時間是指:CPU檢測到中斷請求信號到轉入中斷服務程序入口所需要的機器周期數。MCS-51單片機響應中斷的最短時間為3個機器周期,時間最長需要8個機器周期。
(1)最快響應時間以外部中斷的電平觸發為最快。從查詢中斷請求信號到中斷服務程序需要三個機器周期:
1個周期(查詢)+2個周期(長調用LCALL)(2)最長時間若當前指令是RET、RETI和IP、IE指令,緊接著下一條是乘除指令發生,則最長為8個周期:2個周期執行當前指令(其中含有1個周期查詢)+4個周期乘除指令+2個周期長調用=8個周期。為什么要計算中斷響應時間?
關系到MCS-51對外中斷的響應速度,在系統設計中十分重要。中斷響應時間是選擇處理器的指標!(四)中斷返回RETI指令是專用于中斷服務程序的返回指令,占兩個機器周期。RETI指令的作用:除正確返回中斷斷點處繼續執行主程序外,并告之中斷系統,表示已結束中斷服務程序的執行,恢復中斷邏輯可以接受新的中斷請求。中斷源發中斷請求中斷響應條件滿足中斷受阻把PC斷點地址壓入堆棧相應中斷源的入口地址送PCYNYN硬件自動完成中斷處理流程保護現場和恢復現場的過程中不允許中斷,以免現場遭到破壞。保護和恢復現場之后的開中斷是為了允許有更高級中斷打斷此中斷服務程序。
5.2.4中斷嵌套
在某一瞬間,CPU因響應某一中斷源的中斷請求而正在執行它的中斷服務程序時,若CPU此時的中斷是開放的,那它必然可以把正在執行的中斷服務程序暫停下來轉而響應和處理中斷優先權更高中斷源的中斷請求,等到處理完后再轉回繼續執行原來的中斷服務程序,這就是中斷嵌套。
中斷嵌套的先決條件:1.中斷服務程序開頭應設置一條開中斷指令。
(因為CPU會因響應中斷而自動關閉中斷)2.要有中斷優先權更高的中斷請求存在。兩者缺一不可,都是實現中斷嵌套的必要條件。MCS-51中斷嵌套示意圖5.2.5中斷請求的撤除
CPU響應某中斷請求后,在中斷返回前應撤除該中斷請求,否則會引起另一次中斷。
1.
定時/計數器中斷請求的撤除:由硬件電路自動撤除的
2.
串行口中斷請求的撤除:
要靠軟件來清除相應的標志
3.
外部中斷請求的撤除:(分兩種情況)
﹡邊沿觸發:自動撤除
﹡電平觸發:硬件、軟件相配合當外部請求為電平觸發方式時,IE1或IE0是依靠檢測INT0或INT1引腳上的低電平而置位的。盡管CPU在響應中斷時IE1或IE0被自動復位“0”,但如果外部中斷源不能及時撤除在INT0或INT1引腳上的低電平,就會再次置位IE1或IE0
。
而在硬件上,CPU對INT0和INT1引腳的信號不能控制,所以這個問題要通過硬件,再配合軟件來解決。§5.3中斷的應用及編程
[例1]若要求外部中斷INT1引腳為邊沿觸發方式,以及處于高中斷優先級,編寫中斷系統初始化程序。
解:程序的編制有兩種方法:采用位操作指令進行編制:
SETBbit或CLRbit
字節型指令編制
方法一:
SETBEA;開中斷
SETBEX1;開INT1中斷
SETBPX1;令INT1為高優先級
SETBIT1;令INT1為邊沿觸發方式
方法二:
MOVIE,#84H;開INT1中斷
ORL IP, #04H;令INT1為高優先級
ORLTCON,#04H;令INT1為邊沿觸發方式例2:利用8031的外部中斷,實現單步操作。INT08031+5V1K?硬件組成:單步操作的工作原理:(1)根據MCS-51單片機中斷系統的一個重要特性:在執行完中斷處理程序的RETI指令后,必須返回主程序執行一條指令,然后才能響應新的中斷。
(2)因此,在硬件電路上,只需通過按鍵或微動開關,實現按鍵彈起為高電平,按下為低電平,將此信號與INTx引腳相連,且設為電平觸發方式。當按下按鍵產生低電平,經INTx請求中斷,主機響應中斷,進入中斷服務程序,等待從INTx引腳上接收到一個脈沖(從低→高→低),才結束中斷服務程序,返回主程序并執行完一條指令后,又立即進入INTx中斷服務程序,等待下一個脈沖的到來。(3)不斷按鍵,反復產生脈沖,就可以單步方式執行完整個程序段。初始化程序為:CLR IT0;外部中斷0為電平觸發SETBEA;CPU開中斷SETBPX0;外部中斷0置為高優先級SETBEX0;允許外部中斷0中斷
外部中斷0的中斷服務程序為:
JNB P3.2,$;INT0為低電平等待JB P3.2,$;INT0為高電平等待RETI
練習:試編寫一段對中斷系統初始化的程序,使之允許、T1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件測試中的質量控制與保證機制試題及答案
- 道路冷補修復材料試題及答案
- 計算機三級考試新趨勢試題及答案
- 嵌入式系統調試技巧考題試題及答案
- 數據庫存儲過程撰寫技巧試題及答案
- 通信設備專業高頻信號處理維修考核試卷
- 四級軟件測試工程師訪問量提升試題及答案
- 基于MySQL的后臺數據庫管理技巧試題及答案
- 嵌入式系統的市場潛力分析試題及答案
- 敏捷實踐下的測試反饋循環試題及答案
- 《大氣輻射學》課件
- 康養休閑旅游服務基礎知識單選題及答案解析
- 新課標(水平三)體育與健康《籃球》大單元教學計劃及配套教案(18課時)
- 解剖學公開課課件內分泌
- 銀屑病臨床病例討論
- 【MOOC】工程經濟學原理-東南大學 中國大學慕課MOOC答案
- 涉密人員審查備案登記表
- 2023-2024學年廣東省深圳市深中共同體聯考八年級(下)期中地理試卷
- 高層建筑汽車吊吊裝作業方案
- 24秋新人教版地理七年級上冊大單元整體設計-第四章 天氣與氣候課件
- 大學生創新創業基礎(創新創業課程)完整全套教學課件
評論
0/150
提交評論