void init_port();
void init_Timer();
int main()
{
volatile long i;
volatile int j = 0;
init_port();
init_Timer();
Serial.begin(115200);
while(1)
{
for(i=0 ; i<1000000 ; i++);
Serial.println(j,DEC);
j++;
}
return 0;
}
void init_port()
{
volatile char *dirf ;
dirf = (volatile char *)0x30;
*dirf = 0x01;
}
void init_Timer()
{
volatile char *Timer1_TCCR1A;
Timer1_TCCR1A = (volatile char *)0X80;
volatile char *Timer1_TCCR1B; //TO SELECT CLOCK SOURCE AND PRESCALING
Timer1_TCCR1B = (volatile char *)0X81;//ADDRESS OF TCCR1B OF TIMER1 (16 BIT)
volatile char *Timer_TCNT1;
Timer_TCNT1 = (volatile char *)0x84;
volatile char *Timer_OCR1A;
Timer_OCR1A = (volatile char *)0x88;
volatile char *Timsk1;
Timsk1 = (volatile char *)0x6f;
*Timer1_TCCR1A = 0;
*Timer1_TCCR1B = 0;
*Timer_TCNT1 = 0;
*Timer_OCR1A = 60000;
*Timer1_TCCR1B= 0X0C; //CTC MODE and prescale 256
*Timsk1 = 0x02; //enable to enable overflow interrupt
}
ISR(TIMER1_COMPA_vect)
{
//volatile long i;
volatile char *portoutf;
portoutf = (volatile char *)0x31;
*portoutf ^= 0x01;
}