void init_timer()
{
volatile char *Timer1_TCCR1A;
Timer1_TCCR1A=0x80;
volatile char *Timer1_TCCR1B;
Timer1_TCCR1B=0x81;
volatile char *Timer1_TCNT1H;
Timer1_TCNT1H=0x85;
volatile char *Timer1_TCNT1L;
Timer1_TCNT1L=0x84;
*Timer1_TCCR1A=0x00;
*Timer1_TCCR1B=0X03;
*Timer1_TCNT1H=0xFA;
*Timer1_TCNT1L=0x1E;
}
void h_w_delay(int a)
{
volatile int i=0;
for(i=0;i<=a;i++)
{
init_timer();
volatile char *Timer1_TIFR1;
Timer1_TIFR1=0x36;
while((*Timer1_TIFR1&0X01)==0X00);
*Timer1_TIFR1 |= 0x00; // Clear overflow flag
}
}
void setup() {
// put your setup code here, to run once:
volatile char *dir1,*dir2;
dir1=0x30;
dir2=0x107;
*dir1=0xFF;
*dir2=0xFF;
}
void loop() {
// put your main code here, to run repeatedly:
volatile char *output1,*output2;
volatile long i,j,k,l,m;
output1=0x31;
output2=0x108;
volatile char num[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67};
//Serial.begin(9600);
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
for(k=0;k<10;k++)
{
for(l=0;l<10;l++)
{
*output2=0x0E;
*output1=num[i];
//Serial.println(i);
h_w_delay(4);
*output1=0x00;
*output2=0x0D;
*output1=num[j];
// Serial.println(j);
h_w_delay(4);
*output1=0x00;
*output2=0x0B;
*output1=num[k];
// Serial.println(k);
h_w_delay(4);
*output1=0x00;
*output2=0x07;
*output1=num[l];
// Serial.println(l);
h_w_delay(4);
*output1=0x00;
}
}
}
}
}