main.c(266): error C141: syntax error near 'void', expected '__asm'这个错误怎么解决,我的代码如下:

#include
#include
#define uchar unsigned char
#define uint unsigned int
bit OK;
sbit speak=P2^0;
sbit start=P3^1;
sbit end=P3^6;
sbit add=P3^4;
sbit sub=P3^5;

sbit S1=P2^1;
sbit S2=P2^3;
sbit S3=P2^5;
sbit S4=P2^7;
uchar Q_T=20,H_T=30,qt,ht;

uchar a=11,b=11,c=11,d=11,n,m=0,k;

uchar code dis_7[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x45,0xDF,0xD7,0x00,0x80};

void delay1ms(uint t)
{
uint i,j;
for(i=0;i<t;i++);
for(j=0;j<120;j++);
}

void nose()
{
speak=0;
delay1ms(500);
speak=1;
}

void display()
{
P0=dis_7[a];
S1=0;
delay1ms(5);
S1=1;
P0=dis_7[11];
S2=0;
delay1ms(5);
S2=1;
P0=dis_7[b];
S3=0;
delay1ms(5);
S3=1;
P0=dis_7[c];
S4=0;
delay1ms(5);
S4=1;
}

void false()
{
if(P1!=0xff)
{
if(P1==0xf7)
{
m=1;
}

if(P1==0xfb)
    {
    m=2;
    }

if(P1==0xfd)
{
    m=3;
}

if(P1==0xfe)
{
    m=4;
}

if(P1==0xef)
{
    m=5;
}

if(P1==0xdf)
{
    m=6;
}

if(P1==0xbf)
{
    m=7;
}

if(P1==0x7f)
{
    m=8;
}

n=0;
while(end==1)
{
    if(n<6)
    {
        a=10;b=10;c=10;
        display();
        speak=1;
    }
    if(n>=6)
    {
        a=m;b=11;c=11;
        display();
        speak=0;
    }
    if(n==20)
    {
        n=0;
    }
}

speak=1;m=0;
a=10;b=10;c=10;

}
}

main()
{
    TMOD=0x11;
    TH0=0x3c;
    TL0=0xb0;

    EA=1;
    ET0=1;
    EX0=1;
    EX1=1;
    OK=0;
    speak=1;
    TR0=1;

    while(1)
    {
        display();
        while(start==1)
        {
            false();
            display();
            if(start==0)
            {
                delay1ms(2);
                while(start==0);
                nose();
                OK=1;
                TR0=0;
                qt=Q_T;
                n=0;

        while(qt>0&&end==1&&OK==1&&P1==0xff)
        {
            TR0=1;
            a=10;
            b=qt/10;
            c=qt%10;
            display();
            speak=1;

            if(n>20)
            {
                n=0;
                qt--;
            }
            if(qt<=5)
            {
                if(n<7)
                {
                    speak=1;
                }
                if(n>7)
                {
                    speak=0;
                }
            }

            if(qt==0)
            {
                a=10;b=10;c=10;d=10;OK=0;speak=1;m=0;n=0;
            }
            if(end==0)
            {
                a=10;b=10;c=10;d=10;OK=0;speak=1;m=0;n=0;
            }
            if(P1!=0xff)
            {
                k=P1;
                nose();
                if(k==0xf7)
                {
                    m=1;
                }
                if(k==0xfb)
                {
                    m=2;
                }
        if(k==0xfd)
        {
            m=3;
        }
        if(k==0xfe)
        {
            m=4;
        }
        if(k==0xef)
        {
            m=5;
        }
        if(k==0xdf)
        {
            m=6;
        }
        if(k==0xbf)
        {
            m=7;
        }       
        if(k==0x7f)
        {        
            m=8;
        }

                n=0;
                ht=H_T;
                while(end==1&&ht>0)
                {
                    TR0=1;
                    a=m;
                    b=ht/10;
                    c=ht%10;
                    display();
                    speak=1;

                    if(n==20)
                    {
                        n=0;
                        ht--;
                    }
                    if(ht<=5)
                    {
                        if(n<7)
                        {
                            speak=1;
                        }
                    if(n>7)
                    {
                        speak=0;
                    }
                }
            }
        }

        {
            a=10;b=10;c=10;d=10;OK=0;speak=1;m=0;n=0;
        }
    }
}

}
}

void time_intt0(void) interrupt 1
{
    TH0=0x3c;TL0=0xb0;
    n++;
}

void time_intt2(void) interrupt 0
{
    while(end==1)
    {
        if(add==0)
        {
            delay1ms(2);
            while(add==0);
            if(Q_T>=99)
            {
                Q_T=0;
            }
            else
            {
                Q_T++;
            }
        }
        if(sub==0)
        {
            delay1ms(2);
            while(sub==0);
            if(Q_T<=0)
            {
                Q_T=99;
            }
            else
            {
                Q_T--;
            }
        }
        a=10;b=Q_T/10;c=Q_T%10;
        display();
    }
    a=10;b=10;c=10;
    display();
}

void time_intt3(void) interrupt 2
{
    while(end==1)
    {
        delay1ms(2);
        while(add==0);
        if(H_T>=99)
        {
            H_T=0;
        }
        else
        {
            H_T++;
        }
    }
    if(sub==0)
    {
        delay1ms(2);
        while(sub==0);
        if(H_T<=0)
        {
            H_T=99;
        }
        else
        {
            H_T--;
        }
    }
    a=10;b=H_T/10;c=H_T%10;
    display();
}
  a=10;b=10;c=10;
  display();

}

花括号不匹配,你if else用的太多了,我帮你改了一下,麻烦结贴采纳,谢谢!图片说明图片说明


#include <STC15F2K60S2.H>
#define uchar unsigned char
#define uint unsigned int
bit OK;
sbit speak = P2 ^ 0;
sbit start = P3 ^ 1;
sbit end = P3 ^ 6;
sbit add = P3 ^ 4;
sbit sub = P3 ^ 5;

sbit S1 = P2 ^ 1;
sbit S2 = P2 ^ 3;
sbit S3 = P2 ^ 5;
sbit S4 = P2 ^ 7;
uchar Q_T = 20, H_T = 30, qt, ht;

uchar a = 11, b = 11, c = 11, d = 11, n, m = 0, k;

uchar code dis_7[] = { 0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x45,0xDF,0xD7,0x00,0x80 };

void delay1ms(uint t)
{
    uint i, j;
    for (i = 0; i < t; i++);
    for (j = 0; j < 120; j++);
}

void nose()
{
    speak = 0;
    delay1ms(500);
    speak = 1;
}

void display()
{
    P0 = dis_7[a];
    S1 = 0;
    delay1ms(5);
    S1 = 1;
    P0 = dis_7[11];
    S2 = 0;
    delay1ms(5);
    S2 = 1;
    P0 = dis_7[b];
    S3 = 0;
    delay1ms(5);
    S3 = 1;
    P0 = dis_7[c];
    S4 = 0;
    delay1ms(5);
    S4 = 1;
}

void false()
{
    if (P1 != 0xff)
    {
        if (P1 == 0xf7)
        {
            m = 1;
        }

        if (P1 == 0xfb)
        {
            m = 2;
        }

        if (P1 == 0xfd)
        {
            m = 3;
        }

        if (P1 == 0xfe)
        {
            m = 4;
        }

        if (P1 == 0xef)
        {
            m = 5;
        }

        if (P1 == 0xdf)
        {
            m = 6;
        }

        if (P1 == 0xbf)
        {
            m = 7;
        }

        if (P1 == 0x7f)
        {
            m = 8;
        }

        n = 0;
        while (end == 1)
        {
            if (n < 6)
            {
                a = 10; b = 10; c = 10;
                display();
                speak = 1;
            }
            if (n >= 6)
            {
                a = m; b = 11; c = 11;
                display();
                speak = 0;
            }
            if (n == 20)
            {
                n = 0;
            }
        }

        speak = 1; m = 0;
        a = 10; b = 10; c = 10;
    }
}

main()
{
    TMOD = 0x11;
    TH0 = 0x3c;
    TL0 = 0xb0;

    EA = 1;
    ET0 = 1;
    EX0 = 1;
    EX1 = 1;
    OK = 0;
    speak = 1;
    TR0 = 1;

    while (1)
    {
        display();
        while (start == 1)
        {
            false();
            display();
            if (start == 0)
            {
                delay1ms(2);
                while (start == 0);
                nose();
                OK = 1;
                TR0 = 0;
                qt = Q_T;
                n = 0;

                while (qt > 0 && end == 1 && OK == 1 && P1 == 0xff)
                {
                    TR0 = 1;
                    a = 10;
                    b = qt / 10;
                    c = qt % 10;
                    display();
                    speak = 1;

                    if (n > 20)
                    {
                        n = 0;
                        qt--;
                    }
                    if (qt <= 5)
                    {
                        if (n < 7)
                        {
                            speak = 1;
                        }
                        if (n > 7)
                        {
                            speak = 0;
                        }
                    }

                    if (qt == 0)
                    {
                        a = 10; b = 10; c = 10; d = 10; OK = 0; speak = 1; m = 0; n = 0;
                    }
                    if (end == 0)
                    {
                        a = 10; b = 10; c = 10; d = 10; OK = 0; speak = 1; m = 0; n = 0;
                    }
                    if (P1 != 0xff)
                    {
                        k = P1;
                        nose();
                        if (k == 0xf7)
                        {
                            m = 1;
                        }
                        if (k == 0xfb)
                        {
                            m = 2;
                        }
                        if (k == 0xfd)
                        {
                            m = 3;
                        }
                        if (k == 0xfe)
                        {
                            m = 4;
                        }
                        if (k == 0xef)
                        {
                            m = 5;
                        }
                        if (k == 0xdf)
                        {
                            m = 6;
                        }
                        if (k == 0xbf)
                        {
                            m = 7;
                        }
                        if (k == 0x7f)
                        {
                            m = 8;
                        }

                        n = 0;
                        ht = H_T;
                        while (end == 1 && ht > 0)
                        {
                            TR0 = 1;
                            a = m;
                            b = ht / 10;
                            c = ht % 10;
                            display();
                            speak = 1;

                            if (n == 20)
                            {
                                n = 0;
                                ht--;
                            }
                            if (ht <= 5)
                            {
                                if (n < 7)
                                {
                                    speak = 1;
                                }
                                if (n > 7)
                                {
                                    speak = 0;
                                }
                            }
                        }
                    }

                    {
                        a = 10; b = 10; c = 10; d = 10; OK = 0; speak = 1; m = 0; n = 0;
                    }
                }
            }
        }
    }
}

void time_intt0() interrupt 1
{
    TH0 = 0x3c; TL0 = 0xb0;
    n++;
}

void time_intt2(void) interrupt 0
{
    while (end == 1)
    {
        if (add == 0)
        {
            delay1ms(2);
            while (add == 0);
            if (Q_T >= 99)
            {
                Q_T = 0;
            }
            else
            {
                Q_T++;
            }
        }
        if (sub == 0)
        {
            delay1ms(2);
            while (sub == 0);
            if (Q_T <= 0)
            {
                Q_T = 99;
            }
            else
            {
                Q_T--;
            }
        }
        a = 10; b = Q_T / 10; c = Q_T % 10;
        display();
    }
    a = 10; b = 10; c = 10;
    display();
}

void time_intt3(void) interrupt 2
{
    while (end == 1)
    {
        delay1ms(2);
        while (add == 0);
        if (H_T >= 99)
        {
            H_T = 0;
        }
        else
        {
            H_T++;
        }
    }
    if (sub == 0)
    {
        delay1ms(2);
        while (sub == 0);
        if (H_T <= 0)
        {
            H_T = 99;
        }
        else
        {
            H_T--;
        }
    }
    a = 10; b = H_T / 10; c = H_T % 10;
    display();

    a = 10; b = 10; c = 10;
    display();
}

把变量定义放到函数最前面
或者是你的花括号不匹配