找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1483|回复: 6
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
ID:521078 发表于 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;
                                 }
                            }   
                       }
               }
          }
   }

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:610106 发表于 2019-9-12 09:37 | 只看该作者
main函数第5行,少分号!!!
回复

使用道具 举报

板凳
ID:275826 发表于 2019-9-12 10:12 | 只看该作者
unsigned char shift = 0x01  后面少了分号
回复

使用道具 举报

地板
ID:466578 发表于 2019-9-12 10:35 | 只看该作者
都已经提示“addr3”附近出现语法错误,.......
回复

使用道具 举报

5#
ID:4098 发表于 2019-9-12 18:53 | 只看该作者
unsigned char shift = 0x01;
另外注意一下,有一对大括号多余。
回复

使用道具 举报

6#
ID:524818 发表于 2019-9-14 10:52 | 只看该作者
实践证明:细节决定成败!
回复

使用道具 举报

7#
ID:601639 发表于 2019-9-16 16:16 | 只看该作者
上面的一行少了个;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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