普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3436|回复: 3

[已解决] 帮忙看看,一直显示MAIN.C(28): error C141: syntax error near '='

[复制链接]

2

主题

3

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2020-6-13 13:15:40 | 显示全部楼层 |阅读模式
#include "reg51.h"
#define  GPIO_KEY=P1
#define  GPIO_SMG=P0
typedef unsigned char u8;
typedef unsigned int u16;
u8 KEYVALUE;
u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void  delay(u16 i)
{
   while(i--);
}
void keybro()
{        char a=0;
   GPIO_KEY=0x0f;
   if(GPIO_KEY!=0x0f)
   { delay(1000);
     if(GPIO_KEY!=0x0f)
         { GPIO_KEY=0x0f;
         switch(GPIO_KEY)
           {
            case(0x07):KEYVALUE=0;break;
                case(0x0b):KEYVALUE=1;break;
                case(0x0d):KEYVALUE=2;break;
                case(0x0e):KEYVALUE=3;break;
           }
          GPIO_KEY=0xf0;
          if(GPIO_KEY!=0xf0)
          {
            switch(GPIO_KEY)
            {
                 case(0x70):KEYVALUE=KEYVALUE;break;
                 case(0xb0):KEYVALUE=KEYVALUE+4;break;
                 case(0xd0):KEYVALUE=KEYVALUE+8;break;
                 case(0xe0):KEYVALUE=KEYVALUE+12;break;
                }
          }
         }
   }
           while((a<50)&&(GPIO_KEY!=0xf0))
                {  
                   delay(100);
                    a++;
                }
}         
/*void Display()
{   
       u8 i;
           for(i=0;i<8;i++)
           {
                 switch(i)
                 {
                    case(0):
                   lsa=0;lsb=0;lsc=0;break;
                    case(1):
                   lsa=1;lsb=0;lsc=0;break;
                    case(2):
                   lsa=0;lsb=1;lsc=0;break;
                    case(3):
                   lsa=1;lsb=1;lsc=0;break;
                    case(4):
                   lsa=0;lsb=0;lsc=1;break;
                    case(5):
                   lsa=1;lsb=0;lsc=1;break;
                    case(6):
                   lsa=0;lsb=1;lsc=1;break;
                    case(7):
                   lsa=1;lsb=1;lsc=1;break;
                 }                                                  
                         P0=smgduan[i];
                        delay(50000);
                        P0=0x00;
           }
  
} */
void main()
{
        while(1)
        {
           keybro();
           GPIO_SMG=~smgduan[KEYVALUE];
          
   }
}
回复

使用道具 举报

0

主题

49

帖子

242

积分

中级会员

Rank: 3Rank: 3

积分
242
发表于 2020-6-13 13:34:45 | 显示全部楼层
这一句 #define  GPIO_KEY  =P1  改为  #define  GPIO_KEY   P1
这一句 #define  GPIO_SMG=P0  改为  #define  GPIO_SMG  P0
回复 支持 反对

使用道具 举报

2

主题

3

帖子

21

积分

新手上路

Rank: 1

积分
21
 楼主| 发表于 2020-6-13 13:35:59 | 显示全部楼层
xuyaqi 发表于 2020-6-13 13:34
这一句 #define  GPIO_KEY  =P1  改为  #define  GPIO_KEY   P1
这一句 #define  GPIO_SMG=P0  改为  #def ...

谢谢,我太粗心了
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-5-7 09:35 , Processed in 0.094191 second(s), 33 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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