www.mikrocontroller.net

Forum: Compiler & IDEs Zeitmessung von Flanken gesteuert mit dem Timer


Autor: onkelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
ich bin erst seit kurzem in der Welt der Mikrocontroller unterwegs.
Deshalb bitte icht böse sein wenn ich dumme Fagen stelle. Eingearbeitet 
habe ich mich bereits mit
den Tutorials auf dieser Seite. Nun aber zu meiner Aufgabe:

Ich habe einen Pegel zwischen 0V und 10V bei dem ich die Zeiten messen 
möchte.
Dabei ist Pegel LOW eine Aufladezeit und der Pegel HIGH eine Entladezeit 
die variiert.
Ich habe schon gelesen das ich mit dem externen PIN T1 steigende sowie 
fallende Flanken
erkennen kann.
Mein Programm hab ich mir vorerst auf einem Blatt Papier so vorgetellt:

PINT1 erkennt fallende Flanke -> Zähler beginnt zu laufen
PINT1 erkennt steigende Flanke -> Zählwert abspeichern, Zähler 
rücksetzen und wieder starten
PINT1 erkennt fallende Flanke -> Zählwert abspeichern, Zähler rücksetzen 
und wieder starten
Anschließend soll das Verhältnis gebildet werden.

Da ich den ATmega mit 8MHz betreiben will und die Zeiten im Bereich von 
10ms-50ms liegen wollte
ich den 8-bit Timer verwenden. Zudem wollte ich vorerst auf Interrupts 
verzichten.
Programmieren werde ich mit dem AVR Studio in C.

Also grundlegend weiß ich was ich machen möchte, nur kann es so 
funktionieren? Hat sowas schonmal jemand gemacht?

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

Bewertung
0 lesenswert
nicht lesenswert
onkelm schrieb:

> Zudem wollte ich vorerst auf Interrupts
> verzichten.

Keine so gute Entscheidung, auch wenn es im Prinzip nach deiner 
Strategie machbar ist.

> Also grundlegend weiß ich was ich machen möchte, nur kann es so
> funktionieren?

Probiers aus.

> Hat sowas schonmal jemand gemacht?

<Lächel>
Du bist der Erste.


Im Ernst. Natürlich hat das schon wer gemacht. Die eine Hälfte deiner 
Applikation ist im Grunde dieselbe Technik, die man bei einem 
Frequenzzähler benutzt.
Ein Tip: Du kannst dir eine Menge Arbeit sparen, wenn du die Input 
Capture Funktionalität vom Timer 1 benutzt.

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.