微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > error c141 syntax error提示错误 程序问题

error c141 syntax error提示错误 程序问题

时间:10-02 整理:3721RD 点击:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={0x3f,0x06,0x5b,0x4f,
                    0x66,0x6d,0x7d,0x07,
                                    0x7f,0x6f,0x77,0x7c,
                                    0x39,0x5e,0x79,0x71};
void delayms(uint xms)
{
   uint i,j;
   for(i=xms;i>0;i--) //i=xms即延时约xms毫秒
    for(j=110;j>0;j--);
}
void display(uchar num)
{
  P0=table[num]; //显示函数只送段选数据
  dula=1;
  dula=0;
}
void matrixkeyscan()
{
        uchar temp,key;
        P3=0xfe;  //每次都需要将P3口初始化,进行矩阵键盘的扫描
        temp=P3;  //将总线P3口定义为变量temp
        temp=temp&0xf0;
        if(temp!=0xf0)
      {     
                        delayms(10);
                        temp=P3;
                        temp=temp&0xf0;
                        if(temp!=0xf0)      //两次使用temp!=0xf0的作用是消抖
                        {
                                temp=P3;
                                switch(temp)
                                {
                                    case 0xee:
                                                key=0; break;
                                        case 0xde:
                                                key=1; break;
                                        case 0xbe:
                                           key=2; break;
                                    case 0x7e:
                                                key=3; break;
                                }
                                while(temp!=0xf0) //等待按键释放
                                        {
                                                temp=P3;
                                                temp=temp&0xf0;        
                                        }
                                display(key);  
                        }
                }

        P3=0xfd;
        temp=P3;
        temp=temp&0xf0;
        if(temp!=0xf0)
        {
                delayms(10);
                temp=P3;
                temp=temp&0xf0;
                if(temp!=0xf0)
                {
                   temp=P3;
                        switch(temp)
                        {
                                case 0xed:key=4;break;
                                case 0xdd:key=5;break;
                                case 0xbd:key=6;break;
                                case 0x7d:key=7;break;
                        }
                        while(temp!=0xf0)
                        {
                                temp=P3;
                                temp=temp&0xf0;
                        }
                        display(key);
                }
        }

         P3=0xfb;
    temp=P3;
    temp=temp&0xf0;
    if(temp!=0xf0)
    {
      delayms(10);
      if(temp!=0xf0)
      {
        temp=P3;
        switch(temp)
        {
          case 0xeb:
               key=8;
               break;
          case 0xdb:
               key=9;
               break;
          case 0xbb:
               key=10;
               break;
          case 0x7b:
               key=11;
               break;
         }
         while(temp!=0xf0)
         {
           temp=P3;
           temp=temp&0xf0;
         }
        display(key);
           }
        P3=0xf7;
    temp=P3;
    temp=temp&0xf0;
    if(temp!=0xf0)
    {
      delayms(10);
      if(temp!=0xf0)
      {
        temp=P3;
        switch(temp)
        {
          case 0xe7:
               key=12;
               break;
          case 0xd7:
               key=13;
               break;
          case 0xb7:
               key=14;
               break;
          case 0x77:
               key=15;
               break;
         }
         while(temp!=0xf0)
         {
           temp=P3;
           temp=temp&0xf0;
         }
        display(key);
}
void main()
{
   P0=0;
   dula=1;
   dula=0;
   P0=0xc0;
   wela=1;
   wela=0;
   while(1)
   {
                   matrixkeyscan();
   }
}



随便一扫,就知道你少了“}”,少了几个自己找去

在这个void matrixkeyscan()里

多谢大神指导  错误成功排除。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top