询问keil编流水灯的问题,有程序,求找错

2019-07-16 03:02发布

目前程序如下,显示没有错误,但是下载到51上之后8个灯全亮。。。
#include<reg52.h>
unsigned char table[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
void delay()
{
  unsigned int j;
  for(j=0;j<20000;j++);
}
main()
{
unsigned char i;
while(1)
  {
    for(i=0;i<8;i++);
{   
  P1=table[i];   
  delay();  
  }
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
in发烧友ing
1楼-- · 2019-07-16 08:55
你好,这位朋友,刚看到你这个问题我也很白痴的去调试,也想不通!
后来真感到惭愧!
只是一个很小很小的错误而已。
就是if语句后面多加了一个分号,if语句一旦加了分号,那后面的语句就不包括在if语句里了
,也就是说if循环就不起任何作用了,把分号去掉就行了!
这种小错误,希望楼主以后自己能检查出来,不然学这个就没什么意思了……

#include<reg52.h>
unsigned char table[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
void delay()
{
  unsigned int j;
  for(j=0;j<20000;j++);
}
main()
{
unsigned char i;
while(1)
  {
    for(i=0;i<8;i++);
{   
  P1=table;   
  delay();  
  }
}
}
jianghua83
2楼-- · 2019-07-16 11:05
大哥,看清楚点,你那句“for(i=0;i<8;i++);“后面多了个“;”号,所以就不行啦!
爱及时来了
3楼-- · 2019-07-16 11:06
看来还是刚入门的小菜鸟啊,可以在线调试看程序到底死在了什么地方
xiazhidazhe
4楼-- · 2019-07-16 13:11
多多加油
cloud-wb
5楼-- · 2019-07-16 16:47
 精彩回答 2  元偷偷看……
xiaoshancanyue
6楼-- · 2019-07-16 21:41
{:11:}{:11:}

一周热门 更多>