Matrix 3x7 Auswerten / AtMega 8515

Gast #1906333
Hallo,

Ich habe hier ein 7x3 Tasten-Matrix die ich gerne über meinen AtMega 
auswerten lassen will.

Das Prinzip der Tasten-Matrix ist mir klar, die 7 Zeilen mit je 3 Tasten 
sind über 10K an VCC verbunden und sitzen an PC0-7

Die 3 Spalten sitzen an PB0 - PB2 und ziehen jeweils den Pegel auf "+5V" 
wenn eine der Tasten in der Spalte gedrückt wird.

Wie kann ich denn nun die Tastenmatrix bequem in C auswerten?

Hab bereits mit dem Code schon angefangen, aber komm leider nicht mehr 
weiter..

Soll ich mit einem Timer Arbeiten? Evtl. mit Interupts?

Danke!
1
#include <stdlib.h>
2
#include <avr/io.h>
3
#include "lcd_lib.h"
4

5
#define KEY_COL0 PORTB2
6
#define KEY_COL1 PORTB1
7
#define KEY_COL2 PORTB0
8
#define KEY_ROW0 PORTC0
9
#define KEY_ROW1 PORTC1
10
#define KEY_ROW2 PORTC2
11
#define KEY_ROW3 PORTC3
12
#define KEY_ROW4 PORTC4
13
#define KEY_ROW5 PORTC5
14
#define KEY_ROW6 PORTC6
15
#define KEY_ROW7 PORTC7
16

17

18
void init_keypad(void)
19
{
20
  // PC0 - 7 / Zeilen
21
  // PB0 - 2 / Reihen
22

23
  DDRC = 0xff; // PC0-7 Ausgänge
24
  DDRB &= ~ ( (1<<DDB0) | (1 << DDB1) | (1 << DDB2)); // PB 0 - 2 Als Eingänge setzen;
25
  PORTB |= (1<< PB0) | (1<< PB1) | (1<<PB2);
26
}

Ab hier komm ich leider nicht mehr weiter!
Gast
Hallo Peter,

Vielen dank, werd das auf jedenfall ausprobieren, ich denke mal aufgrund 
der Abläufe wird wohl eine Interupt Routine am einfachsten sein?

Daniel
Gast
Mir fehlts jetzt leider an dem Verständnis der Auswertung der Zeilen und 
Zahlen...

Kann mir das jemand genauer Erläutern?

Ich habe 3 Spalten mit 7 Zeilen..

Danke :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.