Forum: Mikrocontroller und Digitale Elektronik Tastenenprellung ok ?


von Böse-Taste (Gast)


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.

von Peter Dannegger (Gast)


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

von Böse-Taste (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.