标题:
单片机C语言写了i=1后为什么那个灯常亮了?
[打印本页]
作者:
wgxawwy
时间:
2021-5-14 16:00
标题:
单片机C语言写了i=1后为什么那个灯常亮了?
#include<reg51.h>
unsigned char code table[8] ={ 0xfe, 0xfd, 0xfb,0xf7,0xef, 0xdf,
0xbf, 0x7f };
void mdelay(unsigned int delay)
{ unsigned int i;
for(;delay>0;delay--)
{ for(i=0;i<54;i++);
}
}
void main()
{unsigned char i=0;
unsigned char a=1;
while(1)
{
i=0;
P1=table[ i];
mdelay(500);
i=i+1;
if(i>7)
{while(i>0)
{i=i-1;
P1=table[ i];
mdelay(500);
if(i==0)
{ while(1)
{P1=box[ i];
i=i+1;
mdelay(1000);
}
}
}
作者:
tanyangkang
时间:
2021-5-14 19:50
{i=0; P1=table[ i]; mdelay(500); i=i+1; if(i>7) {while(i>0) {i=i-1;
作者:
tanyangkang
时间:
2021-5-14 19:55
你这个没进if循环吧,table[i]默认点亮那个灯,if(i>7)不运行,i=0初始化写死循环外面
作者:
tanyangkang
时间:
2021-5-14 19:56
每次进行循环你i=0都被定义了
作者:
非凡科技
时间:
2021-5-15 21:39
你若果想初始化i=0 就需要把他写在死循环的外边
作者:
wgxawwy
时间:
2021-5-15 23:25
谢谢各位的回答,问题我解决了。
作者:
TTQ001
时间:
2021-5-16 08:09
i = 1始终处于无限循环中
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1