Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Idea działania matrycy przyciskowej.

17 Maj 2007 11:48 1173 3
  • Poziom 26  
    Witam serdecznie,

    Chciałbym zapytać jaka jest idea/zasada poniższej matrycy przyciskowej widocznej na obrazku poniżej (po prawej stronie):
    Idea działania matrycy przyciskowej.

    Otóż porty P00-P07 mają pull-up'y do Vcc (5V) i z nimi krzyżują sie pozostałe porty, tak że jak naciskamy przycisk to dwa porty są zwierane ze sobą :?: co wygląda dość dziwnie.

    Sam nie mogę wpaść na zasadę jej działania, toteż proszę o pomoc osoby znające się w tej sprawie/które budowały podobną matrycę przełączników.

    Z góry serdecznie dziękuję i pozdrawiam.
    Kubbaz.
  • Pomocny post
    Poziom 23  
    To typowe rozwiązanie klawiatury matrycowej. Porty P0-P7 mają pull-upy ponieważ procek sekwencyjnie wystawia na kolejne linie stan niski. Są to linie portu, które traktujemy jako wyjściowe. Załóżmy teraz, że na linii P00 procesor ustawił stan L. W związku z tym na katodach diod klawiszy 0-7, 64-71 i 128 mamy stan niski. Jeżeli nastąpi zwarcie styków któregokolwiek z powyższych przycisków to na odpowiedniej linii pionowej - wejściowej (P10-17, 20-27 lub 37) pojawi się stan niski. Procek ustawia zawsze tylko na jednej z 8 lini "wyjściowych" stan niski. Jako, że wiadomo na którą linię wystawiono stan L, to wykrycie takiego stanu na którejkolwiek linii "wejściowej" daje jednoznaczną informację o numerze wciśniętego klawisza/klawiszy.
    Biorąc pod uwagę kierunek włączenia diod i podciągnięcie rezystorów do Vcc jest to logiczne rozumowanie. Chociaż przyznaję, że na pierwszy rzut oka wyglądało to wręcz odwrotnie - linie P0-7 wydawały się być wejściowymi - te rezystory... Jednak kierunek włączenia diod musiałby być wtedy przeciwny.
    Pzdr.
  • Pomocny post
    Poziom 19  
    Nie ma w tym nic dziwnego, po prostu standardowa klawiatura matrycowa.
    W tym układzie klawiatury port P0 pracuje jako wyjście, a porty P1 i P2 i P3.7 jako wejścia. Zasada odczytu jest następująca:
    - Ustaw "0" na linii P0.0, pozostałe linie P0 na "1";
    - Odczytaj stan portów P1 i P2 i P3.7. "0" na linii portu oznacza naciśnięty przycisk (odpowiednio 64-71, 0-7 i 128), "1" przycisk zwolniony.
    - Ustaw "0" na linii P0.1, pozostałe linie P0 na "1";
    - Odczytaj stan portów P1 i P2 i P3.7. "0" na linii portu oznacza naciśnięty przycisk (odpowiednio 72-79, 8-15 i 129), "1" przycisk zwolniony.
    ... i tak po kolei wszystkie linie P0.

    Diody w szeregu z przyciskami eliminują błędne odczyty przy naciśnięciu kilku przycisków.

    Pozdrawiam,
    Jacek

    ps. widzę że zostałem wyprzedzony w wyjaśnieniach, ale może moje wypociny też coś rozjaśnią ;-)