52单片机外部中断数码管加一减一,有一段按一下连续变化,即按下键,本来因该显示4结果4很快一闪到5

2025-05-19 05:55:39
推荐回答(2个)
回答1:

XINT0() interrupt 0
{   
    Delay(10);
    if(P3 & 4 == 0) {
      while(P3 & 4 == 0);
      number++;
      if(number >= 10)  number = 0;
    }
}

XINT1() interrupt 2    
{       
    Delay(10);
    if(P3 & 8 == 0) {
      while(P3 & 8 == 0);
      number--;
      if(number == -1)  number = 9;
    }
}

回答2:

尝试将Delay(1000)改为Delay(1500)或Delay(2000)