www.mikrocontroller.net

Forum: Compiler & IDEs zeitverstellbarer Timer


Autor: JJ (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: JJ (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: *.* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.