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

2025-05-21 02:29:52
推荐回答(1个)
回答1:

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); //延时
    }
}

 延时的位置放错了,导致当前位选择为下一次服务了。