www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tastenenprellung ok ?


Autor: Böse-Taste (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Bei einem mC-Programm in Assembler muss ich 32 Eingänge respektiv
Tasten entprellen. Es ist von grosser Wichtigkeit dass die Entprellung
100% funktioniert. Die Abarbeitungszeit der Entprellroutine muss nicht
wahnsinnig schnell sein.
Die 32 Eingänge sind über Latches am mega32 mC angeschlossen. Ich
entprelle nun immer 8 Eingänge indem ich 200 mal nacheinander den
gleichen Zustand verlange. Das Spiel wiederhole ich mit den anderen 3
Latches.
Dadurch wird die entprellroutine zwar langsam aber hoffentlich
todsicher.

Nun würde ich gerne Wissen was ihr dazu meint, resperktiv was ich
besser machen kann. Wenn eine Taste prellt, mit welcher Frequenz tut
sie das ungefähr? Das habe ich bis jetz nicht herausgefunden und davon
hängt meiner Meinung nach alles ab.

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"200 mal nacheinander den gleichen Zustand verlange."

Das ist kein Entprellen, sondern Zufall, wenn es funktioniert.

Wichtig ist das Intervall, nachdem man nochmal abtastet, dann reichen
oft 2 Abtastungen, sicher sind auf alle Fälle 4 Abtastungen.

Als Intervall hat sich 5ms ... 50ms bewährt, da die Prellzeiten so im
Bereich 1ms ... 10ms liegen.

In der Codesammlung ist ein Beispiel für 8 Tasten (bulletproof),
einfach dann 4-mal ausführen für 32 Tasten.


Peter

Autor: Böse-Taste (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Prellzeiten im Bereich 1ms - 10ms, hmmm dass die so langsam prellen
hätte ich nicht gedacht. Bei meiner Routine kann es also passieren dass
während dem Prellen keine Zustandsänderung passiert und ich somit ein
falscher Zustand als gültig annehme.
Danke Peter! Ich werde deine Routine mal anschauen.

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.