与中断系统相关的特殊寄存器: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为例)……TMOD |= 0x01 | 0x04;//使用模式1,16位计数器,使用"|"符号可以在使用多个定时器时不受影响 TH0=0xFF; //给定初值TL0=245; //从245计数到255EA=1; //总中断打开ET0=1; //定时器中断打开TR0=1; //定时器开关打开
void Timer0_isr(void) interrupt 1 using 1 //中断服务程序{TH0=0xFF; //重新给定初值TL0=245;
……}2)外部中断的使用(以外部中断0为例) ………… EA=1; //全局中断开 EX0=1; //外部中断0开 IT0=0; //电平触发
void ISR_Key(void) interrupt 0 using 1 //中断服务程序{…………}3)串行口中断的使用……