void setup()
{
volatile char *dirf,*outf;
volatile char *dirk,*outk;
volatile char *dira,*outa;
volatile char *dirc,*outc;
dirf=0x30; outf=0x31;
dirk=0x107; outk=0x108;
dira=0x21; outa=0x22;
dirc=0x27; outc=0x28;
*dirf=0xFF; *dirk=0xFF;
*dira=0xFF; *dirc=0xFF;
volatile long arr[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
volatile long i,j,k,l,m;
loop: while(1)
{
for(i=0;i<=9;i++)
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
for(l=0;l<=9;l++)
{
if(i==0)// to display from 0 to 9
{
*outc=arr[l];
for(m=0;m<=5000;m++);
}
if(k>0)// to display from 10 to 99
{
*outa=arr[k];
*outc=arr[l];
for(m=0;m<=5000;m++);
}
if(j>0)// to displat from 100 to 999
{
*outk=arr[j];
*outa=arr[k];
*outc=arr[l];
for(m=0;m<=5000;m++);
}
if(i>0) // to display from 1000 to 9999
{
*outf=arr[i];
*outk=arr[j];
*outa=arr[k];
*outc=arr[l];
for(m=0;m<=5000;m++);
}
if(i==9)// for continous loop
goto loop;
}
}
}
}
}
}
void loop()
{
}