Ich klemme die Taster immer über Dioden an die Leitungen, die deine
Transistoren ansteuern. Die "andere Seite der Taster" lasse ich immer
an einen Port laufen.
Nun kannst du sofort in einem Interrupt die Taster auslese. Mal
angenommen, du hast eine Zeilenfrequenz von 64 Hertz, dann wird jeder
Taster alle 15,6ms ausgelesen. Ist er beim ersten Fragen noch am
Prellen, so kann er entweder offen oder geschlossen sein. In beiden
Fällen ist dies kein Problm, da er spätestens nach 31ms, wenn er das
nächste mal ausgelesen wird, definitiv geschlossen oder offen ist.
Da ich bisher noch keinen Taster hatte, der langsamer prellt kannst du
das Prellen von Tastern im Matrixbetrieb eigentlich ausschließen. Und
bedenke : Nicht auf die Timerfrequenz kommt es an, sondern auf die
Frequenz mit der du effektiv deine Taster ausliest. Ich mache dies
immer so (schon 3 Projekte mit Matrixgesteuerten 7-Segment Anzeigen)
und habe noch nie Prell-Probleme gehabt.
Du kannst dir in der Codesammlung mal meinen Belichter anschauen - der
funktioniert genau nach dem Prinzip einwandfrei. ("Selbstbau
Belichtungsgerät" oder "Belichter" oder so ähnlich)