找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机程序错误C141: syntax error near ''

[复制链接]
跳转到指定楼层
楼主
ELEVATOR.C(130): 错误 C141: syntax error near ''

  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define delayNOP(){_nop_();_nop_();_nop_();_nop_();}
  6.         
  7.         void LCD_Initialize();
  8.         void LCD_Set_POS(uchar);
  9.         void LCD_Write_Data(uchar);
  10.         void Display_String(uchar*,uchar);
  11.         
  12.         sbit K1=P1^0;
  13.         sbit K2=P1^1;
  14.         sbit BEEP=P3^0;
  15.         sbit LCD_RS=P2^0;
  16.         sbit LCD_RW=P2^1;
  17.         sbit LCD_EN=P2^2;
  18.         uchar KeyCount=0;
  19.         uchar code msg1[]={"Second Watch 0 "};
  20.         uchar code msg2[]={">>>>         "};
  21.         uchar code prompts[][16]=
  22.         {
  23.                 {"::1---->      "},
  24.                 {"::1----> ::2  "},
  25.                 {"::1->2 ::3--> "},
  26.                 {"::1->2 ::3-->4"}
  27.         };
  28.         uchar Time_Buffer[]     ={0,0,0,0};
  29.         uchar LCD_Display_Buffer[]={"00:00:00:00"};
  30.         
  31.         void Beep()
  32.         {
  33.                 uchar i,j=70;
  34.                 for(i=0;i<180;i++)
  35.                 {
  36.                         while(--j);BEEP=~BEEP;
  37.                 }
  38.                 BEEP = 0;
  39.         }
  40.         void DelayX(uint ms)
  41.         {
  42.                 uchar i;
  43.                 while(ms--) for(i=0;i<120;i++);
  44.         }
  45.         
  46.         void Show_Second()
  47.         {
  48.                 uchar i;
  49.                 LCD_Set_POS(0x45);
  50.                 for(i=3;i!=0xff;i--)
  51.                 {
  52.                         LCD_Display_Buffer[2*i+1]=Time_Buffer[i]/10+'0';
  53.                         LCD_Display_Buffer[2*i  ]=Time_Buffer[i]%10+'0';
  54.                         LCD_Write_Data(LCD_Display_Buffer[2*i+1]);
  55.                         LCD_Write_Data(LCD_Display_Buffer[2*i]);
  56.                         LCD_Write_Data(':');
  57.                 }
  58.         }
  59.         
  60.         
  61.         void Time0() interrupt 1 using 0
  62.         {
  63.                 TH0=-10000/256;
  64.                 TL0=-10000%256;
  65.                 Time_Buffer[0]++;
  66.                 if(Time_Buffer[0]==100)
  67.                 {
  68.                         Time_Buffer[0]=0;Time_Buffer[1]++;
  69.                 }
  70.                 if(Time_Buffer[1]==60)
  71.                 {
  72.                         Time_Buffer[1]=0;Time_Buffer[2]++;
  73.                 }
  74.                 if(Time_Buffer[2]==60)
  75.                 {
  76.                         Time_Buffer[2]=0;Time_Buffer[3]++;
  77.                 }
  78.                 if(Time_Buffer[3]==24)
  79.                         Time_Buffer[3]=0;
  80.         }
  81.         
  82.         void main()
  83.         {
  84.                 uchar i;
  85.                 IE=0x82;
  86.                 TMOD=0x01;
  87.                 TH0=-10000/256;
  88.                 TL0=-10000%256;
  89.                 LCD_Initialize();
  90.                 Display_String(msg1,0x00);
  91.                 Display_String(msg2,0x40);
  92.                 while(1)
  93.                 {
  94.                         DelayX(100);
  95.                         i=++KeyCount;
  96.                         switch(i)
  97.                         {
  98.                                 if(K1==0)
  99.                                 {
  100.                                         DelayX(100);
  101.                                         i=++KeyCount;
  102.                                         switch(i)
  103.                                         {
  104.                                                 case 1:
  105.                                                 case 3: TR0=1;
  106.                                                        Display_String(prompts[i-1],0);
  107.                                                        break;
  108.                                                 case 2:
  109.                                                 case 4:TR0=0;
  110.                                                        Display_String(prompts[i-1],0);
  111.                                                        break;
  112.                                         }
  113.                                         while(K1==0);
  114.                                         Beep();
  115.                                 }
  116.                                 else
  117.                                         if(K2==0)
  118.                                         {
  119.                                                 TR0=0;
  120.                                                 KeyCount=0;
  121.                                                 for(i=0;i<4;i++)
  122.                                                 Time_Buffer[i]=0;
  123.                                                 Display_String(msg1,0);
  124.             Beep();
  125.             DelayX(100);
  126.             while(K2==0);        
  127.                                         }
  128.           Show_Second();
  129.                                 }
  130.                         }
复制代码

哪位大神告诉我怎么错了,求解,谢谢

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

使用道具 举报

沙发
ID:328014 发表于 2021-5-21 19:16 | 只看该作者
最后少了一个} 加上就OK了

51hei.png (15.84 KB, 下载次数: 36)

51hei.png
回复

使用道具 举报

板凳
ID:925076 发表于 2021-5-23 14:37 | 只看该作者
51hei团团 发表于 2021-5-21 19:16
最后少了一个} 加上就OK了

好多,谢谢

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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