前言
今天來說說單片機中斷原理,概念搞清楚很重要!
一、關于中斷的一些概念
- 中斷的概念:當CPU正在處理某件事的時候外界發(fā)生了緊急事件請求,要求CPU暫停當前的工作,轉(zhuǎn)而去處理這個緊急事件,處理完以后,再回到原來被中斷的地方,繼續(xù)原來的工作,這樣的過程稱之為中斷。
- 中斷系統(tǒng):實現(xiàn)中斷功能的部件稱為中斷系統(tǒng),中斷系統(tǒng)是為CPU具有對外界緊急事件的實時處理能力而設置的。
- 中斷請求源:請示CPU中斷的請求源即為中斷請求源,簡稱中斷源。
- 中斷優(yōu)先級:中斷系統(tǒng)一般允許多個中斷源,當幾個中斷源同時向CPU請求中斷,那就誕生一個優(yōu)先處理哪個中斷源的問題,這樣中斷優(yōu)先級便產(chǎn)生了。
- 中斷嵌套:CPU按照中斷源的中斷優(yōu)先級處理一個低優(yōu)先級中斷的時候,假如有另外一個更高優(yōu)先級的中斷源發(fā)出中斷請求,那CPU需要暫停原來中斷源的服務程序,轉(zhuǎn)而去處理更高優(yōu)先級的中斷源,待處理結(jié)束后,再回到原低優(yōu)先級的中斷服務程序,這個過程就是中斷嵌套。
二、STC8A8K64S4A12系列的中斷請求源
■ STC8A8K64S4A12系列單片機有22個中斷請求源。具體如下:
- 5個外部中斷:外部中斷0/INT0、外部中斷1/INT1、外部中斷2/INT2、外部中斷3/INT3、外部中斷4/INT4 。
- 5個定時器中斷:定時器0中斷、定時器1中斷、定時器2中斷、定時器3中斷、定時器4中斷 。
- 4個串口中斷:串口1中斷、串口2中斷、串口3中斷、串口4中斷 。
- 1個A/D轉(zhuǎn)換中斷。
- 1個低壓檢測(LVD)中斷。
- 1個CCP/PWM/PCA中斷。
- 1個SPI中斷。
- 1個比較器中斷。
- 1個PWM中斷。
- 1個PWM異常檢測中斷。
- 1個I2C中斷。
■ 比較常用的中斷是:外部引腳中斷、定時器中斷、串行口(UART)中斷。
■ 在講到每一部分知識時,我們都會詳細講解相關的中斷使用原理。
■ 下圖是STC8A8K64S4A12系列的中斷結(jié)構(gòu)圖,大家需要了解的是:
- 所有中斷使能的話都必須有個“總閘”控制,那就是總中斷允許位EA。
- 有多個中斷一起觸發(fā)時,如何仲裁以保證有序的先后執(zhí)行順序,那就存在中斷優(yōu)先級的問題。
- 關于中斷,有個不可回避的概念,那就是中斷向量。
三、關于中斷的一些概念STC8A8K64S4A12系列的中斷結(jié)構(gòu)圖
四、STC8A8K64S4A12系列的中斷優(yōu)先級
STC8A8K64S4A12系列單片機自然優(yōu)先級:手冊里面稱之為輔助優(yōu)先級結(jié)構(gòu)或者內(nèi)部的查詢次序。如下圖。
在C語言編程時,中斷查詢次序號就是中斷號,例如,針對外部中斷0的中斷服務函數(shù):
void INT0_Isr (void) interrupt 0
{
; //添加中斷處理語句
}
STC8A8K64S4A12系列單片機中斷優(yōu)先級的設置: STC8A8K64S4A12系列單片機通過設置特殊功能寄存器(IP、IPH、IP2和IP2H)中的相應位,對有4個優(yōu)先級中斷的中斷請求源進行編程。
僅有1個中斷優(yōu)先級(最低優(yōu)先級0)的是:外部中斷2/INT2、外部中斷3/INT3、定時器2、定時器3、定時器4、串行口3、串行口4。(共7個)
STC8A8K64S4A12系列IP和IPH寄存器各位含義介紹如下:
STC8A8K64S4A12系列IP2和IP2H寄存器各位含義介紹如下:
STC8A8K64S4A12系列單片機中斷嵌套: 中斷優(yōu)先級高的中斷請求可以中斷CPU正在處理的優(yōu)先級低的中斷服務程序,待完成了中斷優(yōu)先級高的中斷服務程序后,再繼續(xù)被打斷的低優(yōu)先級的中斷服務程序。
下圖描述了主程序和中斷服務程序的示意圖,也詮釋了中斷嵌套的含義。
中斷比喻舉例,以下情形:
- 只有排長或者團長給士兵打電話;
- 排長和團長同時給士兵打電話;
- 士兵已在排長地里接到團長電話;
- 士兵已在團長地里接到排長電話;
- 士兵同時接到兩個排長的電話;
- 士兵同時接到兩個團長的電話。
STC8A8K64S4A12系列單片機中斷產(chǎn)生而且被CPU響應,主程序被中斷,接下來將執(zhí)行如下操作:
- 當前正被執(zhí)行的指令全部執(zhí)行完畢。
- PC值被壓入棧。
- 現(xiàn)場保護。
- 阻止同級別或更低級別其他中斷。
- 將中斷向量地址裝載到程序計數(shù)器PC。
- 執(zhí)行響應的中斷服務程序。
中斷向量:當某中斷被響應時,被裝載到程序計數(shù)器PC的數(shù)值稱為中斷向量,是該中斷源相對應的中斷服務程序的起始地址。具體各中斷源服務程序的入口地址就不一一列舉了。
總結(jié)
不知道說的夠不夠清楚,望大家指正!
-
單片機
+關注
關注
6037文章
44558瀏覽量
635298 -
cpu
+關注
關注
68文章
10863瀏覽量
211763 -
計數(shù)器
+關注
關注
32文章
2256瀏覽量
94568 -
中斷
+關注
關注
5文章
898瀏覽量
41497 -
中斷系統(tǒng)
+關注
關注
1文章
96瀏覽量
61021
發(fā)布評論請先 登錄
相關推薦
評論