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=0,j=0,k=0,l,m,repeat=1;
while(1)
{
if(repeat==4)// for continuous loop running
repeat=1;
for(i=0;i<=9;i++)//to display first digit
{
for(j=0;j<=9;j++)//to display second digit
{
for(k=0;k<=9;k++)//to display third digit
{
for(l=0;l<=9;l++)//to display fourth digit
{
if(repeat==1)//for one complete loop
{
*outf=arr[i]+128;
*outk=arr[j];
*outa=arr[k];
*outc=arr[l];
for(m=0;m<=50000;m++);//delay
}
else if(repeat==2)// for second time while loop
{
*outf=arr[i+1];
*outk=arr[j]+128;
*outa=arr[k];
*outc=arr[l];
for(m=0;m<=5000;m++);//delay
}
else// for third time while loop
{
*outf=arr[i+1];
*outk=arr[j];
*outa=arr[k]+128;
*outc=arr[l];
for(m=0;m<=5000;m++);//delay
}
}
}
}
}
}
repeat++;
}
void loop()
{
}