Page 80 -
P. 80
第七章 中斷服務與中斷設定
7-1 中斷的功能
8051 單晶片的中斷服務功能,可使中斷服務的需求以中斷的方式通知 8501CPU,
以使 CPU 獨立執行主程式,而提升執行效率。在 8051 單晶片中提供 5 個中斷源,分別
為:
1. INT0:外部中斷,由 8051 單晶片第 12 接腳輸入。
2. Timer0:計時/計數器中斷。
3. INT1:外部中斷,由 8051 單晶片第 13 接腳輸入。
4. Timer1:計時/計數器中斷。
5. UART:串列埠中斷。
上列中斷源在 8051 中都有相對應的旗標,當中斷條件產生時,中斷源就會使其相
對應的旗標值設定為 1。8051 的 CPU 會在每一個機械週期檢查這些旗標的狀態,若系
統允許相對的中斷源產生中斷,且該中斷相對應的旗標值亦為 1 時,則 CPU 會在執行
完目前正在執行的指令後,將程式在記憶體中的位址存入堆疊中,並產生中斷服務副程
式的呼叫,跳到該中斷所對應之中斷向量位址去執行,CPU 執行該中斷服務副程式,直
到「RETI」指令後才結束中斷副程式,再從堆疊中取出先前存入的位址值繼續執行被中
斷的程式。
7-2 8051 的中斷向量與中斷相關暫存器
8051 單晶片的 5 個中斷源,其中斷向量、旗標名稱與該旗標所屬暫存器如下:
中斷源 中斷向量(位址值) 旗標 所屬暫存器
INT0 0003H IE0 TCON.1
Timer0 000BH TF0 TCON.5
INT1 0013H IE1 TCON.3
Timer1 001BH TF1 TCON.7
UART(TXD) 0023H TI SCON.1
UART(RXD) 0023H RI SCON.0