#define DELAY 250
volatile char *dataout,*select;
volatile char *segdir,*seldir;
volatile char data[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
volatile char first=0,second=0,count=1;
volatile long j,i;
void setup() {
segdir=0x30;seldir=0x107;
*segdir=0xFF,*seldir=0x0F;
dataout=0x31;select=0x108;
}
void loop() {
for(second=0;second<10;second++)
{
for(first=0;first<10;first++)
{
for(i=0;i<DELAY;i++)
{
*dataout=0x00;
*select=0x02;
*dataout=data[second];
for(j=0;j<1000;j++);
*dataout=0x00;
*select=0x01;
*dataout=data[first];
for(j=0;j<1000;j++);
}
}
}
for(second=9;second>=0;second--)
{
for(first=9;first>=0;first--)
{
for(i=0;i<DELAY;i++)
{
*dataout=0x00;
*select=0x02;
*dataout=data[second];
for(j=0;j<1000;j++);
*dataout=0x00;
*select=0x01;
*dataout=data[first];
for(j=0;j<1000;j++);
}
}
}
}