清翔51 AT89C52 c(82): error C141: syntax error near '', expected '__asm' 网上查不到,求大佬帮助

include
#include

#define uint unsigned int
#define uchar unsigned char

sbit LED1 = P1^0;

sbit DU = P2^6;
sbit WE = P2^7;
sbit key_s2 = P3^0;
sbit key_s3 = P3^1;
sbit key_s4 = P3^2;
sbit key_s5 = P3^3;

uchar num1;
uchar num2;

uchar code tabel[]= {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,};

void delay(uint z)
{
uint x,y;
for(x = z; x > 0; x--)
for(y = 114; y > 0 ; y--);

}

void main()
{

P0 = 0XFF;
WE = 1;
P0 = 0XFE; //1111 1110
WE = 0;

DU = 1;
P0 = tabel[num1];
DU = 0;
delay(5);


P0 = 0XFF;
WE = 1;
P0 = 0XFD;
WE = 0;

DU = 1;
P0 = tabel[num2];
DU = 0;
delay(5);

while(1)
{
    if(key_s2 == 0)
    {
        delay(20);
        if(key_s2 == 0)
        {

            LED1 = 0;
            delay(200);
            LED1 = 1;

            for(num2=0;num2<2;num2++)
        {   
            if(num1 != 9)//0-9
            num1++;
          if(num1 == 9)
            {
                num1 = 0;

            }
            while(!key_s2);
        }   



        }   
    }
}

定义变量的语句全部放到函数体前边试试,我是这样解决的

mian函数少了一个大括号吧

sorry,不是逗号的问题,谢谢

ADPWM.C(464): error C141: syntax error near '', expected '__asm'我也卡在这里了,请问哪个高手指点呢?

花括号少了。

uchar code tabel[]= {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,};
目测多了一个逗号