中斷系統
###定義
中斷”,是指CPU暫時停止正在執行的程序,轉去執行請求CPU爲之服務的內、外部事件的服務程序,待該服務程序執行完後,又返回到被暫停的程序繼續運行的過程。
中斷的作用
- (1)可以提高CPU的工作效率
CPU有了中斷功能就可以通過分時操作啓動多個外設同時工作,並能對它們進行統一管理。CPU在與外設交換信息時通過中斷就可以避免不必要的等待和查詢,從而大大提高它的工作效率 - (2)可以提高實時數據的處理時效
在實時控制系統中,被控系統的實時參量、超限數據和故障信息等,必須爲計算機及時採集、分析判斷和處理,以便對系統實施正確的調節和控制。CPU有了中斷功能,系統的失常和故障就都可以通過中斷立刻通知CPU,使它可以迅速採集實時數據和故障信息,
並對系統做出應急處理。
中斷源
1.外部設備中斷源
打印機和鍵盤等計算機外設都可以用做中斷源。
2.控制對象中斷源
被控對象常常是實時控制計算機的主要中斷源。
3.故障中斷源
4.定時脈衝中斷源
定時器/計數器溢出時產生的信號可引起CPU的中斷,使CPU可以進行定時或計數的處理,以便達到時間或計數控制的目的。
5.軟件引起的中斷源
中斷分類
1.按中斷產生的位置分類
(1)外部中斷,或稱外部硬件實時中斷,它是由外部送到CPU的某一特定引腳上產生的。
(2)內部中斷,或稱軟件指令中斷,是爲了處理程序運行過程中發生的一些意外情況或調試程序方便而提供的中斷。
2.按接受中斷的方式分類
(1)可屏蔽中斷
(2)非屏蔽中斷,只要中斷源提出請求,CPU就必須響應,主要用於一些緊急情況的處理,如掉電等。
中斷流程
####中斷響應的條件
① 總中斷允許打開,IE寄存器中的中斷總允許位EA(IE.7)被置位,即EA爲1。
② 該中斷源的中斷允許位爲“1”,即該中斷未被屏蔽。
③ 該中斷源發出中斷請求,即該中斷源對應的中斷請求標誌爲“1”。
④ 無同級或更高級中斷正在被服務。
前兩個條件需要在程序中通過編程來設置。
練習
3.什麼叫中斷源?AT89S51有哪些中斷源?各有什麼特點?
****答:****引起中斷的原因稱爲中斷源。AT89S51中斷系統共有5箇中斷請求源:
(1)外部中斷請求0,中斷請求標誌爲IE0。
(2)外部中斷請求1,中斷請求標誌爲IE1。
(3)定時器/計數器T0溢出中斷請求,中斷請求標誌爲TF0。
(4)定時器/計數器T1溢出中斷請求,中斷請求標誌爲TF1。
(5)串行口中斷請求,中斷請求標誌爲TI或RI。
特點:2個外部中斷源,3個內部中斷源。
5.AT89S51的6箇中斷標誌位代號是什麼?它們在什麼情況下被置位和復位?
答:
(1)外部中斷0中斷請求標誌爲IE0。
(2)外部中斷1中斷請求標誌位爲IE1。
(3)定時器/計數器T0溢出中斷請求標誌位爲TF0。
(4)定時器/計數器T1溢出中斷請求標誌位爲TF1。
(5)串行口發送中斷請求標誌位爲TI。
(6)串行口接收中斷請求標誌位爲RI。
各標誌位因有相應的中斷請求而置位,前四個標誌位因相應的中斷請求被響應而復位,而後兩個標誌位則是在中斷服務程序裏通過軟件復位。
*答:*
程序爲:
用位操作指令:
SETB PX0
SETB PX1
SETB EA
SETB EX0
SETB EX1
用字節操作指令:
MOV IE,#85H
MOV IP,#05H
10.試寫出[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ET8yqRD4-1586394702574)(file:///C:\Users\JACKIN~1\AppData\Local\Temp\ksohtml17144\wps15.png)]爲下降沿觸發方式的中斷初始化程序。
*答:*
ORG 0000H
AJMP MAIN
ORG 0013H
AJMP PINT1
ORG 0100H
MAIN: SETB IT1
SETB EX1
SETB EA
HERE: AJMP HERE
PINT1: RETI
END
17.AT89S51單片機響應中斷後,產生硬件長調用指令LCALL,執行指令的過程包括:首先把( PC )的內容壓入堆棧,以進行斷點保護,然後把長調用指令的16位地址送( PC ),使程序執行轉向( 程序存儲器 )中的中斷地址區。