Forum: Compiler & IDEs zeitverstellbarer Timer


von JJ (Gast)


Lesenswert?

Hallo,

ich benötige dringend Hilfe um einen Timer zu programmieren !
Vorhandener Mikrocontrller: ATmega8
Anforderungen:
              Der Timer muss nach einschalten eine einstellbare Zeit
               (1ms bis 1h) warten und nach dieser Zeit ein anderes
               Gerät anschaltet.
              Er muss nach dem senden des Impulses wieder zurückgesetzt
               werden und die Zeit soll auf einen anderen Wert
               eingestellt werden können.
              Erst nach Eingangssignal soll der Timer wieder ablaufen,
               nicht automatisch in Schleife.

Ich hoffe ihr könnt mir ein etwas weiterhelfen, da ich noch Anfänger bin 
und das nicht allein hinbekomm!

Danke, scho im Vorraus!

MfG
JJ

von Karl H. (kbuchegg)


Lesenswert?

Was davon kannst du alleine lösen?

Kriegst du es hin, eine ISR (Interrupt) so aufzusetzen, dass diese alle 
(Hausnummer) 1ms aufgerufen wird?

Ein Timer wird gestartet, indem man ihm einen Vorteiler zuweist und 
gestoppt indem man den Vorteiler wieder wegnimmt.
Zusammen mit einer Taste müsstest du dann schon die Interruptfunktion 
(deine Zeitbasis) ein und wieder abschalten können.

Der Rest ist dann reine Zählerei.
Wenn die ISR alle 1ms aufgerufen wird, wieviele Aufrufe müssen dann 
gezählt werden, damit 1 Sekunde vergangen ist? Wieviele für 10 Sekunden, 
etc?

Einsteiger versuchen gerne, eine bestimmte lange Zeitdauer dadurch zu 
erreichen, dass verzweifelt nach Möglichkeiten gesucht wird, den Timer 
auf diese Zeitdauer einzustellen. Das ist aber gar nicht nötig! Es 
reicht völlig, wenn der Timer dazu benutzt wird, eine bestimmte kurze 
Zeitdauer anzuzeigen. Alles weitere ist dann reine Zählerei. Jede Uhr 
funktioniert so! Für 1 Sekunde benötigt man einen genauen Taktgeber. Die 
Minuten, Stunden, Tage ergeben sich dann ganz einfach indem man Sekunden 
zählt.

von JJ (Gast)


Lesenswert?

Bis jetz noch nicht, aber ich versuch den Interrupt heut noch 
hinzukriegen !
Wo bekommt man denn gute Beispielprogramme her, damit man das Prinzip 
besser verstehen kann ?
MfG
JJ

von *.* (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.