错误syntax error near 'void',expect'_asm'请问是哪里出错了?

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x80,0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xDF};
uchar miao=0;
uchar fen=0;
uchar shi=0;
uchar mstcnt=0;
int disp=0;
int a=0,K1num;

sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P14=P1^4;

void delay(uchar k);
void time_pro();
void display();
void display1();
void keyscan();

void delay(uchar k)
{
uchar j;
while((k--)!=0)
{
for(j=0;j<125;j++)
{;}
}
}

void time_pro(void)
{
if(miao==60)
{
miao=0;
fen++;
if(fen==60)
{
fen=0;
shi++;
if(shi==60)
{
shi=0;
fen=0;
miao=0;
}
}
}
}

void dispaly(void)
{
P2=0xfe;
P0=dispcode[shi/10];
delay(4);
P2=0xfd;
P0=(dispcode[(shi%10)])|0x80;
delay(4);
P2=0xfb;
P0=dispcode[fen/10];
delay(4);
P2=0xf7;
P0=(dispcode[(fen%10)])|0x80;
delay(4);
P2=0xef;
P0=dispcode[miao/10];
delay(4);
P2=0xdf;
P0=(dispcode[(miao%10)])|0x80;
delay(4);
}

void keyscan(void)
{
if(P10==0) //
{
delay(30);
K1num++;
if (P10==0)
{
miao++;
if(K1num==0)
{
if(miao==60)
{
miao=0;
}
}
if(K1num==1)
{
miao=0;
K1num=0;
}
}
while(P10==0)
display();
}

    if(P11==0)          //
    {
        delay(30);
        if (P11==0)
        {
            fen++;
                if(fen==60)
                {
                    fen=0;
                }
        }
        while(P11==0)
            display();
    }
    
    
            if(P12==0)          //
    {
        delay(30);
        if (P12==0)
        {
            shi++;
                if(shi==24)
                {
                    shi=0;
                }
        }
        while(P12==0)
            display();
    }
    

void timer0(void) interrupt 1 using 0;
{
TH0=0x3c;
TMOD=0x11;
mstcnt++;
if(mstcnt==20)
{
miao++;
mstcnt=0;
}
}

void main(void)
{
P1=0xff;
TMOD=0x11;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
while

img


(1)
{
keyscan();
time_pro;
if(disp)
display1();
else
display();
}
}