01
什么是中斷
前面的文章中我舉上課的例子簡(jiǎn)單描述了中斷,那么單片機(jī)系統(tǒng)里中斷是什么呢?
中斷,是指當(dāng)計(jì)算機(jī)執(zhí)行正常程序時(shí),系統(tǒng)中出現(xiàn)某些急需處理的異常情況和特殊請(qǐng)求,CPU暫時(shí)中止正在運(yùn)行的程序,轉(zhuǎn)去對(duì)隨機(jī)發(fā)生的更為緊迫的事件進(jìn)行處理,處理完畢后,CPU自動(dòng)返回原來(lái)的程序繼續(xù)執(zhí)行。
實(shí)現(xiàn)中斷功能的硬件和軟件系統(tǒng)稱為中斷系統(tǒng)。能向CPU發(fā)出中斷請(qǐng)求的事件稱為中斷源。
若有多個(gè)中斷源同時(shí)請(qǐng)求中斷時(shí),或者CPU正在處理某外部事件時(shí),又有另一外部事件申請(qǐng)中斷,CPU通常會(huì)根據(jù)中斷源的緊急程度,將其進(jìn)行排列,規(guī)定每個(gè)中斷源都有一個(gè)中斷優(yōu)先級(jí)。
中斷優(yōu)先級(jí)可由硬件排隊(duì)或軟件排隊(duì)來(lái)設(shè)定,CPU按其優(yōu)先順序處理中斷源的中斷請(qǐng)求。優(yōu)先級(jí)高的事件可以中斷CPU正在處理的低級(jí)的中斷服務(wù)程序,待完成了高級(jí)中斷服務(wù)程序之后,再繼續(xù)執(zhí)行被中斷了的低級(jí)中斷服務(wù)程序,這就是中斷的嵌套。
02
中斷源與中斷優(yōu)先級(jí)
C51有如下5個(gè)中斷源:
? INT0(P3.2)外部中斷0。當(dāng)IT0(TCON.0)=0時(shí),低電平有效;
當(dāng)IT0(TCON.0)=1時(shí),下降沿有效。
? INT1(P3.3)外部中斷1。當(dāng)IT1(TCON.2)=0時(shí),低電平有效;
當(dāng)IT1(TCON.2)=1時(shí),下降沿有效。
? TF0定時(shí)/計(jì)數(shù)器T0溢出中斷。
? TF1定時(shí)/計(jì)數(shù)器T1溢出中斷。
? RX,TX串行中斷。
C52又增加了一個(gè)中斷源,即定時(shí)/計(jì)數(shù)器T2溢出中斷。
中斷優(yōu)先級(jí)是在列表越前面的優(yōu)先級(jí)又高,表中列出了默認(rèn)優(yōu)先級(jí),數(shù)字越小的優(yōu)先級(jí)越高。當(dāng)然也可以通過(guò)設(shè)置改變這個(gè)順序。
當(dāng)然現(xiàn)在新上市的51單片機(jī)可能包含更多的中斷源,但是基本的這幾個(gè)肯定都有的,其他額外添加的也是大同小異,都能根據(jù)芯片手冊(cè)看明白。比如STC89系列單片機(jī)就有8個(gè)中斷源,如圖:
03
中斷控制寄存器
51單片機(jī)的中斷相關(guān)控制寄存器包括了中斷控制寄存器(Interrupt Enable register,IE)和中斷優(yōu)先級(jí)控制寄存器(Interrupt Priority register,IP),前者用于對(duì) MCS-51單片機(jī)的中斷工作狀態(tài)進(jìn)行控制,后者用于對(duì)MCS-51單片機(jī)的中斷優(yōu)先級(jí)進(jìn)行控制。
允許中斷寄存器IE的各位定義如下:
EA是總中斷允許位。當(dāng)EA=0時(shí),禁止所有中斷;當(dāng)EA=1時(shí),每個(gè)中斷源是允許還是禁止由各自的允許位確定。
ET2是定時(shí)器2中斷允許位。當(dāng)ET2=0時(shí),禁止定時(shí)器2中斷。
ES是串行口中斷允許位。當(dāng)ES=0時(shí),禁止串行口中斷。
ET1是定時(shí)器1中斷允許位。當(dāng)ET1=0時(shí),禁止定時(shí)器1中斷。
EX1是外部中斷1允許位。當(dāng)EX1=0時(shí),禁止外部中斷1。
ET0是定時(shí)器0中斷允許位。當(dāng)ET0=0時(shí),禁止定時(shí)器0中斷。
EX0是外部中斷0允許位。當(dāng)EX0=0時(shí),禁止外部中斷0。
中斷優(yōu)先級(jí)寄存器IP的各位定義如下:
PT2是定時(shí)器2中斷優(yōu)先級(jí)設(shè)定位。
PS是串行口中斷優(yōu)先級(jí)設(shè)定位。
PT1是定時(shí)器1中斷優(yōu)先級(jí)設(shè)定位。
PX1是外部中斷1優(yōu)先級(jí)設(shè)定位。
PT0是定時(shí)器0中斷優(yōu)先級(jí)設(shè)定位。
PX0是外部中斷0優(yōu)先級(jí)設(shè)定位。
IP寄存器中各位均具有以下特點(diǎn),即當(dāng)為0時(shí),為低中斷優(yōu)先級(jí);當(dāng)為1時(shí),為高中斷優(yōu)先級(jí)。系統(tǒng)復(fù)位后,IP寄存器中各位均為0,即此時(shí)全部設(shè)定為低中斷優(yōu)先級(jí)。在中斷執(zhí)行過(guò)程中,低優(yōu)先級(jí)中斷可被高優(yōu)先級(jí)中斷所中斷,反之不能。
另外,同級(jí)的中斷不能互相中斷。當(dāng)幾個(gè)同級(jí)的中斷源同時(shí)向CPU申請(qǐng)中斷時(shí),CPU按硬件次序排定優(yōu)先權(quán),依次為外部中斷0(INT0)、定時(shí)/計(jì)數(shù)器T0溢出中斷、外部中斷1(INT1)、定時(shí)/計(jì)數(shù)器T1溢出中斷、串行口中斷、定時(shí)/計(jì)數(shù)器T2溢出中斷。
-
51單片機(jī)
+關(guān)注
關(guān)注
277文章
5711瀏覽量
127417 -
中斷系統(tǒng)
+關(guān)注
關(guān)注
1文章
96瀏覽量
61403 -
STC89
+關(guān)注
關(guān)注
1文章
20瀏覽量
16385 -
中斷控制器
+關(guān)注
關(guān)注
0文章
61瀏覽量
9678 -
定時(shí)器中斷
+關(guān)注
關(guān)注
0文章
49瀏覽量
11500
發(fā)布評(píng)論請(qǐng)先 登錄
MCS-51 系統(tǒng)中斷優(yōu)先級(jí)的軟擴(kuò)展
51單片機(jī)有幾個(gè)中斷源?

單片機(jī)里面的中斷優(yōu)先級(jí)相關(guān)寄存器詳解
51單片機(jī)的中斷優(yōu)先級(jí)和中斷嵌套的詳細(xì)資料概述

51單片機(jī)的中斷優(yōu)先級(jí)是怎么樣的及中斷嵌套的資料說(shuō)明

單片機(jī)中斷系統(tǒng)和中斷控制寄存器與中斷響應(yīng)的詳細(xì)資料說(shuō)明

為什么51單片機(jī)的默認(rèn)中斷優(yōu)先級(jí)都是低級(jí)及中斷嵌套

51單片機(jī)的中斷優(yōu)先級(jí)及中斷嵌套的詳細(xì)資料說(shuō)明

51單片機(jī)與中斷相關(guān)的寄存器

單片機(jī)之中斷優(yōu)先級(jí)設(shè)置

STM32中斷優(yōu)先級(jí)的分配以及中斷原則

STM32NVIC中斷優(yōu)先級(jí)

STM32筆記之中斷優(yōu)先級(jí)和開關(guān)總中斷

STM8S105硬件中斷映射表和軟件中斷優(yōu)先級(jí)位

CLINT中斷控制器優(yōu)先級(jí)和搶占

評(píng)論