radzio.dxp.pl |
|
Menu Wyświetlacze LCD Układy peryferyjne Programy dla PC Projekty Mikrokontrolery AVR
|
Gdy typowa klawiatura przestaje wystarczać...
Dane pomiędzy klawiaturą i komputerem przesyłane są dwuprzewodowym interfejsem synchronicznym (linie CLK i DATA). Przy transmisji danych z klawiatury przebieg zegarowy na linii CLK generuje klawiatura. Jego częstotliwość zawiera się pomiędzy 20 a 30 kHz (częstotliwość nie jest ustandaryzowana). Ramka danych składa się z bitu startu, 8 bitów danych, bitu parzystości oraz bitu stopu. Przebiegi na liniach DATA i CLK podczas transmisji danych z klawiatury :
Odczyt danych najprościej zrealizować w przerwaniu od opadającego zbocza na linii CLK. Schemat podłączenia klawiatury do mikrokontrolera :
Przykładowy program odczytujący kod wciśniętego klawisza przeznaczony jest dla mikrokontrolerów AVR (ATMega16). Funkcja getATkbd oczekuje na pojawienie się w buforze nowego kodu klawisza. Należy zwrócić uwagę, że odczytywany jest kod klawisza, a nie kod ASCII. W celu uzyskania kodu ASCII należy dokonać konwersji. Najprościej do tego celu wykorzystać tablicę zawierającą kody ASCII uporządkowane wg kodów klawiszy (kod klawisza jest indeksem tablicy wskazującym na odpowiadający mu kod ASCII). Pobierz pliki :
|
(c) Radosław Kwiecień |