C 语言51单片机,求解8位数码管上动态显示0-7,为什么会显示"12345670...
发布网友
发布时间:2024-10-24 09:32
我来回答
共2个回答
热心网友
时间:2024-11-06 17:55
void main()
{
unsigned char i,j;
while(1) for (i=0; i<8; ++i)
{
P0=DIG_CODE[i]; //发段码
P2=i<<1; //发位选
for (j=0; j<100; ++j); //延时
}
}
延时的位置放错了,导致当前位选择为下一次服务了。
热心网友
时间:2024-11-06 17:52
把case(7)改为case(0)
,case(1)改为case(2)
case(2)改为case(3)
case(3)改为case(4)
case(4)改为case(5)
case(5)改为case(6)
case(6)改为case(7)问题即可解决,你查一下真值表对下你的硬件吧