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.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.