微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 无法运行的流水灯程序,求大神帮忙找一下问题

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

时间:10-02 整理:3721RD 点击:
刚学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

头文件呢?

兄弟,你这报错全是语法错误或是没有定义变量,变量不能放在中间定义,你把unsigned int i=0;unsigned char cnt=0;这两句放到main函数下面第一行(即位变量赋值的前面)再编译看看

还有,你的LED灯是共阴极的还是用P1口控制位选的?如果是共阴极的,那定义那么多P1口干啥?流水灯是51中最简单的程序,我看你这写的好复杂啊,呵呵

这程序好多漏洞

这写的。

我刚学单片机,看不懂,就是感觉有几个地方怪怪的,for语句的 i,20000,++i?我看视频是for(i=0;i大于等于小于x;i++){}

i=0;i,20000;++i错了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top