Störungen bei 4*4 Tastatur

Gast #111100
Lesenswert?

Ich habe einen mega128, und eine Tastenfeld mit 4*4 in verwendung.
Das Tastenfeld wird über 8pins an eine kleine Transistorschaltung, und
diese dann an den uC angeschlossen. Bei Versuchen, wo nur die Schlatung
und die Tastatur an den uC gehaengt waren, hat das ganze super
funktioniert. Doch nun habe ich eine komplette Platine entwickelt, und
die Tastatur funktioniert so gut wie überhaupt nicht mehr. Die externen
Interrupts werden zwar ausgelöst, jedoch liegt am Port, der die Tasten
einliest fast immer in falsches Ergebnis an.
was kann hier der Fehler sein? Mit softwaremäßiger Tastenentprellung
war nichts zu machen.
#111103
Lesenswert?

Also diese ominöse Transistorschaltung und Dein Programm kennt ja
keiner, wie soll da jemand helfen ???

Ich nehme immer die Standardschaltung, d.h. die Matrix direkt an
Portpins, die internen Pull-Ups aktiviert und dann im Timerinterrupt
abgetastet und entprellt, funktioniert astrein.

Ist hier doch alles schon 1000-mal durchgekaut worden und in der
Codesammlung gibts gute Beispiele dafür.


Peter
Gast #111104
Lesenswert?

Hi,

bastle auch gerade an einem Tastaturprogramm rum.
Hab wie Peter geschrieben hat ebenfalls die Taster direkt
an die Port Pins gehängt und Pull-Ups hinzugefügt. (3x4 Matrix)

Jetzt bin ich am grübel, wie ich diese Routine am elegantesten
Programmiere.

Zum Entprellen reicht es doch, wenn ich nach einem Tastendruck eine
kleine Wartezeit einfüge, oder?

Nur bin ich mir noch nicht im klaren, in welchem Zeitraster ich die
Tastatur abfragen soll. Jeder Schleifendurchgeng, ...?
Ihr habt was von Timerinterrupt geschrieben; ist dazu ein Interrupt
nötig?

Wäre da für ein erprobtes Chema dankbar. Hab in der Codesammlung
allerdings nichts so passendes gefunden.

Rainer
Gast #111106
Lesenswert?

Danke fuer eure Hinweise - das mit dem Entprellen hab ich jetz.. dabei
ist das Ganze aber etwas seltsam - ich muss, nach dem der externe
Interrupt ausgelöst wurde, ca 3ms warten, bevor ich den PORT einlesen
kann, vorher schwanken die Signalpegel herum - hab aber keine Ahnung
wieso.
Gast #111108
Lesenswert?

das is dann wohl "software" - mäßiges entprellen oder? ich hab ja ne
fertige platine.. und ich weiß echt nicht, warum die Signalpegel 1ms
nach dem Tastendtuck noch schwanken.
ich will jetz nichts mehr an der platine herumlöten - kann es vieleicht
sein das die Signalleitungen zu lang sind? ca 20cm
Gast #111109
Lesenswert?

weil das schwanken vielliehct genau das besagte prellen (auf- und
zuschwingen) des schalters ist? das warten iste ien lösung ganz sicher
aber nicht die beste. verwend mal die suche im forum mit stichworten
ala debounce oder entprellen

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