Kody sterujące i dane są przesyłane w obu kierunkach szeregowo na linii DATA w postaci 11-bitowych paczek (1 bit startu. 8 bitów kodu, 1 bit nieparzystości. i bit stopu), w takt impulsów zegarowych na linii CLK. Impulsy zegarowe na linii CLK aa generowane przez klawiaturę, niezależnie od kierunku przesyłania. Klawiatura może przesłać bajt do adaptera, o ile ten jej na to zezwoli ustawiając w odpowiedni stan linie CLK i DATA. CLK DATA Działanie klawiatury
"L"
Blokada klawiatury - kod nacisnietego klawisza Jest wpisywany do bufora FIFO
"H" "L" Adapter chce przesyłać kody sterujące do klawiatury - kod nacisnietego klawisza jest wpisywany do bufora FIFO
"H" "H" Klawiatura może przesyłać - zawartość bufora FIFO może byc przesłana do adaptera.
"L"(Low) - niski poziom TTL "H"(High)- wysoki poziom TTL
|
Narysować fragment schematu pokazującego dołączenie klawiszy do mikrokontrolera 8048 i na tej podstawie opisać, w jaki sposób mikrokontroler 8048 może rozpoznać, który klawisz został naciśnięty? Na podstawie ruchomego zera generowany jest scan code klawisza i jest wysyłany do adaptera w postaci 11 bitowej paczki (1bit - start ; 8bitów - dane ; 1bit - sprawdzenie nieparzystości ; 1bit - stop). Adapter •„zamienia”(?) scan code na systemowy kod klawisza, umieszczając go w pamięci operacyjnej •wysterowuje linie IRQ1, co powoduje wejście do podprogramu obsługi przerwania (generowane przerwanie INT9). Podprogram •przyporządkowuje do „systemowego kodu klawisza” znak ze zbioru ASCII i •umieszcza w obszarze pamięci operacyjnej przeznaczonym na 32 bajtowy bufor klawiatury (0:41Eh - 0:43Eh)
Jak rozpoznać, który klawisz został wciśnięty?
|
W jakiej postaci i kiedy klawiatura może przesłać do adaptera scan code naciśniętego klawisza? Gdy adapter zezwoli na to, ustawiając linie CLK i DATA na „High” - wysoki poziom TTL.
Dane są przesyłane w postaci 11bitowych paczek (1 bit startu, 8 bitów kodu, 1 bit nieparzysto |