51单片机外部中断
外部中断只有两个引脚,INT0和INT1,配置相对简单,中断号分别为0和2.
下图为所有中断的控制位,外部中断有两种模式,检测外部下降沿或者低电平,由IT0或者IT1控制。IE0和IE1为中断标志位,一般清零。EX0和EX1为中断允许标志位,EA为总中断允许标志位,PX0和PX1为中断优先级。
代码如下:
void INT0_Init()
{IT0 = 1;IE0 = 0;EX0 = 1;EA = 1;PX0 = 0;
}void INT1_Init()
{IT1 = 1;IE1 = 0;EX1 = 1;EA = 1;PX1 = 0;
}
中断代码:void INT0_interrupt() interrupt 0
{num1++;if(num1>999){num1 = 0;}
}
void INT1_interrupt() interrupt 2
{num2++;if(num2>999){num2 = 0;}
}