Tasterabfrage mit mega16

OP #3257119
Lesenswert?
• ▲
▼
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
}

Antwort schreiben

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.

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.