m0_58411245
2021-08-31 19:47
采纳率: 0%
浏览 17

51单片机为什么外部中断有四个按键却只有一个按键能用

void Int1() interrupt 2 //外部中断1的中断函数
{
delay(1000); //延时消抖
if(key2==0)
{ delay(1000);
if(key2==0)
{
led2=0;
beep=1;
OLED_Init(); //无需刷新
OLED_P6x8Str(63,3,"2"); //显示号数
restart2();
beep=0;
EA=0;
}
while(!key2);
}
delay(1000);
if(key1==0)
{ delay(1000);
if(key1==0)
{
led1=0;
beep=1;
OLED_Init(); //无需刷新
OLED_P6x8Str(63,3,"1"); //显示号数
restart2();
beep=0;
EA=0;
}
while(!key1);
}
if(key3==0)
{ delay(1000);
if(key3==0)
{
led3=0;
beep=1;
OLED_Init(); //无需刷新
OLED_P6x8Str(63,3,"3"); //显示号数
led4=1;
beep=0;
EA=0;
}
while(!key3);
}
if(key4==0)
{ delay(1000);
if(key4==0)
{
led4=0;
beep=1;
OLED_Init(); //无需刷新
OLED_P6x8Str(63,3,"4"); //显示号数
led3=1;
beep=0;
EA=0;
}
while(!key4);
}
}
不使用中断函数,所有按键都有响应,放进了中断里却只有key2可以使用是为什么呢?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 上下求索. 2021-08-31 22:18
    1. 代码可以摆整齐先么, 上面的</>选择c就好,谢谢
    打赏 评论

相关推荐 更多相似问题