Współpraca klawiatura-Adapter klawiatury
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, 1 bit stopu), w takt impulsów zegarowych na lina i
CLK. Impulsy zegarowe na linii CLK są 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. Każde naciśnięcie i zwolnienie klawisza powoduje
wygenerowanie przez klawiaturę kodu klawisza zajmującego:
- przy naciśnięciu- 1 bajt
- przy zwolnieniu: 2 bajty (ang. Break Scan Code):
- pierwszy- FOh,
- drugi: Make Scan Code
Kody klawiszy przesyłane sa do adaptera, który je przekształca
tworząc "systemowy" kod klawisza (ang. System Scan Code) i
umieszcza ten kod w swoim buforze wyjściowym. Kiedy w buforze
wyjściowym jest gotowy do wystawienia na szynę we/wy bajt,
adapter wysterowuje linie IRQ1 generując przerwanie INT9
Współpraca prog w PAO-Adapter klawiatury(krótko jako BUFOR)
Współpraca bezpośrednia, na poziomie rejestrów adaptera, jest
dosyć uciążliwa, dlatego najczęściej programy korzystają z
odpowiednich funkcji (podprogramów) BlOSa lub systemu
operacyjnego. Kiedy adapter klawiatury ma w buforze wyjściowym
gotowy do wystawienia na szynę we/wy bajt, wysterowuje linie IRQ1,
powodując wejście do
podprogramu obsługi przerwania INT 9H. Podprogram ten pobiera z
bufora wyjściowego klawiatury systemowy kod klawisza,
przyporządkowuje mu kod znaku (np. ze zbioru ASCII) i umieszcza
taką parę bajtów w obszarze pamięci operacyjnej przeznaczonym na
bufor klawiatury. Program użytkowy może pobierać zawartość bufora
klawiatury korzystając z podprogramu obsługi przerwania INT 16H.
Podprogramy obsługi przerwań INT 9H i INT 16H są częścią BlOSa
1 mogą być wywołane rozkazem INT xxH. Przed wykonaniem rozkazu
INT 16H program powinien umieścić w rejestrze AH liczbę (nr funkcji)
określająca sposób wykonania operacji
Bufor klawiatury
w pamięci operacyjnej komputera jest wydzielony obszar do
współpracy z klawiatura. Komórki o adresach 0:417h i 0:418h
zawierają, bajty stanu klawiatury związane ze wskaźnikami i
klawiszami przełączającymi. Komórki 041Ah i 041Bh wskazują
początek bufora klawiatury, a komórki 0:4lCh i 041Dh - jego koniec.
Bufor klawiatury zaczyna się od adresu 0:41Eh i zajmuje 32 bajty.
Metody kreowania figur i znaków
-WEKTOROWA
Program kreślenia obrazu steruje odchylaniem strumienia elektronów
i natężeniem (Jasnością plamki). Do kreślenia obrazu używane są
rozkazy graficzne typu:
PKt(x,y,r,J) - "rysuj punkt bezwzględny".
WEK(x,y,r,J) "rysuj wektor bezwzględny",
PKT_VZCL(dx.dy,r,J) - "rysuj punkt względny",
WEK_WZGL(dx,dy,r, j) - "rysuj wektor względny",
x, y - współrzędne punktu lub końca wektora.
dx,dy w przyrosty współrzędnych punktu łub
końca wektora.
r - rodzaj linii, np. ciągła, przerywana, punktowa, osiowa
j - jasność wektora (punktu):
„1” - wektor (punkt) jasny (widoczny na ekranie).
„0" - wektor (punkt) ciemny (niewidoczny na ekranie.
W urządzeniu wykorzystującym metodę wektorowa, znaki
alfanumeryczne są równiejszy składane z wektorów. Zazwyczaj
konstruktor takiego urządzenia przewiduje układowa możliwość
generowania znaków o ustalonych rozmiarach. Do wyświetlania
takich znaków są rozkazy typu ZNAK(kzn, x,y), które powodują
wykreślenie znaku zadanego parametrem "kzn
ł
(kod znaku) w
miejscu ekranu wskazanym przez współrzędne "x" i "y". Znaki o
innych rozmiarach lub kształcie można było wykreślać korzystając z
rozkazów PKT(.), PKT_WZGL{.) WEK(..), WEX_WZGL(.. ).
-RASTROWA
Odchylaniem strumienia w poziomie i w pionie "zajmują się" układy
odchylania monitora synchronizowane przy pomocy impulsów
synchronizujących Hs i Vs generowanych przez adapter
monitora. W czasie tAp następuje wyświetlanie Unii, czyli punkty
obrazu, które mają by: widoczne, są rozjaśniane. W czasie naste; je
powrót strumienia w poziomie, na początek nowej linii. W tym czasie
następuje wygaszenie strumienia i pojawia się impuls synchronizacji
poziomej, t
H
wyznaczający początek nowej linii obrazu. Po
wykreśleniu obrazu do punktu Z następuje powrót strumienia w
pionie, na początek ekranu (lewy górny róg). Na czas powrotu
strumienia w pionie następuje jego wygaszanie - czas t7A. W tym
czasie pojawia się impuls synchronizacji pionowej, ty, wyznaczający
po cząstek nowego kadru. Częstotliwość odchylania pionowego
fy=(50..70)Hz nitka z konieczności uniknięcia migotania ekranu.
Częstotliwość odchylani poziomego, f
H
, zależy bezpośrednio od ilości
linii w kadrze. Ostrość obrazu uzyskiwanego na ekranie zale2y od
szerokości pasma przenoszenia wzmacniaczy wizyjnych.
-MOZAJKOWA
W metodzie mozajkowej obraz wykreślany jest sekwencyjnie, tzn.
przed pobudzeniem elementu E
ij
strumień elektronów przebiega
wszystkie elementy ekranu (piksele) położone przed elementem E.
niezależnie od tego czy mają być pobudzone, czy nie. Przy dołączeniu
do jednej elektrody "i" wszystkich elementów kolumny "i"
ekranu (podobnie dla wiersza „J"), element E. musi posiadać
właściwości pamiętające (tzn. po „J” przyłożeniu napięcia U, przez
czas "t" element powinien się włączyć i pozostać włączonym po
zdjęciu napięcia U.
Interfejs analogowy RGB
pozwala na przesyłanie praktycznie nieograniczonej ilości kolorów
(zależnej jedynie od rozdzielczości kolorowej ekranu monitora).
Sygnały analogowe na liniach video mają poziomy nie przekraczające
i V
p-p
. Sygnały synchronizujące Hs i Vs mają poziomy ok. 4 V
p-p
p i
polaryzację ujemną, Jeśli występują wraz z sygnałem video na linii G
lub ró2ną - jeśli są prowadzone oddzielnymi liniami (Hs,Vs - ujemne
przy 480 liniach obrazu; Hs - dodatni, Vs -ujemny - przy przy 350
liniach; Hs – ujemny, Vs - dodatni - przy 200 i 400 liniach obrazu -
polaryzacja i poziomy sygnałów synchronizujących są podawane w
opisach dostarczanych wraz z adapterem i monitorem).
DRUKARKA LASEROWA
Na światłoczułym bębnie drukarskim powstaje utajony obraz
drukowanego tekstu lub rysunku, składający się z linii, podobnie
Jak na ekranie monitora. Obraz ten tworzony jest przez strumień
lasera. Strumień lasera odchylany jest wzdłuż bębna przy
pomocy wirującego wielokątnego zwierciadła (np. 6-kątnego,
8-kątnego). Przed naświetleniem bębna drukarskiego strumieniem
lasera. Jego powierzchnia jest ładowana do ujemnego potencjału,
np. -600 V. Strumień lasera powoduje zmianę oporności warstwy
światłoczułej i w ten sposób rozładowuje punkty naświetlone do
potencjału wyższego, np. -100 V. Punkty nienaświetlone
zachowują potencjał -600 V. Przy przechodzeniu naświetlonej
powierzchni bębna przez zespół wywołujący, różnica potencjałów
pomiędzy naświetlonymi punktami bębna drukarskiego i
powierzchnia bębna wywołującego powoduje odrywanie się
cząstek barwnika (o ładunku ujemnym) od bębna wywołującego
i przyczepianie się do punktów o potencjale -100 V.
NATRYSKOWY CIĄGŁY
Mechanizmie natryskowym z ciągłym strumieniem barwnika krople
wyrzucane przez wyrzutnie przelatują przez elektrodę ładująca
w kształcie tulei, gdzie uzyskują ładunek elektryczny. Krople niosące
ładunek elektryczny są odchylane w polu elektrostatycznym
stosownie do kształtu rysowanego znaku.
NATRYSKOWY MOZAJKOWY
W czasie pracy barwnik w głowicy Jest podgrzewany i przechodzi
w stan płynny. Wyrzucanie kropli następuje wskutek wzrostu
temperatury barwnika: element grzejny po włączeniu powoduje
powstanie pęcherzyka w barwniku. Pęcherzyk pęka i wyrzuca
kroplę barwnika w stronę papieru. Barwnik krzepnie na papierze
(lub folii) o temperaturze pokojowej prawie natychmiast i wydruk
nie wymaga dodatkowego utrwalania. Pozostałość otoczki
pęcherzyka rozpuszcza się w nowo napływającym barwniku.
SCHEMAT BLOKOWY
Logika sterująca drukarki zbudowana jest na dwóch
mikroprocesorach. Procesor we/wy zapewnia współprace
z interfejsem CENTRONICS-, przyjmuje dane, interpretuje
linie sterujące, wysterowuje linie stanu. Procesor główny
steruje pracą całej drukarki: współpracuje z procesorem
We/wy, steruje przesuwem papieru, przesuwem głowicy
i igłami głowicy drukującej. Procesor ten sprawdza stan
czujników mechanizmu drukującego.
pulpit umożliwia przyłączenie lub odłączenie logiczne
drukarki (ON/OFF LINE), przesuw papieru do nowej linii
i przesuw papieru do nowej strony. Na pulpicie umieszczone
są także wskaźniki LED informujące o stanie drukarki, np.
READY (ON LINE), PAPER OUT.
Kodem sterującym drukarki drukarki będziemy nazywać
pojedynczy znak 8-bitowy, który powoduje wykonanie przez
drukarkę określonej funkcji, np.: CR (ODh) - powrót głowicy
do początku wiersza, LF (OAh) - wysuw papieru o jeden wiersz,
FF (OCh) - wysuw papieru do nowej strony (o Jedną stronę),
SP (20h) - wykonanie spacji,
HT (09h) - przesuw głowicy do kolejnego znacznika tabulacji
poziomej,
VT (OBh) - przesuw papieru do kolejnego znacznika tabulacji
pionowej.
Sekwencja sterująca składa się ze znaku ESC (lBh) i jednego
lub kilku znaków ze zbioru znaków alfanumerycznych i specjalnych.
W różnych typach drukarek występują ró2ne ilości kodów i sekwencji
sterujących, np.:
- w STAR NX~1500 - 127 kodów i sekwencji sterujących,
- w SEIKOSHA MP5300AI - 93 kody I sekwencje sterujące.
Zestawy sekwencji sterujących dla nowych typów drukarek są tak
opracowywane, aby obejmowały w niezmienionej formie sekwencje
już zdefiniowane wcześniej.
ESC @ (IB 40) - zerowanie - ustawia drukarkę w stan jak po
włączeniu zasilania.
ESC < (IB 3C) - powrót głowicy do lewego skrajnego położenia.
ESC C "n" (IB 43 n) - ustaw długość strony wydruku;
"n" - liczba oznaczająca ilość wierszy na stronę.
ESC E (IB 45) - ustaw druk wytłuszczony.
ESC F (IB 46) - kasuj druk wytłuszczony (powrót do druku
normalnego).
ESC Q (IB 30) - ustaw krok wysuwu papieru na 1/8 cala.
ESC 1 (IB 31) - ustaw krok wysuwu papieru na 7/72 cala.
ESC 3 (IB 33) - ustaw krok wysuwu papieru na 1/216 cala.
DRUKOWANIE WŁASNEGO OBRAZU
1.narysować obraz do wydruku na siatce właściwej dla ustawionego
trybu
2.zakodować poszczególne Jego bajty
3.przesłać do drukarki przy pomocy sekwencji sterującej
(1B 4B n1 n2.......................)
ESC K n1 n2 VI V2 V3.....Vk
DRUKOWANIE WŁASNEGO ZNAKU
1.narysować znak który chcemy zdefiniować na siatce
2.Zakodować kolumny k0...k10
3.przesłać do drukarki przy pomocy sekwencji sterującej
(1B 26 00 n m a k0 k1 ...... k10)
ESC & 0 n m a k0 k1 ...... k10
MYSZ OPTOMECHANICZNA
-Kulka dotykająca powierzchni biurka (stołu, podkładki) i tocząca się
wraz z ruchem myszy.
-Dwie rolki wewnątrz myszy dotykają kulki. Jedna z nich jest tak
zorientowana, że wykrywa ruch wzdłuż osi X, natomiast druga z nich
jest odwrócona w stosunku do pierwszej o 90o i wykrywa ruch wzdłuż
osi Y. Gdy toczy się kulka wówczas jedna lub obie z tych ruszają się
wraz z nią. Trzecia z rolek istniejących w każdej myszy nie ma nic
wspólnego z detekcją ruchu - odpowiada ona za dociskanie kulki do
pozostałych dwóch rolek. Poniższe zdjęcie ukazuje dwie rolki
odpowiadające za ruch.
-Każda z rolek jest podłączona do wałka, który obraca z kolei dyskiem
z umieszczonymi w nim dziurami. Kiedy rolka się obraca jej wałek i
dysk się kręcą.
-Po obu stronach dysku znajdują się: dioda emisyjna i czujnik
podczerwieni. Otwory w dysku pozwalają promieniowi światła na
przejście na drugą stronę natomiast łopatki go hamują. W ten sposób
czujnik podczerwieni widzi impulsy świetlne. Częstość tych impulsów
jest bezpośrednio związana z prędkością myszki i odległością, którą
ta pokonuje.
-Procesor znajdujący się w myszy odczytuje impulsy światła z
czujników podczerwieni i zmienia je w sygnał cyfrowy, zrozumiały dla
komputera. Chip ten przesyła dane do komputera przez kabelek
myszki.
Prawie wszystkie myszy używane w zastosowaniach domowych
posiadają taki optyczno - mechaniczny system. Dysk poruszany jest
mechanicznie natomiast system optyczny zlicza impulsy świetlne. Na
powyższych zdjęciach kulka ma 21 mm. średnicy. Rolka ma 7 mm.
średnicę, zaś dysk posiada 36 otworów. A zatem: jeżeli mysz poruszy
się o 25,4 mm. (1 cal) chip kodujący odbierze 41 impulsów
świetlnych.
Być może zauważyłeś, iż każdy dysk kodujący posiada po dwie pary
diód emisyjnych i diód fotoczułych - po jednej parze na każdą stronę
dysku (tak więc w myszy znajduje się 8 diód). Ten układ pozwala
procesorowi rozpoznać kierunek, w którym obraca się dysk (a co za
tym idzie - w którą przesuwa się mysz). Pomiędzy dyskiem a diodą
fotoczułą znajduje się dodatkowo kawałek plastiku z precyzyjnie
umieszczonym otworem w sobie (widoczny na jednym z powyższych
zdjęć). Ten kawałek plastiku tworzy okno, przez które "widzi" czujnik.
Okno po jednej stronie dysku znajduje się minimalnie wyżej niż po
drugiej - dokładnie dzieli je odległość połowy wysokości otworu w
dysku. Różnica ta powoduje, iż dwa sensory widzą impulsy światła w
minimalnie różnym czasie. Są momenty, kiedy jeden widzi impuls
natomiast drugi - nie.
Microsoft serial mouse jest najpopularniejszym typem myszy 2-
przyciskowej. Zazwyczaj wszystkie tanie myszy dostarczane z nowymi
komputerami są wzorowane na myszy Microsoftu - obsługiwanej
przez większość systemów operacyjnych.
PS/2(opis pinów)
1 Nieużywany
2 Napięcie 5V - zasila chipa i diody
3 Nieużywany
4 Zegar
5 Uziemienie
6 Dane
Za każdym razem kiedy mysz się porusza lub kiedy użytkownik kliknie
do komputera przesyłane są trzy bajty informacji. Osiem bitów
pierwszego bajtu zawiera następujące informacje:
1 Stan lewego przycisku (0 = zwolniony, 1 = wciśnięty)
2 Stan prawego przycisku (0 = zwolniony, 1 = wciśnięty)
3 0
4 1
5 Kierunek względem osi X (pozytywny lub negatywny, czyli przód lub
tył)
6 Kierunek względem osi Y (pozytywny lub negatywny, czyli przód lub
tył)
7 Przepełnienie X (mysz poruszyła się o więcej niż 255 impulsów w
ciągu 1/40-tej sekundy)
8 Przepełnienie Y (mysz poruszyła się o więcej niż 255 impulsów w
ciągu 1/40-tej sekundy)
(do tych 8 bitów trzeba jeszcze dodać bit startu, parzystości i stopu)