单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 361|回复: 6
收起左侧

单片机led从左到右,从右到左亮灭程序编译错误

[复制链接]
wqd0829 发表于 2019-9-12 08:59 | 显示全部楼层 |阅读模式
点亮一小灯 然后从左到右,从右到左亮灭,显示SXLSD.C(20): error C141: syntax error near 'ADDR3',望大佬们告知如何解决
单片机源程序如下:#include <reg52.h>

sbit LED   = P0^0;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

void main()
{
   unsigned int i = 0;         
   unsigned char cnt = 0;
   unsigned char sec = 0;
   unsigned char dir = 0;   
   unsigned char shift = 0x01  
   
   ADDR3 = 1;
   ENLED = 0;
   ADDR2 = 1;
   ADDR1 = 1;
   ADDR0 = 0;
   TMOD = 0x01;
   TH0  = 0xB8;
   TL0  = 0x00;
   TR0  = 1;
   while (1)
   {
              if (TF0 == 1)
           {
                  TF0 = 0;
                  TH0 = 0xB8;
                  TL0 = 0x00;
                  cnt++;
                  if(cnt >=100)
               {
                     cnt = 0;
                     LED = ~LED;
                 }
                       {
                               P0 = ~shift;              
                               for(i=0; i<30000; i++);   
                                 if (dir == 0)               
                        {
                                  shift = shift << 1;   
                                   if ( shift == 0x80)
                           {
                                dir = 1;
                              }
                         }
   
                            else         
                             {      
                                 shift = shift >> 1;   
                                  if (shift == 0x01)     
                              {
                                       dir = 0;
                                 }
                            }   
                       }
               }
          }
   }

trulydream 发表于 2019-9-12 09:37 | 显示全部楼层
main函数第5行,少分号!!!
tyrl800 发表于 2019-9-12 10:12 | 显示全部楼层
unsigned char shift = 0x01  后面少了分号
佛云 发表于 2019-9-12 10:35 | 显示全部楼层
都已经提示“addr3”附近出现语法错误,.......
5#
无效楼层,该帖已经被删除
chaid 发表于 2019-9-12 18:53 | 显示全部楼层
unsigned char shift = 0x01;
另外注意一下,有一对大括号多余。
cphnkj188 发表于 2019-9-14 10:52 | 显示全部楼层
实践证明:细节决定成败!
那个谁和谁 发表于 2019-9-16 16:16 | 显示全部楼层
上面的一行少了个;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|单片机论坛 |51黑电子论坛技术交流 管理员QQ:125739409;技术交流QQ群636986012

Powered by 单片机教程网

快速回复 返回顶部 返回列表