Alle mechanischen Kontakte, sei es von Schaltern, Tastern oder auch von
Relais, haben die unangenehme Eigenschaft zu prellen. Dies bedeutet, dass beim
Schliessen des Kontaktes derselbe nicht direkt Kontakt herstellt, sondern
mehrfach ein- und ausschaltet bis zum endgültigen Herstellen des Kontaktes.
Soll nun mit einem schnellen Microcontroller gezählt werden, wie oft ein
solcher Kontakt geschaltet wird, dann haben wir ein Problem, weil das Prellen
als mehrfache Impulse gezählt wird.
Diese Übung soll dazu helfen, das Prellen von mechanischen Tastern zu untersuchen.
Für den Aufbau der Testschaltung benötigen wir nebst dem Experimentierboard mit eingesetztem AVR Controller folgende Bauteile:
Der Taster wird von Pin 0 von Port D nach Masse angeschlossen. Durch die Verwendung des internen Pull-Up Widerstandes brauchen wir nicht mal einen extern Widerstand.
Die LED's werden an Port B angeschlossen, von Pin 0 an aufwärts bis je nach Anzahl LED's.
Es soll nun ein Programm entwickelt werden, welches die Anzahl
Tastendrucke zählt und das Ergebnis in binärer Form auf die Leuchtdioden
ausgibt.
Versuche, das Programm vorerst alleine zu entwickeln.
Hier ist das Makefile und die zugehörige C-Quelldatei.