Vstup frekvencie je P3_2 ( externe prerusenie ), vystup je volitelny ( v priklade P1_0 ).
Kód: Vybrať všetko
#pragma code,debug,small
#include<Atmel/AT892051.h>
// frekvencia oscilatora v Hz, oneskorenie, perioda v s
#define oscilator 12000000
#define frekv 60
#define vyst P1_0
void main (void)
{
// nastavenie casovaca T0, T1 rezim 1
TL0 = (0xFFFF - ((oscilator/12)/frekv));
TH0 = (0xFFFF - ((oscilator/12)/frekv)) / 0x100;
TMOD = 0x01;
TCON = 0x17;
IE = 0x81;
while(1);
}
void ext0(void) interrupt 0
{
if(!TF0) vyst = 1;
else vyst = 0;
TF0 = 0;
IE0 = 0;
TL0 = (0xFFFF - ((oscilator/12)/frekv));
TH0 = (0xFFFF - ((oscilator/12)/frekv)) / 0x100;
}