1. CEL ĆWICZENIA .
Celem ćwiczenia jest zapoznanie się z budową myszki, z jej zasadą działania oraz programowaniem za pomocą wybranych funkcji przerwania 33h BIOS’u .
2. WSTĘP TEORETYCZNY .
Mysz, urządzenie, które służy do komunikacji użytkownika z komputerem. W wielu przypadkach pozwala zastąpić klawiaturę, często jego użycie jest znacznie wygodniejsze. Myszy rozpowszechniły się wraz z powstaniem graficznych interfejsów w systemach operacyjnych. Urządzenie składa się z plastikowej obudowy, wewnątrz której znajduje się kulka obracająca się wraz z przesuwaniem myszy po powierzchni biurka. Na obudowie znajdują się dwa lub trzy przyciski, nowoczesne myszy są również wyposażone w pokrętło (jedno lub więcej) służące do przewijania długich dokumentów (np. stron WWW).
Myszka komunikuje się z komputerem za pomocą portu szeregowego. Znane są co prawda myszki współpracujące z kartą dedykowaną do ich obsługi (jest to rozwiązanie archaiczne), ewentualnie z kartami sterowników graficznych (rozwiązanie firmy ATI), jednak przeważająca większość myszek używa portu szeregowego.
Starsze wersje korzystały dodatkowo z przewodu klawiatury, ale wyłącznie dla zasilania swoich układów elektronicznych. Obecnie technologia CMOS pozwala na zastosowanie układów pobierających tak małą moc, że możliwe jest zasilanie myszki z wyjść portu szeregowego (napięciami ± 12 V).
MINIKONTROLER /
DEKODER IMPULSÓW LELKTRYCZNYCH
OPTOMECHANICZNY PRZETWORNIK RUCHU NA IMPULSY ELEKTRYCZNE
UKŁAD
WZM.
INTERFEJS SZEREGOWY
KLAWIATURA
MYSZKI
STEROWNIK MYSZKI
/DRIVER/
2.2. PRZETWORNIK RUCHU NA IMPULSY ELEKTRYCZNE .
2.3. STEROWNIK MYSZKI (DRIVER) .
Za obsługę sygnałów przychodzących od myszki odpowiedzialny jest specjalny program obsługi zwany sterownikiem myszki.
Obsługa programowa myszek jest podobna. Możliwe jest wykorzystanie standardowego sterownika – programu obsługi myszki (ang. driver), dostarczonego razem z systemem operacyjnym DOS, o nazwie MOUSE.SYS, lub MOUSE.COM. Jednak zasadniczo różnią się dwa podstawowe standardy myszki : pierwszy nosi nazwę Mouse System Mouse (myszka trzyklawiszowa), zaś drugi Microsoft Mouse (myszka dwuklawiszowa). Istnieją jeszcze rozwiązania niezgodne z powyższymi standardami, ale są one coraz rzadziej stosowane.
Do obsługi myszki należy raczej stosować programy dostarczone razem z nią, ewentualnie z jej standardem. Niemniej jednak, niezależnie od samego sprzętu i sposobu porozumiewania się myszki z pracującym dla niej sterownikiem, sposób jej obsługi programowej jest identyczny (sterownik myszki pełni rolę taką jak BIOS, tzn. pośredniczy pomiędzy różnymi rozwiązaniami sprzętowymi, a programami). Ponieważ większość myszek komunikuje się ze sterownikiem w taki sam sposób, może być obsługiwana przez taki sam sterownik. Większość z nich może pracować w obu standardach.
2.4. KLAWIATURA MYSZKI .
Poza układem przeniesienia ruchu ręki myszka posiada jeszcze dwa lub trzy przyciski, którym przyporządkowana jest funkcja “klawiaturowa”. Lewy przycisk odpowiada najczęściej za klawiszowi ENTER, zaś prawy klawiszowi ESC.
Klawisze te wykonane są z elastycznego tworzywa, przez co możliwe jest ich dociskanie do znajdujących się pod nimi mikroprzełączników. Po wciśnięciu klawisza myszki (mikroprzełącznika) generowany jest niskonapięciowy sygnał, który przesyłany jest do mikrokontrolera.
2.5. INTERFEJS SZEREGOWY .
Przetworzone w mikrokontrolerze sygnały z przetwornika ruchu i układu klawiatury przesyłane są do komputera poprzez port szeregowy. W porcie tym wykorzystywana jest jedynie linia danych tego portu, a pozostałe połączenia służą jedynie do zasilania układów myszki.
1. DCD - sygnalizacja przesyłu danych
2. RXD - odbiór danych
3. TXD - transmisja danych
4. DTR - sygnał gotowości do nadawania
5. GND - masa
6. DSR - wstawienie sygnału gotowości do odbioru danych
7. RTS - żądanie transmisji
8. CTS - sygnał kasowania transmisji
9. RI - wskaźnik pierścieniowy
2.6. MIKROKONTROLER – DEKODER IMPULSÓW ELEKTRYCZNYCH.
Umieszczone na obwodzie każdej z tarcz otworki podczas obrotu tarczy zasłaniają i odsłaniają światło z diody padające na fotoelement. Powoduje to generowanie ciągu impulsów elektrycznych o długości zależnej od przesunięcia myszki. Za dekodowanie tych impulsów odpowiedzialny jest mikrokontroler, którym zwykle jest układ Intel 80C48. Przetwarza on uprzednio wzmocnione sygnały z fotoelementów na postać cyfrową, które następnie przesyłane są do komputera poprzez port szeregowy. Do mikrokontrolera dociera również niskonapięciowy sygnał generowany po wciśnięciu klawisza myszki.
2.7. OBSŁUGA MYSZKI.
Przerwanie 33h.
Programowa obsługa myszki odbywa się poprzez przerwanie 33h (Mouse Support). Warunkiem działania tego przerwania jest załadowanie sterownika myszki. Program sterujący dostarczony do myszy instaluje własną procedurę obsługi przerwania 33h procedura ta dostarcza programiście wszystkie usługi potrzebne do wykorzystania myszki zawarte w 30 funkcjach obejmujących wszystkie możliwe opcje obsługi tego urządzenia wskazującego.
Parametry tej procedury umieszcza się podobnie jak przy przerwaniach DOS i BIOS, w odpowiednich rejestrach. Następnie wykonuje się procedurę i w razie potrzeby odczytuje się zwracane wartości z poszczególnych rejestrów.
2.8. FUNKCJE PRZERWANIA 33h MYSZKI.
FUNKCJA
OPIS
00h
01h
Wyświetlanie kursora myszki
02h
Ukrycie kursora myszki
03h
04h
Określenie pozycji kursora
05h
Określenie liczby naciśnięć przycisków
06h
Określenie liczby zwolnień przycisków
07h
Ustawienie zasięgu poziomego
08h
Ustawienie zasięgu pionowego
09h
Zdefiniowanie kształtu kursora graficznego myszki
0Ah
Zdefiniowanie maski kursora tekstowego myszki
0Bh
Określenie odległości ostatniego przesunięcia
0Ch
Instalacja filtru zdarzeń generowanych przez myszkę
0Dh
Włączenie emulacji pióra świetlnego
0Eh
Wyłączenie emulacji pióra świetlnego
0Fh
peter3