5x5 Tastaturmatrix und es wir nur Müll eingelesen

Gast #176624
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
Angehängte Dateien:
Gast #176625
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
Gast #176626
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.