在做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;