Diody są potrzebne aby można było naciskać wszystkie przyciski na klawiaturze jednocześnie.
Proszę zauważyć co stanie i jakie stany wierszy będzie "widział" mikroprocesor dla klawiatury bez diod (multipleksowane kolumny) gdy naciśnięte zostaną wszystkie przyciski w tym samym wierszu, A co stanie się gdy razem z już naciśniętymi naciśnięty zostanie przycisk z sąsiedniego wiersza w dowolnej kolumnie?
[ Dodano: 2011-01-22, 18:21 ]
Dla "wystawionej" masy na multipleksowanej kolumnie PORTB.0 jednoczesna naciśnięcie przycisków S1, S2, S3 w wierszu PORTC.2 i przycisku S5 w wierszu PORTC.3 będzie prawidłowo "widziane" przez mikrokontroler na liniach wierszy (oba wiersze "ściągnięte" do masy, S1, S5 naciśnięte). Natomiast dla "wystawionej" masy na multipleksowanej kolumnie PORTC.1 mikroprocesor będzie "widział" przekłamaną informację że naciśnięto przyciski S2 i S6. Przycisku S6 przecież nie naciśnięto. Analogiczna sytuacja będzie dla kolumny PORTC.0. Dlaczego tak się dzieje ilustruje załączony rysunek. Czerwone strzałki obrazują rozpływ prądów dla dla "wystawionej" masy na multipleksowanej kolumnie PORTC.1. Problem przestanie istnieć gdy zostanie wstawiona dioda w miejscu niebieskiego okręgu (w praktyce tak dioda musi występować przy każdym przycisku). Zastosowanie diod jest więc konieczne.