Für die Reset Taste muss du einfach den Reset-Pin deines AVRs (bei mir is es Pin9, mega32) über eine Taste mit Masse verbinden.
Hab hier mal das Programm geschrieben, ist natürlich nicht ausführbar weil du die Eingangports definieren musst und noch die Syntax anpassen, weil ich die nicht so gut kenne (programmiere in C).
Das Programm wird über eine Taste gestartet und kann mit der selben Taste unterbrochen werden und der timer wieder "eingeschaltet" werden (stimmt net ganz, weil der timer ja weiterläuft, nur wird i net inkrementiert). Nach 5 Minuten stoppt das Programm die Inkrementation von i und muss mit der Taste neu gestartet werden.Code:dim i as integer dim taste_gedrueckt as bool taste_gedrueckt = 0 Config Timer0 = Timer, Prescale = 1024 On Timer0 Timer_irq 'Diese Vorgabe wurde berechnet um die genaue Intervallfrequenz zu erreichen Const Timervorgabe = 100 'Hier werden die Timer aktiviert Enable Timer0 Enable Interrupts Do if [taste] == 1 then if taste_gedrueckt = 0 then taste_gedrueckt = 1 endif if taste_gedrueckt = 1 then taste_gedrueckt = 0 endif endif Waitms 1 Loop Timer_irq: Timer0 = Timervorgabe if i == 30000 then i = 0 taste_gedrückt = 0 'Hier können auch Befehle stehen, die ausgeführt werden wenn die 5 Minuten erreicht sind. else if taste_gedrückt == 1 then i++ endif Return
MfG







Zitieren

Lesezeichen