编写了如下一段软件延时并用数码管显示的程序,显示范围是0--60,在板子上显示时只显示了十位(其实个位也有显示的只是一闪而过,就像没显示一样),请问这是什么问题???(这里给的是main部分,其他的可以不管,ADDR0,ADDR1,ADDR2是通过控制译码器的输入来控制数码管的位选,也可以不管)
void main()
{
ENLED=0;ADDR3=1; /*38译码器使能*/
while(1)
{
static uchar num=0;
delay(10000); /*调用前面的一个软件延时子函数*/
num++;
if(num<60)
{
ge=num%10;
shi=num/10%10;
ADDR0=0;ADDR1=0;ADDR2=0;P0=table1[ge];/*使用动态显示在P0口显示个位*/
ADDR0=1;ADDR1=0;ADDR2=0;P0=table1[shi]; /*使用动态显示在P0口显示十位*/
}
else num=0;
}
}