Tasterabfrage mit mega16

OP #3257119
Hallo Zusammen,

ich möchte einer einfache Tasterabfrage (3x4 Matrixtastatur) mit dem 
mega16 realisieren. Am PC0 gebe ich ein Signal aus und am PC3/PC4 möchte 
ich den Zustand abfragen und daraufhin eine LED ein bzw. ausschalten 
(PD7).

Mein Problem, er macht es nicht. Am PC3 liegen 5V an und an PC4 0V 
(beides dauerhaft). Wenn ich die entsprechenden Tasten drücke ändern 
sich auch die Signale an PC3/4 dementsprechend, er verarbeitet es aber 
nicht.

Kann mir da jemand helfen? Gibt es bei dem mega16 noch irgendwas zu 
beachten, denn mit einem mega8 habe ich fast die gleiche Schaltung schon 
zum laufen gebracht?!
1
#include <avr/io.h>
2

3
#define Zeile1 PINC & (1 << 3)
4
#define Zeile2 PINC & (1 << 4)
5

6
int main(void)
7
{
8
  DDRC = (1 << DDC0)|(1 << DDC1)|(1 << DDC2);          // PC0,PC1,PC2 als Ausgang
9
  DDRD = (1 << DDD7);                      // PD7 als Ausgang
10
  DDRC &= ~ (1 << DDC3)|(1 << DDC4)|(1 << DDC4)|(1 << DDC4);  // PC3,PC4,PC5,PC6 als Eingang
11
  
12
    while(1)
13
    {
14
    PORTC |= (1 << 0);      //Spalte 1 on
15
        if ( Zeile1 )
16
        {
17
          PORTD |= (1 << 7);    //LED ein      
18
        }
19
        if ( Zeile2 )
20
        {
21
          PORTD &= ~(1 << 7);    //LED aus
22
    } 
23
    }
24
}
Gast #3257124
Chris B. schrieb:
> ich möchte einer einfache Tasterabfrage (3x4 Matrixtastatur) mit dem
> mega16 realisieren. Am PC0 gebe ich ein Signal aus und am PC3/PC4 möchte
> ich den Zustand abfragen

Abfrage eine 3x4 Matrix mit 3 Pins? Auf den Schaltplan bin ich gespannt.

Antwort schreiben

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