01
什么是中斷
前面的文章中我舉上課的例子簡單描述了中斷,那么單片機系統(tǒng)里中斷是什么呢?
中斷,是指當(dāng)計算機執(zhí)行正常程序時,系統(tǒng)中出現(xiàn)某些急需處理的異常情況和特殊請求,CPU暫時中止正在運行的程序,轉(zhuǎn)去對隨機發(fā)生的更為緊迫的事件進行處理,處理完畢后,CPU自動返回原來的程序繼續(xù)執(zhí)行。
實現(xiàn)中斷功能的硬件和軟件系統(tǒng)稱為中斷系統(tǒng)。能向CPU發(fā)出中斷請求的事件稱為中斷源。
若有多個中斷源同時請求中斷時,或者CPU正在處理某外部事件時,又有另一外部事件申請中斷,CPU通常會根據(jù)中斷源的緊急程度,將其進行排列,規(guī)定每個中斷源都有一個中斷優(yōu)先級。
中斷優(yōu)先級可由硬件排隊或軟件排隊來設(shè)定,CPU按其優(yōu)先順序處理中斷源的中斷請求。優(yōu)先級高的事件可以中斷CPU正在處理的低級的中斷服務(wù)程序,待完成了高級中斷服務(wù)程序之后,再繼續(xù)執(zhí)行被中斷了的低級中斷服務(wù)程序,這就是中斷的嵌套。
02
中斷源與中斷優(yōu)先級
C51有如下5個中斷源:
? INT0(P3.2)外部中斷0。當(dāng)IT0(TCON.0)=0時,低電平有效;
當(dāng)IT0(TCON.0)=1時,下降沿有效。
? INT1(P3.3)外部中斷1。當(dāng)IT1(TCON.2)=0時,低電平有效;
當(dāng)IT1(TCON.2)=1時,下降沿有效。
? TF0定時/計數(shù)器T0溢出中斷。
? TF1定時/計數(shù)器T1溢出中斷。
? RX,TX串行中斷。
C52又增加了一個中斷源,即定時/計數(shù)器T2溢出中斷。
中斷優(yōu)先級是在列表越前面的優(yōu)先級又高,表中列出了默認優(yōu)先級,數(shù)字越小的優(yōu)先級越高。當(dāng)然也可以通過設(shè)置改變這個順序。
當(dāng)然現(xiàn)在新上市的51單片機可能包含更多的中斷源,但是基本的這幾個肯定都有的,其他額外添加的也是大同小異,都能根據(jù)芯片手冊看明白。比如STC89系列單片機就有8個中斷源,如圖:
03
中斷控制寄存器
51單片機的中斷相關(guān)控制寄存器包括了中斷控制寄存器(Interrupt Enable register,IE)和中斷優(yōu)先級控制寄存器(Interrupt Priority register,IP),前者用于對 MCS-51單片機的中斷工作狀態(tài)進行控制,后者用于對MCS-51單片機的中斷優(yōu)先級進行控制。
允許中斷寄存器IE的各位定義如下:
EA是總中斷允許位。當(dāng)EA=0時,禁止所有中斷;當(dāng)EA=1時,每個中斷源是允許還是禁止由各自的允許位確定。
ET2是定時器2中斷允許位。當(dāng)ET2=0時,禁止定時器2中斷。
ES是串行口中斷允許位。當(dāng)ES=0時,禁止串行口中斷。
ET1是定時器1中斷允許位。當(dāng)ET1=0時,禁止定時器1中斷。
EX1是外部中斷1允許位。當(dāng)EX1=0時,禁止外部中斷1。
ET0是定時器0中斷允許位。當(dāng)ET0=0時,禁止定時器0中斷。
EX0是外部中斷0允許位。當(dāng)EX0=0時,禁止外部中斷0。
中斷優(yōu)先級寄存器IP的各位定義如下:
PT2是定時器2中斷優(yōu)先級設(shè)定位。
PS是串行口中斷優(yōu)先級設(shè)定位。
PT1是定時器1中斷優(yōu)先級設(shè)定位。
PX1是外部中斷1優(yōu)先級設(shè)定位。
PT0是定時器0中斷優(yōu)先級設(shè)定位。
PX0是外部中斷0優(yōu)先級設(shè)定位。
IP寄存器中各位均具有以下特點,即當(dāng)為0時,為低中斷優(yōu)先級;當(dāng)為1時,為高中斷優(yōu)先級。系統(tǒng)復(fù)位后,IP寄存器中各位均為0,即此時全部設(shè)定為低中斷優(yōu)先級。在中斷執(zhí)行過程中,低優(yōu)先級中斷可被高優(yōu)先級中斷所中斷,反之不能。
另外,同級的中斷不能互相中斷。當(dāng)幾個同級的中斷源同時向CPU申請中斷時,CPU按硬件次序排定優(yōu)先權(quán),依次為外部中斷0(INT0)、定時/計數(shù)器T0溢出中斷、外部中斷1(INT1)、定時/計數(shù)器T1溢出中斷、串行口中斷、定時/計數(shù)器T2溢出中斷。
-
51單片機
+關(guān)注
關(guān)注
274文章
5705瀏覽量
124403 -
中斷系統(tǒng)
+關(guān)注
關(guān)注
1文章
96瀏覽量
61079 -
STC89
+關(guān)注
關(guān)注
1文章
20瀏覽量
16306 -
中斷控制器
+關(guān)注
關(guān)注
0文章
59瀏覽量
9493 -
定時器中斷
+關(guān)注
關(guān)注
0文章
49瀏覽量
11267
發(fā)布評論請先 登錄
相關(guān)推薦
MCS-51 系統(tǒng)中斷優(yōu)先級的軟擴展
單片機里面的中斷優(yōu)先級相關(guān)寄存器詳解
51單片機的中斷優(yōu)先級和中斷嵌套的詳細資料概述
![51單片機的<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>和<b class='flag-5'>中斷</b>嵌套的詳細資料概述](https://file.elecfans.com/web1/M00/A5/72/pIYBAF1uGkiAPy41AAQWMcwydw4273.png)
51單片機的中斷優(yōu)先級是怎么樣的及中斷嵌套的資料說明
![51單片機的<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>是怎么樣的及<b class='flag-5'>中斷</b>嵌套的資料說明](https://file.elecfans.com/web1/M00/A3/CE/o4YBAF1bbs-AanEjAACW1Vh1ACM457.png)
單片機中斷系統(tǒng)和中斷控制寄存器與中斷響應(yīng)的詳細資料說明
![單片機<b class='flag-5'>中斷</b>系統(tǒng)和<b class='flag-5'>中斷</b><b class='flag-5'>控制</b><b class='flag-5'>寄存器</b>與<b class='flag-5'>中斷</b>響應(yīng)的詳細資料說明](https://file.elecfans.com/web1/M00/9E/94/pIYBAF04Kp-AdprdAAGgvMRXvdU825.png)
為什么51單片機的默認中斷優(yōu)先級都是低級及中斷嵌套
![為什么51單片機的默認<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>都是低級及<b class='flag-5'>中斷</b>嵌套](https://file.elecfans.com/web1/M00/9E/64/pIYBAF02eaqAAkbcAAJFf_aajdA358.png)
51單片機的中斷優(yōu)先級及中斷嵌套的詳細資料說明
![51單片機的<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>及<b class='flag-5'>中斷</b>嵌套的詳細資料說明](https://file.elecfans.com/web1/M00/9B/88/pIYBAF0j-j6AFsVzAAWGNgtXTxc320.png)
單片機之中斷優(yōu)先級設(shè)置
![單片機之<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>設(shè)置](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32中斷優(yōu)先級的分配以及中斷原則
![STM32<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>的分配以及<b class='flag-5'>中斷</b>原則](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32NVIC中斷優(yōu)先級
![STM32NVIC<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32筆記之中斷優(yōu)先級和開關(guān)總中斷
![STM32筆記之<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>和開關(guān)總<b class='flag-5'>中斷</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM8S105硬件中斷映射表和軟件中斷優(yōu)先級位
![STM8S105硬件<b class='flag-5'>中斷</b>映射表和軟件<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>位](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論