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
   75   76   77   78   79   80   81   82   83   84   85