51单片机共有5个中断源。分别是1、INT0:外部中断0;2、INT1:外部中断1;3、T0:定时器/计数器0中断,由T0计数器记满回零引起;4、T1:定时器/计数器1中断,由T1计数器记满回零引起;5、TI/RI:串行口中断。
中断级别:INT0>T0>INT1>T1>TI/RI,这几种中断的中断号分别为INT0--0、T0--1、INT1--2、T1--3、TI/RI--4。
定时器模式:定时时间t=计数值N*机器周期Tcy。若没设置TH0、TL0,则默认值为0。设晶振频率f=12MHz,机器周期为1us,记满TH0、TL0,2的16次方后向CPU申请中断,即溢出需要约65.5ms。
C51的中断函数格式如下:
void 函数名()interrupt 中断号
{
       中断服务程序内容
}
定时器/计数器的4种工作方式
M1M0=00:方式0,13位;
M1M0=01:方式1,16位;
M1M0=10:方式2,8位;
M1M0=11:方式3,仅适用于T0.