请大虾帮我分析一下51单片机程序..实现8个LED灯来回左右移...怎么就是实现不了呢..

2025-05-19 23:33:49
推荐回答(4个)
回答1:

小改一下:
void main()

{
unsigned char k;
while(1)
{
for(k=0;k<8;k++)
{
P0=tab[k];
delayms(500);
if(k==7)
for(;k<0xff;--k)
{
P0=tab[k];
delayms(500);
}
}
}
}

回答2:

k>=0?

K 的类型是unsigned char型。
这个类型的数据永远是大于等于0的!!
即使等于零以后再减一,会变成255,更加大于零。所以你的程序是不是一个循环以后就挂了?

回答3:

一般P0口做输出,需要加上拉电阻,10K左右。。。

回答4:

一个循环就能解决问题了,左移或者右移都可以啊。