今天是我学习C语言的第九天,从昨天下午七点到现在一共看资料看了不低于10个小时,初步对静态扫描显示数码管程序有一点点印象,从今天下午二点到现在,一直在学编程,下面是我按要求编译的数码管静态扫描显示程序,可总是执行不下去,查看了半天都找不到因果,所以现求朋友救助,帮忙看一下,看看错误到底出在哪,在此先谢谢,程序如下;


        八数码管静态扫描显示程序;


  #include<reg52.h>            //1
#define uint unsigned int    //2    
#define uchar unsigned char    //3    
sbit du=P2^6;                //4    
sbit we=P2^7;                //5    
uchar a;
                    //6    
uchar code bable[]={        //7    
0x3f,0x06, 0x5b, 0x4f,         
0x66, 0x6d, 0x7d, 0x07,      
0x7f,0x6f,0x77,  0x7c,        
0x39, 0x5e,0x79,0x71,};  
 
void delay (uint z);        //8    
void main()                    //9    
{
    we=1;                    //10
    P0=0xc0;
    we=0;                    //11
    while(1)
    {
        for(a=0;a>16;a++);//12
        {
            du=1;               //13
            P0=bable[a];      //14
        du=0;                //15
        delar(100);          //16
        }
    }

}
void delay (uint z)              //17
    {
        uint x,y;                //18
        for(x=z;x>0;x--)         //19
         for(y=100;y>0;y--);     //20
    }
    
    对于以上程序,我通过编译,总是提示有误,但我是老菜,怎么也查不出来,请行家里手帮我看看,错在什么地方,谢谢。