www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 5x5 Tastaturmatrix und es wir nur Müll eingelesen


Autor: Friedrich (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mich mit einem AT90S8515 einem STK500 versucht eine
Tastaturmatrix 5x5 zu bauen.

Die Matrix habe ich ohne weitere Bauteile zwischen Port A und Port B.

Den Quellcode habe ich mal angängt. Der ist fast genauso im Buch
Bascom.AVR Beschrieben.

Nun wenn ich eine Taste drücke bekomme ich jedesmal eine andere
Ausgabe.

Kann es sein das die I/O Pins falsch konfiguriert sind oder das
benachbarte Pins da unsinn machen?

Wenn es nicht am Quellcode liegt, kann es ja auch an meiner Hardware
liegen. Wie lange darf ein Flachbandkabel sein damit die Matrix noch
erkannt wird (übersprechen) ich habe die Tastaur ca 40cm abgesetzt.

Tia jetzt bin ich doch etwas ratlos.

Vielleicht hat ja jemand ne idee oder schon mal so ein Problem gehabt.
Bin für jede idee dankbar wie ich das eingrenzen kann.

Grüße Friedrich

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei ner Matrix müssen alle Ausgänge auf Low bleiben und nur das
Direction-Bit darf umgeschaltet werden.
Sonst kommt es bei mehreren gedrückten Tasten zu Datenkämpfen.


Ob das Programm funktionell richtig ist, kann ich nicht sagen, ich kann
kein Basic, nur Assembler und C.


Peter

Autor: Friedrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

habe den Fehler gerade selber gefunden. War eine falsche Schreibweise
hatte ein $ statt dem benötigten & geschrieben

Falsch:    Portb = $b00011111
Richtig:     Portb = &b00011111

Also kein Hardwarefehler.

Zu einem Tastenkampf kommt es nicht da die hochwertigste Taste gewinnt.
Also die zuletzt geprüfte gedrückte hat dann gewonnen.

Mir wäre es auch lieber wenn ich jede Taste genau identifizieren könnte
die gedrückt ist. Bei einer Matrix lassen sich, ab einer bestimmten
Menge, die Tasten ja nicht mehr unterscheiden.

Grüße Friedrich

Autor: Erich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,
kann man dein Programm Get8Key4 auch für eine 3x4 Matrixtastatur
benutzen?

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn bei einer Tastaturmatrix immer alle Tasten erkannt werden sollen,
darf jede Taste nur über eine Diode den Schnittpunkt in der Matrix
schalten. Dann ist Eindeutigkeit gewährt.

Autor: Erich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, aber dies ist doch bei einer fertigen Matrixtastatur gar nicht
möglich, oder?

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.