logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Klawiatura i2c 4x4 na jednym PCF8574

MES Mariusz 01 Sty 2010 11:40 5695 5
REKLAMA
  • #1 7466944
    MES Mariusz
    Poziom 36  
    Witam.

    Pod tym adresem znajduje się opis klawiatury 16 przyciskowej i2c wykonanej na dwóch układach PCF8574. Każdy przycisk podłączony jest do pojedynczej linii.

    Czy przez przypadek tego samego nie można uzyskać na jednym PCF8574 stosując matrycę 4x4 ? Istnieje jakieś rzeczowe uzasadnienie, dlaczego wykonano ją na dwóch układach?
  • REKLAMA
  • #2 7467016
    nsvinc
    Poziom 35  
    Nie ma zadnego uzasadnienia, dlaczego w tym projekcie polozyli dwa scalaki zamiast jednego...Chyba tak zostalo to zrobione, aby kod obslugujacy klawiaturę był prosty.

    Oczywiście mozna zrobic klawiaturę matrycową 4x4 na jednym scalaku, O ILE da się konfigurować pojedyncze piny portu expandera jako in lub out, niezaleznie od innych.

    Expander pcf8574 jest lipny - scalak jest stary, powolny i badziewny ogólnie...:) więc nie mam pojęcia czy poradzi sobie z matrycką 4x4. Na pewno expandery mcp23008/mcp23S08 i ich pochodne (-016,-S16,-017,-S17) sobie radzą z tym zagadnieniem wręcz cudownie :)
  • REKLAMA
  • #3 7467029
    Logi
    Poziom 19  
    W tym przykładzie klawiatura aktywuje przerwanie tylko w momencie naciśnięcia klawisza. Poza tym przypadkiem procesor w ogóle nie interesuje się klawiaturą.
    W przypadku matrycy prawdopodobnie klawiatura musiałaby być sprawdzana non-stop ze względu na kontrolę rząd-kolumna. Poza tym nie wiadomo jak czasowo by to się spisywało, czy nie gubiły by się krótko naciśnięte klawisze.
  • REKLAMA
  • #4 7467061
    nsvinc
    Poziom 35  
    >Logi

    Nie przesadzaj z tym gubieniem krótkich naciśnięć. Faktycznie, matrycę mikrokontroler musi przemiatać w kółko (najlepiej standardowo w przerwaniu timera). Ale zauwaz, ze zgubienie impulsu ponizej 10ms jest pozytywne (anty-drganie-styków), a po drugie, przy zegarze i2c 400kHz, i np. 200 bitach transmisji wymaganej do zasterowania expandera, masz nowe sample z klawiatury co 500us. Jeszcze procek musi się wyrobić z obsluga przerwania i reszta kodu - a TO juz jest trudniejsze zadanie, dobrze kod napisać.
  • REKLAMA
  • #5 7470600
    Konto nie istnieje
    Poziom 1  
  • #6 7471803
    sq6ade
    Poziom 40  
    nsvinc napisał:
    Oczywiście mozna zrobic klawiaturę matrycową 4x4 na jednym scalaku, O ILE da się konfigurować pojedyncze piny portu expandera jako in lub out, niezaleznie od innych.

    Expander pcf8574 jest lipny - scalak jest stary, powolny i badziewny ogólnie...:) więc nie mam pojęcia czy poradzi sobie z matrycką 4x4.


    Radzi sobie bardzo dobrze z 4*4. Jest fabrycznie aplikowany np. w panelach radioodtwarzaczy samochodowych w takim konfigu i to nawet bez użycia IRQ informującego o każdorazowej zmianie stanów wejść.
    Posiada wbudowany filtr wejściowy na portach więc odpada programowe filtrowanie drgań styków.
    Polecam.
REKLAMA