www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Abfrage eines Pins über Zeit


Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wie kann ich meinem Controler ( mega32 ) verständlich machen, daß eine 
Zustandsänderung an einem Pin nur dann Gültig ist wenn der Zustand über 
einen gewissen Zeitram ( 100 ms ) anliegt, ansonsten handelt es sich um 
ein Störsignal?

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn signal vorhanden -> timer starten -> timer läuft ab -> nochmal 
nachgucken -> passende Aktion ausführen

oder guck mal unter Entprellung 
http://www.mikrocontroller.net/articles/Entprellung

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn eine Zustandsänderung auftritt kannst du doch einfach einen Timer 
starten, wenn nach Ablauf des Timers das Signal noch immer anliegt -> 
übernehmen ansonsten verwerfen oder?

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Eingang im 1ms-Takt abfragen.
Wenn Eingang auf 1, aufwärts zählen.
Wenn Eingang auf 0, rückstellen auf Null

Wenn 100 erreicht, Signal als gültig verwenden.

Autor: Siggi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Wenn eine Zustandsänderung auftritt kannst du doch einfach einen Timer
>> starten, wenn nach Ablauf des Timers das Signal noch immer anliegt ->
>> übernehmen ansonsten verwerfen oder?

Geht nicht, da es sich ja um mehrere Störungen handeln kann.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wird das in Hardware gemacht:
Nimm z.B. ein 8-Bit Schieberegister, und takte im 12ms Raster immer den 
Eingang ein. Wenn dann alles 0 ist (0x00), dann hast du eine entprellte 
0, wenn alles 1 ist (0xff), dann hast du eine entprellte 1.

Autor: DW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- Mittels Timer zyklische Aufrufstruktur erstellen
- Zustandsabfrage in einen der zyklen integrieren (z.B im 16ms -Zyklus)
- Zähler in die Zustandsabfrage implementieren: Wenn nach 6 Aufrufen 
immer noch High-Pegel anliegt, dann als gültig betrachten (6*16 = 96ms)



Gruß
DW

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.