Mein Tastaturmatrix Einlese- und Entprell-PAP

OP #4857573
Lesenswert?

Hallo!

Hier für Interessierte:
Ein Programmablaufplan zu einer Entprellten Tastaturmatrix-Abfrage in 
einem Interrupt-Unterprogramm (UP) das alle 50ms aufgerufen wird.

Es gibt diverse Zähler und Flags die im 8051-RAM untergebracht sind.
Die "Schiebe"-UPs schieben über IO-Expander-Schieberegister die Matrix 
an und lesen auch seriell ein.

Edit:
Es gibt wohl das Problem dass eine Taste prellt und offen ist während 
die Spalten abgefragt werden im "UP ErmittleTastencode". Doch das wird 
wohl bei der Abfrage "2x gleiche Taste gedrückt" aufgefangen, das eben 
nur wahr ist wenn die Taste eine Weile ruhig anliegt.

Das "UP Pieps" hat seinen eigenen Pieps-Zähler den es jeden Interrupt 
runterzählt und den Piezo-Piepser piepsen lässt solange der Zähler 
größer Null ist.

Edit 2:
Es scheint es gibt auch ein Problem mit der Benennung des Zählers 
"Gleiche-Taste-gedrückt". Es geht vielmehr um das Zählen wie oft 
hintereinander ununterbrochen gedrückt war - nicht so sehr ob es immer 
die gleiche Taste war. Aber vielleicht ist das ja auch nützlich, wenn 
man sichergeht dass es dieselbe Taste war  :-)

Edit 3:
Mir war eine Vermeidung von Doppelerkennungen wichtig, daher habe ich 
nicht vorgesehen dass eine ständig gedrückte Taste erkannt wird (zB. für 
Bildlauf). Das kann man aber vielleicht noch reinbauen zB. indem man im 
Hauptprogramm das Flag für "Keine-Taste-10x-gedrückt" auf 1 setzt bevor 
man das Tasten-Queu-Flag löscht - damit könnte man evtl. eine 
festgehaltene Taste erkennen.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren