#pragma debug pagelength (54) INTVECTOR(0x8000) #include #include #include "lcd.h" bit secflag,mess; unsigned int freq1; char ueb; float freq2; /* Funtionen */ void secticker(void) interrupt 2 { if (mess==1) /*letzte Sekunde = MESSUNG */ { T2CON=0; /* Timer 2 sperren */ secflag=1; /* Meszauswertung freigeben */ mess=0; } else { T2CON=0x02; /* Timer 2 freigeben */ ueb=0; /* šberl"ufe ruecksetzen*/ mess=1; /* bit mess setzen */ } } void t2int(void) interrupt 5 { TF2=0; ueb++; } /* Hauptprogramm */ main() { EX1=1; IT1=1; ET2=1; T2CON=0; ueb=0; TF2=0; IP0=4; EAL=1; while(1) { if(secflag==1) { freq1=T2; freq2=ueb*65536.0+freq1; printf("F = %f Hz\n ",freq2); secflag=0; T2=0; P4++; } } }