51单片机中一共有5个中断方式:
①外部中断0
②定时器中断0
③外部中断1
④定时器中断1
⑤串口中断
5个中断优先级从 高 到 低
void int0_init() //外部中断0初始化函数
{
EA = 1; //打开总中断
IT0 = 1; /*设置中断触发方式:
ITx = 0; // 低电平触发
ITx = 1; // 下降沿触发
*/
EX0 = 1; //打开外部中断
}
void int0_isr(void) interrupt 0 //外部中断0服务函数
{
EX0 = 0; //打开外部中断
delay_ms(10);
if(0 == key1)
{
while(!key1);
delay_ms(10);
//中间做你想做的事
}
EX0 = 1; //关闭外部中断
}