Also um genau zu sein, brauchst du nur einen Timer, der jede Sekunde einen Interrupt auslöst, oder?
In der Interruptroutine wird dann der zuvor gespeicherte Wert bearbeitet, wie, dass ist dann deine Aufgabe. Hier mal ein wenig Code von mir:
Der Code ist schon getestet, da ich weder weiß, welchen Controller du verwendest, noch wie dein uC getaktet ist, überlasse ich dann die anpassung der Werte dir, oder du sagst mir halt, wie es aussieht.Code:$regfile = "m8def.dat" $crystal = 8000000 Dim Zaehlerstand As Byte '255 Werte in der Sec. sollte nicht überschritten werden, ansonsten eine Word-varaible verwenden oder so. Const Timervorgabe = 34286 '65536-31250 = 34286 Config Timer1 = Timer , Prescale = 256 On Timer1 Timer1_isr Timer1 = Timervorgabe Enable Timer1 Enable Interrupts Do 'Bestimmung von Zaehlerstand (deine Aufgabe ;-) ) Loop End Timer1_isr: Timer1 = Timervorgabe 'Hier passiert jetzt was mit deinem Zaehlerstand Zaehlerstand = 0 Return
MFG Moritz







Zitieren

Lesezeichen