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

Jak komputer rozpoznaje wciśnięte klawisze na klawiaturze?

piroaa 25 Lut 2006 17:04 11414 14
REKLAMA
  • #1 2346843
    piroaa
    Poziom 11  
    Posty: 81
    Ocena: 2
    zastanawiał sie ktoś kiedyś jak działa klawiatura no bo tak przycisków na niej coniemiara a ten kabelek co z niej wychodzi ma tylko pare żył i z kąd niby komputer wie jaki ja guzik wcisnołem ?? jeśli by ktoś wiedział ja to działa i chciało by mu sie to tłumaczyć to był bym wdzięczny
    (prosił bym o łopatologiczyn sposób udzielania odpowiedzi):D
  • REKLAMA
  • #2 2346865
    Pi-Vo
    Poziom 37  
    Posty: 3020
    Pomógł: 319
    Ocena: 207
    W klawiaturze jest kontroler zgodny z Intel 8042 i realizuje prosty program sprawdzania stanu przycisków.Wynik przesyła w opstaci szeregowej do komputera.Każdy klawisz ma swój kod i kontroler na płycie głównej który jest "zaszyty" w chipsecie odczytuje ten kod.Dzięki szeregowej transmisji danych o stanie klawiszy klawiatura jest podłączona 4 przewodami gdzie
    1.Masa
    2.+5V do zasilania
    3.Clock ,czyli zegar do synchronizacji
    4.Data ,czyli dane o naciskanych klawiszach
    http://www.hardwarebook.net/connector/userinput/keyboardpc5.html
  • REKLAMA
  • #3 2346869
    crazy_88
    Poziom 42  
    Posty: 7929
    Pomógł: 1008
    Ocena: 166
    zasada jest prosta jest w niej wbudowana plytka ktora reaguje na dotykanie klawiszy i wszystko jest przesylane na komputer
  • #4 2347117
    piroaa
    Poziom 11  
    Posty: 81
    Ocena: 2
    czyli tak jeśli dobrze zrozumiałem procesor w klawiaturze po wciśnięciu guzika generuje kod a potem ten kod wędruje po kabelku do komputera i on sobie poruwnuje co do niego przyszło i z tąd wie jaki guzik wcisnołem tak:?:
  • REKLAMA
  • #5 2347187
    Piotrek.pxf
    Poziom 27  
    Posty: 806
    Pomógł: 118
    Ocena: 65
    Dokładnie, dlatego dane (czyli ten kod klawisza) mogą być przesyłane jednym przewodem (szeregowo), a nie tyloma ile jest przycisków na klawiaturze.
  • #6 2348070
    piroaa
    Poziom 11  
    Posty: 81
    Ocena: 2
    zapytam o coś jeszcze czy jest możliwość odwrucenia tego procesu czyli żeby zrobić tak żeby to komputer wysyłał sygnał a potem procesor rozpoznawał co oznacza ten kod i włanczał napięcie na odbiorniku??
  • REKLAMA
  • #7 2348095
    TWK
    Specjalista elektryk
    Posty: 2326
    Pomógł: 220
    Ocena: 510
    piroaa napisał:
    zapytam o coś jeszcze czy jest możliwość odwrucenia tego procesu czyli żeby zrobić tak żeby to komputer wysyłał sygnał a potem procesor rozpoznawał co oznacza ten kod i włanczał napięcie na odbiorniku??
    Transmisja w drugą stronę jest możliwa. Np. zapalają się diody na klawiaturze.
  • #8 2348128
    piroaa
    Poziom 11  
    Posty: 81
    Ocena: 2
    ale diody są tylko 3 a ja bym chciał tak zrobić żeby diody podłączyć zamiast przycisków??
  • #9 2348162
    TWK
    Specjalista elektryk
    Posty: 2326
    Pomógł: 220
    Ocena: 510
    piroaa napisał:
    ale diody są tylko 3 a ja bym chciał tak zrobić żeby diody podłączyć zamiast przycisków??
    A teraz to ja nie rozumiem, co chcesz zrobić. Opis protokółu klawiatury jest w książce T. Jabłońskiego "Mikrokontrolery PIC16F8x". To są jakieś 3 strony. A jak chcesz sterować diodami z komputera, to lepiej zmajstrować jakiś układ na LPT. Był taki opisany daaawno w EdW.
  • #10 2348977
    piroaa
    Poziom 11  
    Posty: 81
    Ocena: 2
    chciałem opis działania klawiatury bo muyslałem że skoro można w jedną strone to może można w drugą :D ale widać nie no co do LPT to lipa bo tam można sterować tylko ośmioma pinami :cry: a mi potrzeba znacznie więcej a do książki też zaiże dzięki za podanie tytułu może będzie w bibliotece
  • #11 2349099
    luki55
    Poziom 20  
    Posty: 520
    Pomógł: 15
    Ocena: 39
    Witam:)
    Posiadam sterownik z klawiatury...scalak jest opisany tak:
    S22CB9409
    OLE717
    EF680U3P
    MALTA CS3W
    MOże ktos wie gdzie znaleźć note katalogowa do tego sterownika...acha ...on jest produkcji ST Thomson...
    Na elenocie sprawdzałem ale nie doszukałem się....
    Pozdrawiam
  • #12 2349118
    Piotrek.pxf
    Poziom 27  
    Posty: 806
    Pomógł: 118
    Ocena: 65
    piroaa:
    Przy zastosowaniu specjalnych układów (demultiplekserów) można sterować rozłożyć te 8 pinów z LPT na np. 256 - a to już chyba wynik zadowalający ciebie. Oczywiście będziesz musiał do tego napisać odpowiedni program na PC. Warto, żebyś poczytał trochę o demultilpekserach i multiplekserach. Warto zajrzeć również tutaj, lub poszukać na elektrodzie.
    LPT jest chyba najprostszym i najbardziej odpowiednim portem w komputerze do twojego pomysłu. Czy umiesz programować i w jakim języku?
  • #13 2350005
    piroaa
    Poziom 11  
    Posty: 81
    Ocena: 2
    taki program do sterowania LPT to żaden problem jest już mam taki napiasny w delphi :D tylko te 8 pinów to było troche mało ale skoro sie da je przerobić na 255 to super dzięki za pomoc
    ps. jak by ktoś potrzebował taki program do sterowania LPT pod delphi to chętnie podeśle a to mój adres kontaktowy piroaa(_at_)o2.pl (tylko jakiś sensowny temat dać bo inaczej pewnie wogule nie przeczytam ):D
  • Pomocny post
    #14 2350192
    Piotrek.pxf
    Poziom 27  
    Posty: 806
    Pomógł: 118
    Ocena: 65
    Oczywiście te 256 (i więcej) to można uzyskać przy połączeniu kilku układów. Poza tym można się dobrać do sąsiednich rejestrów w LPT i uzyska się więcej pinów wyjściowych, ale programowanie robi się bardziej skomplikowane (chociaż przy demultipleksowaniu to może być korzystne). Piny LPT pokazane na obrazku poniżej. A możesz napisać, jakie urządzenie konkretnie planujesz zbudować, może ktoś od razu będzie miał gotowy układ lub więcej osób ci pomoże.
    Co do programu, to ja jestem raczej od Visual Basic i w tym języku mogę pomóc.

    • Jak komputer rozpoznaje wciśnięte klawisze na klawiaturze?
  • #15 2352725
    piroaa
    Poziom 11  
    Posty: 81
    Ocena: 2
    co do programu to ja mam już z głowy :D a co do użądzenia to ma być sterowanie światłem w domu jak nikogo nie ma, taki cwany trik na złodzieja
    a i jeszcze jedna żecz ma ktoś może adresy stronek gdzie jest opisane coś więcej o tych demultiplekserach bo mi nie udało się nic ciekawego znaleść

Podsumowanie tematu

LABEL_AI_GENERATED
Klawiatura komputerowa działa dzięki wbudowanemu kontrolerowi zgodnemu z Intel 8042, który skanuje stan przycisków i generuje unikalne kody klawiszy. Dane te są przesyłane do komputera za pomocą transmisji szeregowej przez cztery przewody: masa, +5V, zegar (clock) i linia danych (data). Komputer odczytuje kody klawiszy za pomocą kontrolera na płycie głównej, co pozwala na identyfikację wciśniętych klawiszy mimo ograniczonej liczby przewodów. Transmisja dwukierunkowa jest możliwa, co wykorzystuje się np. do sterowania diodami LED na klawiaturze. W dyskusji poruszono także temat rozszerzenia liczby sterowanych linii sygnałowych poprzez zastosowanie multiplekserów i demultiplekserów, co umożliwia rozbudowę portu LPT z 8 do nawet 256 pinów, wymagając jednak odpowiedniego oprogramowania. Przykładowe zastosowanie takiego sterowania to automatyczne włączanie światła w domu. Wspomniano również o scalaku sterownika klawiatury S22CB9409 produkcji ST Thomson oraz o literaturze dotyczącej protokołu klawiatury, np. książce T. Jabłońskiego "Mikrokontrolery PIC16F8x".
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA