To zjawisko nie ma nic wspólnego z drganiami styków.
Spróbuj na spokojnie przeanalizować krok po kroku co program robi, a odpowiedz sama się nasunie.
Jeśli wciśnięty przycisk zmienia stan(np włącza); po 200ms znów sprawdza stan klawisza, znów jest wciśnięty więc znów zmienia stan na przeciwny(wyłącza) po następnych 200ms znów sprawdza, a że dalej wciśnięty to znów zmienia stan(włącza) i tak na okrągło 5 razy na sekundę sprawdza że wciśnięty i zmienia stan na przeciwny.Tak więc będzie dioda będzie zmieniać stan na przeciwny(migać) 5 razy na sekundę.
Aby to rozwiązać to tak na szybko należy np. sprawdzić czy klawisz wciśnięty; jeśli tak to poczekać np 20ms(czas drgania styków)i znów sprawdzić klawisz, tym razem jeśli puszczony to dopiero wtedy zmieniamy stan diody led.
Polecam ten artykuł:
http://mirekk36.blogspot.com/2012/10/ob ... w-cd2.htmlPowinien rozjaśnić ten temat