找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1160|回复: 1
收起左侧

error C141: syntax error near 'unsigned'

[复制链接]
ID:751172 发表于 2020-12-23 15:09 | 显示全部楼层 |阅读模式
求大佬帮看看这个程序怎么改吗?谢谢各位了!
报错的内容是:011.c(99): error C141: syntax error near 'unsigned'
代码如下:
  1. #include<reg51.h>
  2. sbit A1=P1^0;
  3. sbit B1=P1^1;
  4. sbit C1=P1^2;
  5. sbit D1=P1^3;

  6. #define WDM P0
  7. #define KeyP3 P3
  8. sbit DuanSuo=P2^2;
  9. sbit WeiSuo=P2^3;
  10. unsigned char Speed=1;
  11. bit StopFlag=1;
  12. unsigned char code DWtable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  13. unsigned char code WMtable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  14. unsigned char TData[8];
  15. #define A_ON {A1=1;B1=0;C1=0;D1=0;}
  16. #define B_ON {A1=0;B1=1;C1=0;D1=0;}
  17. #define C_ON {A1=0;B1=0;C1=1;D1=0;}
  18. #define D_ON {A1=0;B1=0;C1=0;D1=1;}
  19. #define AB_ON {A1=1;B1=1;C1=0;D1=0;}
  20. #define BC_ON {A1=0;B1=1;C1=1;D1=0;}
  21. #define CD_ON {A1=0;B1=0;C1=1;D1=1;}
  22. #define DA-ON {A1=1;B1=0;C1=0;D1=1;}
  23. #define ABCD_OFF {A1=0;B1=0;C1=0;D1=0;}

  24. void DelayUs(unsigned char tu)
  25. {
  26.   while(--tu);
  27. }
  28. void DelayMs(unsigned char tm)
  29. {
  30.   while(tm--);
  31.   {
  32.         DelayUs (248);
  33.         DelayUs (248);
  34.         }
  35. }


  36. void Display(unsigned char ShiWei,unsigned char WeiShu)
  37. {
  38. static unsigned char i;
  39. WDM=WMtable[i+ShiWei];
  40. WeiSuo=1;
  41. WeiSuo=0;

  42. WDM=TData[i];
  43. DuanSuo=1;
  44. DuanSuo=0;

  45. i++;
  46. if(i==WeiShu)
  47.   {
  48.    i=0;
  49.    }
  50. }


  51. void T0Int_S (void)
  52. {
  53. TMOD=0X01;
  54. TH0=0;
  55. TL0=0;
  56. EA=1;
  57. ET0=1;
  58. TR0=1;
  59. }

  60. void T0Int_Z (void) interrupt 1
  61. {
  62. static unsigned char times,i;
  63. TH0=(65536-2000)/256;
  64. TL0=(65536-2000)%256;
  65. Display(0,8);



  66.   if(StopFlag==0)
  67.   {
  68.     if(times==(20-Speed))

  69.         {
  70.          times=0;
  71.          switch(i)
  72.          {
  73.           case 0:A_ON;i++;break;
  74.           case 1:B_ON;i++;break;
  75.           case 2:C_ON;i++;break;
  76.           case 3:D_ON;i++;break;
  77.           case 4:i=0;break;
  78.           default:break;
  79.           }
  80.          }
  81.          times++;
  82. }


  83. unsigned char KeyS(void)//报错的是这行,应该怎么改,谢谢!!
  84. {
  85.   unsigned char keyZ;
  86.   if(KeyP3!=0xff)
  87.   {
  88.    DelayMs(10);
  89.    if(KeyP3!=0Xff)

  90.    {
  91.      keyZ=KeyP3;
  92.          while(KeyP3!=0xff);
  93.            switch(keyZ)
  94.            {
  95.             case 0xfe:return 1;break;
  96.                 case 0xfd:return 2;break;
  97.                 case 0xfb:return 3;break;
  98.                 case 0xf7:return 4;break;
  99.                 case 0xef:return 5;break;
  100.                 case 0xdf:return 6;break;
  101.                 case 0xbf:return 7;break;
  102.                 case 0x7f:return 8;break;
  103.                 default:return 0;break;

  104.                 }
  105.         }
  106.   }
  107. return 0;
  108. }

  109. void main()
  110. {
  111. unsigned char num;
  112. T0Int_S();
  113. ABCD_OFF
  114. while(1)
  115. {
  116.   num=KeyS();
  117.   if(num==1)
  118.   {
  119.     if(Speed<18)
  120.         Speed++;
  121.         }
  122.         else if(num==2)
  123.         {
  124.          if(Speed>1)
  125.          Speed--;
  126.          }
  127.          else if(num==3)
  128.          {
  129.           ABCD_OFF
  130.            StopFlag=1;
  131.            }
  132.         else if(num==4)

  133.         {
  134.          StopFlag=0;
  135.          }
  136.          TData[0]=DMtable[Speed/10];
  137.          TData[1]=DMtable[Speed%10];
  138.          }
  139. }
复制代码

回复

使用道具 举报

ID:751172 发表于 2020-12-23 15:40 | 显示全部楼层
我解决了,是因为变量定义要放在最前头,打扰了各位了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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