c141syntax error near void

求问题所在

#include <REGX52.H>
unsigned char NixieTable[]={
0x3F,0x06,0x5B,0x4F,
 
0x66,0x6D,0x7D,0x07,
 
0x7F,0x6F,0x77,0x7C,
 
0x39,0x5E,0x79,0x71, 0x00};//·¶Î§0~9,A~F,¿Õ


void Delay(unsigned int xms)        //@12.000MHz
{
    unsigned char i, j;
    while(xms--)
    {
    i = 2;
    j = 239;
    do
    {
        while (--j);
    } while (--i);
    }


void Nixie(unsigned char Location,Number)
{
    switch(Location)
    {
        case 1:
                        P2_4=1;P2_3=1;P2_2=1;break;
        case 2:
                        P2_4=1;P2_3=1;P2_2=0;break;
        case 3:
                        P2_4=1;P2_3=0;P2_2=1;break;
        case 4:
                        P2_4=1;P2_3=0;P2_2=0;break;
        case 5:
                        P2_4=0;P2_3=1;P2_2=1;break;
        case 6:
                        P2_4=0;P2_3=1;P2_2=0;break;
        case 7:
                        P2_4=0;P2_3=0;P2_2=1;break;
        case 8:
                        P2_4=0;P2_3=0;P2_2=0;break;
    }
    P0=NixieTable[Number];
}
void main()
{ 
    unsigned char i=0;
    unsigned char k=0;
    while(1)
    {
        Nixie(i,k);
        if(P3_1==0)
        {
            Delay(20);
            while(P3_1==0);
            Delay(20);
            i++;
            
        }
        if(P3_0==0)
        {
            Delay(20);
            while(P3_0=0);
            Delay(20);
            k++;
        }
    }
}

Delay函数少了一个大括号,24行加一个}就可以了,望采纳