int digit_check(ulong n) //检测显示目标数的位数
{
uchar m;
if(n>9999999)
m = 8;
else if(n>999999)
m = 7;
else if(n>99999)
m = 6;
else if(n>9999)
m = 5;
else if(n>999)
m = 4;
else if(n>99)
m = 3;
else if(n>9)
m = 2;
else
m = 1;
return m;
}
int main(void)
{
ulong i,n;
uint ii,j,m;
while(1)
{
for(i=0;i<100000000;i++) //从0显示到9999 9999
{
for(ii=0;ii<30;ii++) //显示延时
{
m = digit_check(i);
n = i;
for(j=0;j<m;j++)
{
data_num(0xff);
digit_num(0x01 << j);
data_num(num[n%10]);
delay100us(100);
n = n/10;
}
}
}
}
}