单片机中断计数数码管显示问题

2025年03月26日 04:58
有2个网友回答
网友(1):

看你的main中
while(1)
{
// for(w=0;w<16;w++)
// {
duan=1;
P0=team[w];
duan=0;

// delay(200);
// }

你已经让w一直for循环了,而且延时很短,你就算中断了,你怎么看的出来,你应该是去掉for循环。然后每按一次中断,w+1

网友(2):

void main()
{
wei=1;
P0=0xfe;
wei=0;
EA=1;
EX0=1;
IT0=1; //改成了1
while(1) {
P0=team[w];
duan=1;
duan=0;
}
}
void zhongduan()interrupt 0
{
delay(100); //加大延时消抖的时间
w++;
if(w == 16) w = 0;
}