MCS-51單片機的中斷系統(tǒng)(1)
MCS-51單片機的中斷系統(tǒng)
MCS-51單片機的中斷源
1.
?
?
2.
?
?
?
中斷控制的專用寄存器
該寄存器用于保存外部中斷請求以及定時器的計數(shù)溢出。進行字節(jié)操作時,寄存器地址為88H。按位操作時,各位的地址為88H~8FH。寄存器的內容及位地址表示如下:
位地址 | 8FH | 8EH | 8DH | 8CH | 8BH | 8AH | 89H | 88H |
位符號 | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
IT0 (IT1)=1
IT0 (IT1)=0
?
?
?
2.
進行字節(jié)操作時,寄存器地址為98H。按位操作時,各位的地址為98H~9FH。寄存器的內容及位地址表示如下:
位地址 | 9FH | 9EH | 9DH | 9CH | 9BH | 9AH | 99H | 98H |
位符號 | SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
?
當發(fā)送完一幀串行數(shù)據(jù)后,由硬件置“1”;在轉向中斷服務程序后,用軟件清“0”。
?
3.
進行字節(jié)操作時,寄存器地址為0A8H。按位操作時,各位的地址為0A8H~0AFH。寄存器的內容及位地址表示如下:
位地址 | 0AFH | 0AEH | 0ADH | 0ACH | 0ABH | 0AAH | 0A9H | 0A8H |
位符號 | EA | / | / | ES | ET1 | EX1 | ET0 | EX0 |
?
EA=1
?
?
?
可見,MCS-51單片機通過中斷允許控制寄存器對中斷的允許(開放)實行兩級控制。即以EA位作為總控制位,以各中斷源的中斷允許位作為分控制位。當總控制位為禁止時,關閉整個中斷系統(tǒng),不管分控制為狀態(tài)如何,整個中斷系統(tǒng)為禁止狀態(tài);當總控制位為允許時,開放中斷系統(tǒng),這時才能由各分控制位設置各自中斷的允許與禁止。
MCS-51單片機復位后(IE)=00H,因此中斷系統(tǒng)處于禁止狀態(tài)。單片機在中斷響應后不會自動關閉中斷。因此在轉中斷服務程序后,應根據(jù)需要使用有關指令禁止中斷,即以軟件方式關閉中斷。
4.
MCS-51單片機的中斷優(yōu)先級控制比較簡單,因為系統(tǒng)只定義了高、低2個優(yōu)先級。高優(yōu)先級用“1”表示,低優(yōu)先級用“0”表示。各中斷源的優(yōu)先級由中斷優(yōu)先級寄存器(IP)進行設定。IP寄存器地址0B8H,位地址為0BFH~0B8H。寄存器的內容及位地址表示如下:
位地址 | 0BFH | 0BEH | 0BDH | 0BCH | 0BBH | 0BAH | 0B9H | 0B8H |
位符號 | / | / | / | PS | PT1 | PX1 | PT0 | PX0 |
PX0——外部中斷0優(yōu)先級設定位;
PT0——定時中斷0優(yōu)先級設定位;
PX1——外部中斷1優(yōu)先級設定位;
PT1——定時中斷1優(yōu)先級設定位;
PS——串行中斷優(yōu)先級設定位。
以上各位設置為“0”時,則相應的中斷源為低優(yōu)先級;設置為“1”時,則相應的中斷源為高優(yōu)先級。
優(yōu)先級的控制原則是:
?
?
?
評論