C 语言51单片机,求解8位数码管上动态显示0-7,为什么会显示"12345670...

发布网友 发布时间:2024-10-24 09:32

我来回答

2个回答

热心网友 时间:2024-10-25 07:33

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-10-25 07:28

把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)问题即可解决,你查一下真值表对下你的硬件吧
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com