#include #include #include /* ************************************************************************************ */ /* Globale Variabelen */ /* (sind in allen Funktionen gültig ????) */ /* ************************************************************************************ */ static volatile unsigned char T3=0; static volatile unsigned char T4=0; static volatile unsigned char Impuls1; static volatile unsigned char Impuls2; /* ************************************************************************************ */ /* Timerinterrupt 0 */ /* *************************************************************************** */ SIGNAL(SIG_OVERFLOW0) /* signal handler for tcnt0 overflow interrupt */ { Impuls1 = T3; // Anzahl der Interrupts speichern T3 = 0; // Interruptzähler auf 0 setzen Impuls2 = T4; // Anzahl der Interrupts speichern T4 = 0; // Interruptzähler auf 0 setzen outp(61, TCNT0); /* Timer auf 50ms einstellen */ } /* ************************************************************************************ */ /* Interrupt 0 (PIN D 2 beim 2333) */ /* ************************************************************************************ */ SIGNAL(SIG_INTERRUPT0) // signal handler for external interrupt int0 { T3 = T3 + 1; // Anzahl der Interrupts zählen } /* ************************************************************************************ */ /* Interrupt 1 (PIN D 3 beim 2333) */ /* ************************************************************************************ */ SIGNAL(SIG_INTERRUPT1) // signal handler for external interrupt int1 { T4 = T4 + 1 ; // Anzahl der Interrupts zählen } /* ************************************************************************************ */ /* Initialisierung */ /* ************************************************************************************ */ void initialisierung(void) { outp((1<