Es müßte eigentlich auch mit einem Pin gehen:
An jeden Kontakt hängt man ein RC-Glied mit jeweils doppelter
Zeitkonstante, wie beim Vorgänger.
Zum Auslesen der Schalterstellung legt man zunächst den Port wenigstens
10 * T der längsten Zeitkonstante auf Null, um alle Kondensatoren zu
entladen und setzt den Zähler auf 0.
Dann setzt man den Port auf 1 und liest ihn nach einer Verzögerung, die
der kürzesten Zeitkonstante entspricht, ein und inkrementiert den
Zähler. (Der Port muß dabei jeweils umprogammiert werden.) Das wird
wiederholt, bis eine 1 erkannt wird, oder die maximale Anzahl Tests
durchlaufen ist.
Dann steht im Zähler das Bitmuster, das der gedrückten Tastenkombination
entspricht.
Ich habs allerdings noch nicht ausprobiert, aber es wäre interessant zu
wissen, wieviele Taster man mit der Methode unterscheiden kann.