129
System obsługi przerwań sprzętowych
• Procesor przekazuje przez port 020h (Master) lub OAOh (Slave) pierwszy bajt inicjujący ICW1.
Bajt ICW1:
0 |
0 |
0 |
I |
bit 3 |
0 |
bit 1 |
hitO |
bit>' 7 4 0001, sygnatura rozkazu;
bit 3 jedynka oznacza wyzwalanie wejść IRQ poziomem napięcia,
zero - wyzwalanie zboczem (zmianą poziomu sygnału z 0 na 1 - ten tryb pracy jest powszechnie stosowany w PC).
bit 2 0;
bit 1 1 oznacza pojedynczy układ (XT), 0 - obecność kaskady
układów (AT lub PS/2);
bit 0 1 oznacza, że będzie wysłany bajt ICW4, 0 oznacza brak bajtu
ICW4.
• Procesor przekazuje przez port 02 lh (Master) lub OAlh (Slave) drugi bajt inicjujący ICW2.
Bajt 1CW2:
bit 7 |
bu 6 |
bit 5 |
bit 4 |
bit 3 |
0 |
0 |
0 |
bity 7 3 przemieszczenie (offset) wektora przerwali,
bity 2 0 000.
• Jeżeli w systemie obecne są dwa układy 8259A (decyduje o tym bil 1 bajtu 1CW1), procesor wysyła trzeci bajt inicjujący ICW3. Budowa tego bajtu jest różna dla układu Master i SIave.
Bajt ICW3 (Master):
bit 7 |
bit 6 |
bit 5 |
bil 4 |
bit 3 |
0 |
0 |
0 |
bity 7-0 jedynka na pozycji /? oznacza, że wejście n połączone jest
z wyjściem INT układu Slave. Zero na tej pozycji oznacza, że wejście n jest wolne lub połączono z obsługiwanym urządzeniem.
Bajt 1CW3 (Slave):
0 |
0 |
0 |
0 |
0 |
bit 2 |
bit 1 |
bit 0 |
00000;
bity 7-3