1)中斷允許控制寄存器(IE)------
控制各中斷的開放和屏蔽
2)中斷優先級控制寄存器(IP)------設置各中斷的優先級
3)定時器/計數器控制寄存器(TCON)----定時器和外部中斷的控制
4)串行口控制寄存器(SCON)------串行中斷的控制
中斷類型分為三類:
1)T0、T1是2個定時器/計數器中斷,由片內定時器提供;
2)INT0、INT1是2個外部中斷,由引腳P3.2和P3.2提供;
3)RX、TX為串行口中斷所用,由片內串口提供。
1、(P3.2)/(P3.3)可由IT0(TCON.0)/IT1(TCON.2)選擇其為低電平有效還是下降沿有效。當CPU檢測到P3.2/P3.3引腳上出現有效的中斷信號時,中斷標志IE0(TCON.1)/IE1(TCON.3)置1,向CPU申請中斷。
3、TF0(TCON.5)/TF1(TCON.7),片內定時/計數器T0/T1溢出中斷請求標志。當定時/計數器T0/T1發生溢出時,置位TF0/TF1,并向CPU申請中斷。
5、RI(SCON.0)或TI(SCON.1),串行口中斷請求標志。當串行口接收完一幀串行數據時置位RI或當串行口發送完一幀串行數據時置位TI,向CPU申請中斷。
上述只是向CPU申請中斷,如果要得到CPU的相應,還要設置相應的中斷允許IE和優先級IP,中斷方能的到響應。
1)定時器中斷的使用(以定時器0為例)
void Timer0_isr(void) interrupt 1 using 1
//中斷服務程序
{
}
2)外部中斷的使用(以外部中斷0為例)
void ISR_Key(void) interrupt 0 using 1 //中斷服務程序
{
…………
}
3)串行口中斷的使用
……