51单片机请大家帮我看看我代码错在哪里了,编译器老报错


#include <REGX52.H>

unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void Delay(unsigned int xms)        //@12.000MHz
{
    unsigned char i, j;
    wihle(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()
{
        

    while(1)
    {
        Nixie(1,1);
        Delay(200);
        Nixie(2,2);
        Delay(200);
    Nixie(3,3);
        Delay(200);



  }
}

第8行 wihle(xms--) 这里错误了,应该是:while(xms--)
第21行 void Nixie(unsigned char Location,Number) 应修改为:void Nixie(unsigned char Location, unsigned int Number)

void Nixie(unsigned char Location,Number)
这种写法语法错误,你第二个变量没有类型