Sicherlich führen tausend Wege nach Rom - einer davon könnte so aussehen: Timer1 wird als Counter konfiguriert, ein zweiter timer als 1-Sekunden-Timer. In der ISR des 1-Sekunden Timers wird der Inhalt des Timer1 in eine Word-Variable übernommen, auf 0 zurückgesetzt und ein Flag gesetzt. In der Hauptschleife wird das Flag dann abgefragt, und wenn es gesetzt ist, wird die Word-Variable mit 60 multipliziert (weil´s ja Umdrehungen pro Minute sind), angezeigt, und das Flag gelöscht:
Code:Config timer1 as counter, edge = rising Config timer0 as timer.... ' On timer0 Sekunde Enable timer0 Enable Interrupts Dim RPM as word Dim Flag as Bit Do If Flag = 1 then RPM = RPM * 60 LCD RPM Flag = 0 End if Loop Sekunde: RPM = Timer1 Timer1=0 Flag = 1 Return
Das ist jetzt einfach nur mal ´ne Idee, auf blauen Dunst geschrieben und ungetestet!!







Zitieren
Lesezeichen