无法运行的流水灯程序,求大神帮忙找一下问题

2019-07-15 15:49发布

刚学51单片机,但是运行这个流水灯程序的时候出现了错误,下附代码和运行结果,真心求解。
#include<reg52.h>

  sbit ADDR0=P1^0;
  sbit ADDR1=P1^1;
  sbit ADDR2=P1^2;
  sbit ADDR3=P1^3;
  sbit ENLED=P1^4;
  void main()
  {
   ADDR0=1;
   ADDR1=1;
   ADDR2=0;
   ADDR3=1;
   ENLED=0;

unsigned int i = 0;
unsigned char cnt=0;

        while(1)
                {  P0=~(0x01<<cnt);
                for(i=0;i,20000;++i)
                cnt++;
                if (cnt>=8)
                          {
                           cnt=0;
                          }
               
                 }
  }

运行结果:
Build target 'Target 1'
assembling STARTUP.A51...
compiling led流水灯.c...
LED流水灯.C(16): error C141: syntax error near 'unsigned'
LED流水灯.C(16): error C202: 'i': undefined identifier
LED流水灯.C(17): error C141: syntax error near 'unsigned'
LED流水灯.C(17): error C202: 'cnt': undefined identifier
LED流水灯.C(20): error C202: 'cnt': undefined identifier
LED流水灯.C(21): error C202: 'i': undefined identifier
LED流水灯.C(22): error C202: 'cnt': undefined identifier
LED流水灯.C(23): error C202: 'cnt': undefined identifier
LED流水灯.C(25): error C202: 'cnt': undefined identifier
Target not created

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
我是辣鸡
1楼-- · 2019-07-15 16:56
头文件呢?
meimengxing2014
2楼-- · 2019-07-15 17:49
兄弟,你这报错全是语法错误或是没有定义变量,变量不能放在中间定义,你把unsigned int i=0;unsigned char cnt=0;这两句放到main函数下面第一行(即位变量赋值的前面)再编译看看
meimengxing2014
3楼-- · 2019-07-15 22:50
还有,你的LED灯是共阴极的还是用P1口控制位选的?如果是共阴极的,那定义那么多P1口干啥?流水灯是51中最简单的程序,我看你这写的好复杂啊,呵呵
___红尘仙
4楼-- · 2019-07-16 00:07
 精彩回答 2  元偷偷看……
bogeyin
5楼-- · 2019-07-16 00:42
这写的。。。
末影人
6楼-- · 2019-07-16 03:11
我刚学单片机,看不懂,就是感觉有几个地方怪怪的,for语句的 i,20000,++i?我看视频是for(i=0;i大于等于小于x;i++){}

一周热门 更多>