第1个回答 2022-11-16
你的延时程序不对。
void delay(uint z)
{
uint x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);//你这里竟然是大于!?
}
还有,问这种问题前先要告诉别人,你的数码管是共阴还是共阳的。你的位选到底是怎么样的。
不然怎么看得懂程序。
最后,给别人看的程序最好在变量处添加变量的作用的注释。这个程序短,不然我肯定
不高兴看。
要亮的那些灯,即P0=table[x]后面,加上延时delay(50);在延时过程中,P0不变,可以让
灯亮的久一点。
我估计你的重影就是应为延时程序失效,每次都不满足循环条件直接跳出,亮灯程序后
面没有延时,灯亮和暗时间一样就闪了,闪的很快情况下就是重影