#include <avr/io.h>
void TimerInit();
unsigned char periode;
/*
prescaller 64 , Xtal 16MHz
tick = 64/16Mhz= 4 us
delay=counter*tick
delay=counter*4us
untuk sampling rate 4 khz maka Tsampling= 1/4Khz= 250us
counter = 250/4us = 63
*/
int main(void) {
DDRB |= _BV(PB7);
TimerInit();
while (1) {
if(TIFR0&(1<<OCF0A)){
PORTB ^= (1 << PB7);
TIFR0 |= (1<<OCF0A);
}
}
}
void TimerInit(void) {
TCCR0B = (1 << CS01) | (1 << CS00); //prescaller 64
TCCR0A |=_BV(WGM01); //mode Timer CTC
OCR0A = 63;
}