mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zeit Zählen - Beste Möglichkeit


Autor: Sev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin zusammen,

ich muss die Pausenzeiten zwischen Signalen Zählen, also die Zeit 
zwischen fallender und steigender Flanke.

Im Moment warte ich , dass der Zustand von 1 auf 0 wechselt, und Zähle 
dann in 10ms Schritten, wie lange der Zustand anhält.

Problem dabei ist natürlich, dass es in dieser Zeit den kompletten 
µController blockiert. Ich vermute mal, dass es bessere Möglichkeiten 
gibt, allerdings kenne ich sie nicht. Könnte mir jemand einen Schubs in 
die richtige Richtung geben?

Verwendet wird ein Atmel 89c51

Die zu messenden Zeiten liegen zwischen 650ms und 1900ms.

Ein schönes Wochenende wünscht
Sevi

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
89c51 ist nicht meine Baustelle!

aus meiner Ecke gesehen:

(Pseudocode)

Init:
   Timer auf Null initialisieren
   ext Int. auf fallende Flanke initialisieren
   ZeitLäuftFlag = 0


ISR_Int:

  if ZeitLäuftFlag = 1 dann
     Timer auswerten
     ZeitLäuftFlag = 0
  else
     Timer auf Null initialisieren
     Timer starten
     ext Int. auf steigende Flanke initialisieren
     ZeitLäuftFlag = 1  'merken das letztes Ereignis eine HL-Flanke war
  end if

  reti

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sev,

habe ich vor mehr als 10 Jahren geschrieben, es läuft über HW und auf 
microsec genau. Ich muss nur die Datei nachsuchen ....

Autor: ibsimed1 (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.