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






評論