mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fragen zu Timer bei Mega8


Autor: Physik AG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für einen Versuchsaufbau im LK Physik suchen wir eine möglichkeit mit 
einem Mikrocontroller die Zeit zwischen positiven oder negativen Flanken 
zu messen.

Da wir in der schule ein Mega8 Board haben, war unser gedanke einen 
Timer per  INT0 bei Positiver Flanke zu starten.
Bei der nächsten positiven flanke, soll dann in der ISR der Timer 
gestoppt werden.

Damit ist für uns bereits möglich zeiten zu messen.
Das Signal bekommen wir praktischerweise von unserem versuchsaufbau 
direkt in 5V level geliefert.

Gibt es da vielleicht noch eine Sonderfunktion des Chips, die 
automatisch bei einer Flanke einen timer startet und bei der nächsten 
gleichen flanke (also 2x positive) wieder stoppt?
Das Datenblatt ist recht komplex und unser technisches Englisch leider 
nicht ganz ausreichend...

Wir lesen hier von ICP etc.

Ein wenig Hilfe dazu währe seeehr nett.

Vielen Dank!

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Physik AG (Gast)

>Wir lesen hier von ICP etc.

Ja, damit kann man das sehr genau machen.

>Ein wenig Hilfe dazu währe seeehr nett.

Im Prinzip ganz einfach. Der 16 Bit Timer läuft immer. Wenn jetzt 
eine Flanke am ICP reinkommt, wird der aktuelle Timerwert gespeichert 
und ein Interrupt ausgelöst. Den springt die CPU an und kopiert den 
Wert aus dem Spezialregister in eine Variable (16 Bit). Danach wird der 
ICP umgestellt, dass er jetzt auf die fallende Flanke reagieren soll. 
Wenn die dann eintrifft wird wieder durch den ICP der Timerwert 
gespeichert und ein Interrupt ausgelöst. Aus der Differenz der beiden 
Timerwerte kann man sehr genau die Zeit berechnen.

MFG
Falk

Autor: Physik AG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Falk,

das ist ja echt mehr als wir gedacht hätten, was dieser kleien Chip 
alles kann.
Ist es denn auch möglich jeweils auf steigende Flanken zu reagieren oder 
funktioniert nur die Kombination Steigend/fallen, Fallend/Steigend?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Physik AG (Gast)

>Ist es denn auch möglich jeweils auf steigende Flanken zu reagieren

Sicher. Man kann auf steigende, fallende oder beides reagieren. Siehe 
Datenblatt.

MFG
Falk

Autor: Kachel-Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst so ziemlich alle Kombinationen auswerten:

- steigend - steigend (Periodendauer)

- fallend - fallend (Periodendauer)

- steigend - fallend (Impulsdauer)

- fallend - steigend (Impulspause)

Du musst nur in der ICP-ISR die Flankenart des nächsten Interrupts 
einstellen.

KH

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.