WAVE6000编译时显示“missing';'before 'led'”

在做Proteus仿真时有一道例题:请编写在数码管上循环显示0-9这10个数字的程序。串行通信方式0,定时器间隔1s。
然后下面给出了答案,我自己用WAVE6000编译时发现程序有问题。第三行显示missing';'before 'led'。我看了一下并没有缺少分号也没输错分号。
下面是答案提供的程序和仿真图。
#include

unsignedchar led[10]={0x03,….};

unsignedchar num,I;

voidmain(void)

{

   TMOD=0x01;

   TH0=(216-50000)/28;

   TL0=(216-50000)%28;

   TR0=1;

   ET0=1;

   EA=1;

   SCON=0x00;

   while(1)

   {

        if(num==20)

       {

              num=0;

              SBUF=led[i++];

              if(i==10)

              {

                   i=0;

               }

        }   

   }

}

voidT0() interrupt 1

{

num++;

TH0=(216-50000)/28;

TL0=(216-50000)%28;

TF0=0;

}
图片说明
图片说明

unsignedchar led[10]={0x03,….}; 修改为 unsigned char code led[10]={0x03,….};
"unsignedchar"编译器不认识,被当作一条语句了,所以提示缺分号。