址如表4.1所示。表4.1MCS-51单片机中断服务程序入口地址表中断源入口地址IE0(外部中断0)0003HTF0(定时器0溢出中断)000BHIE1(外部中断1)0013HTF1(定时器1溢出中断)001BHRI+TI(串行口中断)0023H从表中可以看出,两相邻中断源的入口地址间隔为8个单元。这意味着如果要把中断源对应的中断服务程序从入口地址开始存放,则程序的长度不能超过8个字节,否则会影响到下一个中断源的入口地址的使用。而通常的情况下,中断服务程序的长度不止8个字节,因此,常见的处理方法是:在入口地址处存放一条无条件转移指令,通过这条转移指令转向对应的中断服务程序入口,中断服务程序以RETI为结束。中断请求的撤销CPU响应中断请求,在中断返回(RETI)之前,该中断请求应被撤除,否则会引发另一次中断。定时/计数器中断请求撤销:CPU在响应中断后,由硬件自动清除中断请求标志TF。外部中断请求撤销:如果采用脉冲触发方式,CPU在响应中断后,由硬件自动清除中断请求标志IE;对于电平触发方式的外部中断请求,中断标志的撤销是自动的,由于造成中断请求的低电平继续存在,所以在响应中断后再次会产生中断请求,为此响应中断后要撤销外部信号。单片机有INT0、INT1两个外部中断源,INT0对应单片机P3.0,INT1对应P3.2。单片机的外部中断与特殊寄存器IE、TCON、IP有关。INT0中断入口地址是0003H,INT1中断入口地址是000BH,下面介绍单片机外部中断的设置与应用。4.2每秒钟的设定延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。4.3计数器初值计算定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC可得到如下计算通式:TC=M-C