4x4 Matrix-Tastatur am AVR =========================== PB4 PB5 PB6 PB7 | | | | | | | | PB0----T-----T-----T-----T--10k--VCC | | | | PB1----T-----T-----T-----T--10k--VCC | | | | PB2----T-----T-----T-----T--10k--VCC | | | | PB3----T-----T-----T-----T--10k--VCC "T" bedeutet, dass die kreuzenden Leitungen über einen Taster verbunden sind. PB0-3 sind Eingänge mit externen Pullups (man könnte stattdessen natürlich auch die internen verwenden). PB4-PB7 sind auch als Eingang geschaltet, ohne internen Pullup. Um jetzt z.B. die 2. Spalte auszulesen, wird im Richtungsregister Bit 5 gesetzt, PB5 wird damit zum Ausgang. Wenn man jetzt PB0-PB3 einliest, bekommt man die Tastenzustände der 2. Spalte: für einen geschlossenen Taster eine 0, für einen offenen eine 1.