单片机数码管显示问题

这个程序表达在数码管显示0~99,而我的疑问是为什么需要设置“j”这个变量?

img

void main()
{
uint i;
while(1)
{    i=0;
while(100-i)
{

P1=0x00;P1=0x01;P0=SEG[i/10];delay(10);
P1=0x00;P1=0x02;P0=SEG[i%10];delay(10);
i++;
}


}
}

这个不也可以表示0~99吗?

如果没有j这个变量,数码管的十位和各位的显示就会乱,人眼可能看不到十位的显示值。

j是为延时代码用的循环计数变量。让每一位保持一段时间