литература / Пухальский Проектирование микропроцессорных систем 2001
.pdf3.5. Контроллеры прерываний 8259А |
233 |
£>3 = B U F — задание буферированного (D3 = 1) и небуферированного (Z>3 = |
0) режимов; |
при £>3 = 1 вывод S P /E N становится выходом управляющего сигнала для приемопередатчика |
|
шины данных, который переводит его в Z-состояние при чтении информации |
из Р1С\ при |
£>з = 0 разряд М/S игнорируется; |
|
D4 = SFNM — задание специального режима полной вложенности.
При записи слова ICW\ автоматически производятся установки; сбрасывается в 0 схема, чувствительная к фронту сигнала IR, (E dge sense Latch — рис. 3.54); все разряды регистра мас ки IMR сбрасываются в 0 (прерывания по всем входам IR, разрешены); входу IR7 присваивается наименьший приоритет, а входу IR0 — наибольший приоритет; сбрасывается режим специаль ного маскирования и устанавливается состояние чтения регистра IRR (см. рис. 3.60). Если в слове ICWi разряд /С 4 = 0, то для PIC 8259А устанавливаются режимы, соответствующие зна чению слова ICW 4 = 00h (небуферированный режим, не автоматический конец прерывания, МП 8080/8085). После инициализации PIC готов к работе в режиме полной вложенности. Дос тоинством запроса прерывания по положительному фронту (LTIM = 0 в команде ICW i) являет ся то, что вход IR, может оставаться в состоянии 1, не генерируя повторного прерывания.
Если при поступлении первого импульса INTA |
|
Edge |
разряд ш м !СЩ |
запрос прерывания IRt = 0 (значение запроса IR, = 1 |
|
sense Latch |
|
было слишком малой длительности), то PIC 8259А по |
т |
|
на IRR |
умолчанию выдаст прерывание уровня 7 без установ |
|
|
|
ки состояния триггера T,SR 7 = 1 (LTIM - х). Байты |
|
|
|
вектора прерывания (a d d r или type) и сигналы на ли |
|
- Сброс при записи ICW\ |
|
ниях каскадирования CAS2-о будут соответствовать |
|
• Сброс при записи 1 » Т1 Ш |
|
уровню прерывания 7. Это может быть использовано |
|
р и с 3 54 Схема |
ения |
для обнаружения прерываний, вызванных помехами |
|
запросами прерывания |
|
на входах //?,. Для отработки помех ППОП может |
|
|
|
содержать единственную команду RET, игнорируя таким образом прерывание. Если запрос прерывания IRi необходим для других целей, то запрос от помех может быть обнаружен чтени ем регистра ISR с последующим анализом состояния триггера Тк к у.
П ри м еры и н и ц и али зац и и P IC . Будем полагать, что М П -система построена на основе МП 8085 и P IC 8259А по небуферированной схеме и требуется обеспечить запросы прерыва ний по фронту сигналов IRh т. е. в команде 1CW\ можно задать значение разряда D 0 = 0, чтобы не использовать команду ICW 4, и требуется задать значение разряда D3 = LTIM = 0.
П ример 1 . Пусть базовый адрес А вс = ЗА 60h, интервал адресов ААВс = 4 и используется один PIC, адреса портов которого равны F 8h (А0 = 0) и F9h (А0= 1). Из рис. 3.48 следует, что на PIC следует подать только два слова инициализации:
ICWi = 76ft = 0111 0110 (А7АбА5 = 011, LTIM - 0, ADI = 1, SNGL = 1 — см. рис. 3.49);
ICW 2 = ЗАh = 0011 |
1010 (см. рис. 3.50). |
||
Инициализация P IC выполняется программой: |
|||
MVI |
А, 76ft |
; А <— ICW i = 76ft |
|
OUT |
OF8/1 |
; Запись в PIC команды ICWi |
|
MVI |
А, ЗАh |
; А |
ICW i = ЗАЛ — старший байт базового адреса |
OUT |
0F9ft |
; Запись в PIC команды ICW 2 |
|
EI |
|
; Флаг IE I (прерывания разрешены; триггер INTE <— 1 в МП 8080) |
В результате входам 1R, будут соответствовать адреса addr = (ЗА60 + ■A)h команд CALL, читаемых МП из PIC. Обычно ППОП требуют объем памяти более четырех байт, поэтому по адресам a d d r могут быть записаны только трехбайтовые команды JM P AIR,, а четвертый байт либо не используется (указывается команда NOP), либо перед командой перехода используется однобайтовая команда из ППОП:
234 |
|
|
Глава 3. Интерфейсные БИС |
3A60 |
JM P |
AIR0 |
; Начало ППОП для входа IR0 |
3A63 |
NOP |
|
; Один байт не используется |
3A64 |
PUSH |
PSW |
; Начало ППОП для входа IR { |
3A65 |
JM P |
AIR1 |
|
3A68 |
El |
|
; Начало ППОП для входа IR2 |
3A69 |
JM P |
AIR2 |
|
3A6C |
JM P |
AIR3 |
; Начало ППОП для входа IR3 |
3A7C |
JM P |
AIR7 |
; Начало ППОП для входа /Я 7 |
AIR0: |
PUSH |
PSW |
; Продолжение ППОП для входа IR{ |
|
POP |
PSW |
|
|
El |
|
; Разрешение прерываний |
|
RET |
|
; Конец ППОП для входа IR0 |
AIR1: |
PUSH |
H |
; Продолжение ППОП для входа IR |
|
POP |
H |
|
|
POP |
PSW |
|
|
E l |
|
; Разрешение прерываний |
|
RET |
|
; Конец ППОП для входа //?[ |
AIR2: |
|
|
; Продолжение ППОП для входа IR2 |
Если в М П-системе используется несколько P IC (ведущий и ведомые), то вышеприведен ная программа инициализации должна выполняться для каждого P IC с различными базовыми адресами А вс и подачей команды инициализации /CW3 (см. рис. 3.51).
П рим ер 2. Для условий предыдущего примера выполнить инициализацию PIC в системе, изображенной на рис. 3.45, использовав непрерывные массивы адресов команд CALL и портов
PIC:
Авс = ЗА 60h, p o rt = F8h и F9h — для ведущего PIC (M aster — рис. 3.55),
А вс - ЗА80h, p o rt = FAh и FB/г — для ведомого А (Slave А — рис. 3.55), Аде = ЗААОh, p o rt = FCh и FD h — для ведомого В (Slave В — рис. 3.55).
На основании рис. 3.49 - 3.51 находим:
ICWx м = 74ft = 0 1 11 0100 (А1А 6А 5= 011, LTIM = 0, A D I = 1, SNGL = 0),
ICW 2м = ЗА/г = 0011 1010, /CW3 м = 48/г = 0100 1000;
IC W XА=9 4 / г = 1001 0100 (A1A bAs = 100, LTIM = 0, A D I = l,S N G L = 0 ) ,
ICW 2a = ЗА/г = 0011 1010, ICW 3 A = 03h = 0000 0011;
ICW\ в = В4/г = 1011 0100(А 7АбА5= 101,L77M = 0, A D I = 1,57VGL = 0),
ICW 2B = ЗАh = 0011 1010, ICW 3 в = 06h = 0000 0110.
Инициализация выполняется программой: |
|
|||
MVI |
А, 74/т |
; A <— ICWi M = 74h |
Инициализация M aster PIC |
|
OUT |
0F8h |
; Запись в PIC M aster команды IC W XM |
|
|
MVI |
А, ЗА/г ; A <— ICW 2M = ЗА/г |
|
||
OUT |
0F9h |
; Запись в P IC M aster команды ICW 2M |
|
|
MVI |
A, 48h |
; A |
ICW i м = 48/г |
|
OUT |
0F9h |
; Запись в PIC M aster команды ICW 3 M |
|
|
MVI |
A, 94h |
; A |
IC W XA = 94h |
Инициализация Slave A |
|
|
3.5. Контроллеры прерываний 8259А |
|
235 |
||
OUT |
OFAh |
Запись в P IC Slave Л команды ICW\ А |
AO |
8259 |
||
MVI |
А, ЗАh |
А <— ICW 2а = ЗА/г |
|
Aci' |
M aster |
|
OUT |
0FB h |
Запись в P IC Slave А команды ICW 2А |
|
|||
|
|
|||||
MVI |
A, 3 |
А <- ICW 3 а = 03/г |
|
АП |
8259 |
|
OUT |
0FB h |
Запись в PIC Slave А команды IC W t, а |
|
Slave A |
||
Aci’ |
||||||
MVI |
A, B4h |
А <—ICW \ в |
И нициализация Slave В |
|
|
|
OUT |
OFCh |
Запись в PIC Slave В команды IC W { в |
АП |
8259 |
||
MVI А, ЗА h |
А <—ICW 2в = ЗА/г |
|
CSFC Ac? |
Slave В |
||
|
|
|||||
OUT |
0FD h |
Запись в PIC Slave В команды ICW 2в |
|
|
||
MVI |
A, 6 |
А <- ICW 3 в = 06/г |
Рис. 3.55. Адресация PIC |
|
||
OUT |
OFD/г |
Запись в PIC Slave В команды ICW 3 в |
|
|
||
El |
|
Флаг IE <— 1 (прерывания разрешены; триггер INTE |
1 в МП 8080) |
|
||
Задание статуса уровней |
п ри ори тета. Форма задания статуса представляет собой при |
|||||
оритетное кольцо (рис. 3.56), положение которого |
по отношению к входам IR, определяет их |
уровни приоритета. Приоритетное кольцо можно вращать по отношению к входам /У?, коман дой OCW2. Самым высоким уровнем приоритета обладает вход //?,-, которому соответствует номер 0 приоритетного кольца (вход IR$ на рис. 3.56), а самым низким — вход IR, которому соответствует номер 7 приоритетного кольца (вход IR4 на рис. 3.56), называемый дном приори тетного кольца (ДПК). Присвоить ДПК любому входу IR, можно командой OCW 2 в процессе выполнения основной программы или ППОП.
По присвоению приоритетов PIC может рабо |
Жб |
IR-j |
IRQ |
Д?1 |
|
тать в трех режимах. |
|||||
|
|
|
|
||
1. Реж им полной влож енности. Входу IR0 при |
|
|
|
|
|
сваивается наивысший приоритет, а входу IR7 — |
|
|
|
|
|
самый низкий приоритет. Запрос прерывания IRj с |
|
|
|
|
|
более высоким приоритетом может прервать ППОП |
|
|
|
|
|
внешнего устройства с меньшим приоритетом. |
|
|
|
|
|
Прерванная ППОП будет продолжена по окончании |
Рис. 3.56. Приоритетное кольцо |
||||
выполнения ППОП внешнего устройства с боль |
|||||
шим приоритетом (после команды RET). Этот ре |
|
|
|
|
|
жим устанавливается сразу же после окончания инициализации PIC. |
|
|
|
||
2. Реж им циклического приоритет а. Приоритеты |
циклически |
сдвигаются |
командой |
OCW2, находящейся в конце ППОП, так что обслуженному I/Oj присваивается ДПК. Этот ре жим исключает возможность захвата МП одним внешним устройством, предоставляя всем I/O равные возможности по обслуживанию. Применение этого режима реш ает также проблему множества I/O, имеющих равный приоритет.
3. Реж им заданного приоритет а. Положение ДПК командой OCW 2 присваивается неко торому входу IRj в произвольные моменты времени в зависимости от потребностей главной программы или ППОП.
Каждый режим может быть видоизменен применением масок, которые задаются командой OCW[ и позволяют замаскировать любой вход //?, независимо от его приоритета.
У правлен и е работой P IC . Для задания операций и алгоритмов работы PIC предназначе ны слова команд операций OCW m(O peration Com m and Word), m = 1, 2, 3. В отличие от команд инициализации эти команды используются многократно как при выполнении ППОП, так и при выполнении основной программы.
Слово команды операции OCW i. Формат команды O C W : представлен на рис. 3.57: если Mi - 1, то запрос прерывания IR, фиксируется в регистре IRR, но прохождение его в схему PR блокируется. Как только маска будет снята (М, = 0), то запрос прерывания IR, будет обслужен, если нет запросов с более высоким приоритетом.
|
3.5. Контроллеры прерываний 8259А |
237 |
D-i = R |
(R otate) — циклический сдвиг уровней приоритетов; если разряд R |
= 1, то тип |
циклического сдвига будет определяться состоянием разрядов SL и E O I (при значении R = О |
||
сдвига нет). |
|
|
Команда OCW 2 выполняет функции: |
|
|
D7DbD 5 = 001 ■— обычный конец прерывания (фиксированные приоритеты |
и сброс в 0 |
|
триггера |
обслуженного запроса прерывания; L2L\L.lt = xxx); |
|
D7D6£>5 = 011 — специальный конец прерывания (фиксированные приоритеты и сброс в 0 |
триггера T/SRh указываемого двоичным кодом L2L\L^ = г);
DiDf,D5 = 101 — обычный конец прерывания (циклический сдвиг приоритетов с присвое нием ДПК обслуженному запросу и сбросом в 0 его триггера TISRi\ L2L il <) = xxx);
D7D6D5 = 100 — установка режима циклического сдвига приоритетов при автоматическом
конце прерывания, |
заданного командой ICW 4 (разряд AEOI = 1); |
D 1D 6D 1 = 000 — сброс режима циклического сдвига приоритетов при автоматическом |
|
конце прерывания, |
заданного командой ICW 4\ |
D7D6D5 = 1 1 1 |
— специальный конец прерывания (L2L,L0 = i — двоичный код сбрасывае |
мого в 0 триггера T/SRi и присвоение ДПК входу 1R, с циклическим сдвигом приоритетов);
D 7DeD 5 = 110 — циклический сдвиг приоритетов без завершения прерывания (L2L]L0 = i — двоичный код номера входа lRh которому присваивается ДПК).
Ниже приведено типовое оформление ППОП (написано продолжение примера 1, начиная
с метки AIR0): |
|
|
AIR0: PUSH |
PSW |
; ППОП для входа запроса прерывания IR0 |
PUSH |
H |
; Запись в стек состояния прерываемой программы |
PUSH |
D |
|
PUSH |
В |
|
|
|
; Собственно ППОП |
POP |
В |
; Восстановление состояния прерванной программы |
POP |
D |
|
POP |
H |
|
MVI |
A, 20h |
; А <— 20/г = O CW 2— Non Specific EOI |
OUT |
0F8ft |
; PIC <—OCW 2 — конец прерывания |
POP |
PSW |
|
El |
|
; Флаг IE <— 1 (прерывания разрешены; триггер INTE <— |
RET |
|
; Возврат на адрес прерванной программы |
Команда Е1 может располагаться в любом месте ППОП. Если она расположена в конце ППОП, то ее не могут прервать запросы прерывания с более высоким приоритетом, так как флаги IE в МП 8085 и INTE в М П 8080 сбрасываются в 0 при каждом переходе к обслужива нию запроса прерывания. В стек можно записывать содержимое только тех регистровых пар, которые используются в ППОП.
Если в М П-системе используются ведомые PIC, то команда EOI должна подаваться дваж ды: в ведущий PIC и в соответствующий ведомый PIC. Если при инициализации был задан запрос прерывания по уровню (LTIM = 1 в команде /CW,), то для предотвращения повторного прерывания запрос //?, должен быть сброшен до подачи команды EOI.
При работе в режиме полной вложенности команда EOI обычного конца прерывания (R = 0 , SL = 0, EOI = 1) автоматически сбрасывает триггер TISRi, соответствующий запросу пре рывания, имеющего наибольший приоритет из всех находящихся в обслуживании запросов прерывания (рис. 3.59 — принцип работы подобной схемы описан в § 6.6 книги [5]). В этом режиме сбрасываемый запрос прерывания всегда соответствует обслуженному запросу преры вания.
238 |
|
|
|
|
|
|
|
Глава 3. Интерфейсные БИС |
|
|
|
|
|
|
|||||
Сброс |
1SK |
|
PRCD |
|
DC |
|
|
|
При |
нарушении |
режима |
полной |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
TYl 0 |
,;о |
|
|
0 |
|
|
вложенности, например командой цик |
||||||||||||
|
|
|
|
|
|
||||||||||||||
|
|
0 |
0 |
./1 |
АО 1 . |
|
|
|
|
лического сдвига приоритетов, это со |
|||||||||
|
|
h |
|
|
|
|
ответствие |
отсутствует. В этом |
случае |
||||||||||
|
|
0 |
|
|
|
|
|
|
|
|
следует применять команду E OI специ |
||||||||
|
|
ъ. 0 .12 |
|
|
2 |
|
|
||||||||||||
|
|
0 |
1 |
.13 |
А1 1 . |
|
|
|
|
ального конца прерывания (R = 0 или 1, |
|||||||||
|
|
1 |
2 |
3 |
|
|
SL = |
1, |
EOI = |
1) с явным заданием раз |
|||||||||
|
|
|
|
|
|
|
|
|
|
рядами |
LiL\Lo |
команды O CW 2 сбрасы |
|||||||
|
|
Та 0 ,14 |
|
|
4 |
|
|
||||||||||||
|
|
|
|
|
|
ваемого триггера Т,SK ,. Полная схема |
|||||||||||||
|
|
0 |
1 |
,15 |
А2 0 |
|
|
|
|
||||||||||
|
|
1 |
4 |
3 |
|
|
сброса |
триггеров регистра ISR |
должна |
||||||||||
|
|
|
|
|
|
|
|
|
|
содержать двухканальный 3-разрядный |
|||||||||
|
|
Т* 1 . |
16 |
|
|
б |
|
|
|||||||||||
|
|
1 |
|
|
|
|
|
|
мультиплексор, переключающий вход |
||||||||||
|
|
* г; |
0 п |
|
|
7 |
|
|
ные сигналы дешифратора DC: при зна |
||||||||||
|
|
|
|
|
|
|
|
|
|
чении разряда SL = 0 должны подавать |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
ся сигналы А2, |
А 1 и А 0, а при значении |
|||||||
|
|
|
|
|
|
|
|
|
|
|
SL = 1 — сигналы Ln, L, и L0. |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
Слово |
команды |
операции |
OCW3. |
||||
|
|
|
|
|
|
|
|
|
|
|
Эта команда используется для задания |
||||||||
|
|
|
|
|
|
|
|
|
|
|
режима работы PIC по опросу (режим |
||||||||
|
|
|
|
|
|
|
|
|
|
|
полинга) и режима специального маски |
||||||||
Рис. 3.59. Схема сброса триггеров регистра ISR |
рования, |
а также для управления чтени |
|||||||||||||||||
ем регистров IRR и |
ISR. Ф ормат этой |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
команды изображен на рис. 3.60: |
|
|||||||
|
RIS (R ead ISR) |
чтеноие=регистров ISR при RIS = |
1 и IRR при RIS = 0; чтение возмож |
||||||||||||||||
но только при значении разряда R R = 1; |
|
|
|
|
|
|
|
|
|
|
|||||||||
D 1 = RR (R ead Register) — чтение состояния регистров ISR и IRR\ |
|
|
|
||||||||||||||||
D 2 = Р (Polling — опрос) |
— режим работы PIC по опросу (Р = 1 — режим полинга); если |
||||||||||||||||||
одновременно установлены значения Р = 1 и RR = |
1, то выполняется режим полинга; |
|
|||||||||||||||||
D 5 = SM M (Special M ask M ode) — установка (SM M = 1) и отмена (SM M - |
0) режима специ |
||||||||||||||||||
ального маскирования при значении разряда ESMM = 1; |
|
|
|
|
|
|
|
||||||||||||
D 6 = ESMM (Enable SMM) — разрешение режима специального маскирования. |
|
||||||||||||||||||
АО |
|
D1 |
|
D6 |
D5 |
|
D4 |
D3 |
02 |
D i |
DO |
|
|
ocw3 |
|
|
|||
0 |
|
0 |
ESMM SMM |
|
0 |
1 |
Р |
RR |
RIS |
|
|
|
|
||||||
|
|
1 |
|
1 |
1 |
|
|
|
1 |
1 |
1 |
|
|
|
|
|
|||
0Ch |
- |
0 |
|
0 |
|
0 |
|
- |
1 |
1 |
0 |
0 |
|
— |
Poll M ode |
|
|||
ОВй |
= |
0 |
|
0 |
|
0 |
|
Признак |
0 |
1 |
1 |
|
— |
R eadIS R |
|
|
|||
ОАА |
= |
0 |
|
0 |
|
0 |
|
OCW 3 |
0 |
1 |
0 |
|
— |
R ead IRR |
|
|
|||
68А |
= |
0 |
|
1 |
1 |
|
|
|
0 |
0 |
0 |
|
— |
Set Special M ask M ode |
|||||
48А |
= |
0 |
|
1 |
0 |
|
|
|
0 |
0 |
0 |
|
— |
R eset Special M ask M ode |
|||||
|
|
|
|
|
Рис. 3.60. Ф ормат слова команды операции OCW 3 |
|
|
||||||||||||
Реж им полинга. После подачи на PIC команды OCW j = ОСh командой IN p o rt в М П вво |
|||||||||||||||||||
дится уровень прерывания IL (см. табл. 3.9), формат которого изображен на рис. 3.61: |
|
||||||||||||||||||
I — |
|
запрос прерывания (/ = 1, если был запрос прерывания хотя бы по одному входу //?,•); |
W2WlWQ= i — номер входа IRh имеющего набольший приоритет, при одновременном за просе обслуживания по нескольким входам; W2WXW0 =111 при 1 = 0.
|
3.5. Контроллеры прерываний 8259А |
|
239 |
|||||
АО |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D 1 |
DO |
|
I |
— |
— |
— |
— |
W2 |
IV, |
W0 |
|
Рис. 3.61. Формат уровня прерывания IL |
|
|
Прочитав уровень прерывания IL, МП по номеру i программным способом определяет,
какое внешнее устройство следует обслужить. Импульс R D - 0, генерируемый командой IN port при чтении уровня прерывания 1L, воспринимается PIC как подтверждение прерывания (вместо сигнала INTA), устанавливая, если имеется запрос прерывания, состояние соответст
вующего триггера |
= 1. |
Инициализацию PIC 8259А, предназначенных для работы в режиме полинга, тоже нужно производить, но только двумя командами ICW X и ICW 2 = 00h, где 00h — “фиктивный” адрес (можно задать и любое другое число, так как адрес команды CALL в режиме полинга не ис пользуется).
Режим полинга (O C W 3 = OCh) позволяет включить в М П-систему любое число PIC 8259А в пределах адресного пространства ввода-вывода МП. В режиме полинга производится после довательный опрос P IC по инициативе М П (сигналы INT и INTA не используются). Например, если в М П-системе необходимо обслуживать 80 внешних устройств, то следует использовать один ведущий PIC, 8 ведомых PIC (обслуживание 64 внешних устройств по прерыванию с ис пользованием сигналов INT и INTA) и два PIC, работающих в режиме полинга.
Пример 4. Выполнить обслуживание запроса от внешнего устройства, если он поступил на PIC 8259А, работающий в режиме полинга и имеющего адреса портов Е0h и E l h. Эта задача решается программой:
MVI |
A, 0C h |
|
А <— OCh — OCW ] (режим полинга) |
OUT |
ОЕО/г |
|
8259А <— команда OCW 3 |
IN |
0E Oh |
|
А <— IL = I хххх W2И7, W0 — чтение уровня прерывания IL |
ANI |
87ft |
|
А < — 1 0000 W2WiW0 |
CPI |
Olh |
|
Проверка разряда D - ,- 1 |
JZ |
LI |
|
Переход, если / = 0 (не было запроса обслуживания — “холостая” проверка) |
|
|
|
Далее анализ числа ; = W2W lWu для перехода на обслуживание I /0 - i, |
|
|
|
подобный анализу числа т = А гА \А а в программах |
L1: |
|
; |
для рис. 2.12, б (см. § 2.4) |
Использование дополнительных PIC 8259А, не связанных с PIC, обслуживающих 64
внешних устройства по прерыванию с использованием сигналов IN T и INTA, из-за непроизво дительных потерь времени на опрос оправдано только в тех случаях, когда они расположены на другой плате и сигналы INT и INTA недоступны. Если все PIC 8259А расположены на одной плате, то расширение системы прерываний на более чем 64 уровня, можно выполнить более эффективно, использовав третий уровень PIC 8259А.
На рис. 3.62 изображен контроллер прерываний с 512-уровневой системой прерываний при совместном использовании режима полинга и векторной системы прерываний. Данный контроллер содержит 73 БИС 8259А — в первом ярусе одна БИС, во втором ярусе восемь БИС и в третьем ярусе 64 БИС, предназначенных для работы в режиме полинга. Первые два яруса представляют собой каскадированный контроллер прерываний с 64 уровнями прерываний, по добный изображенному на рис. 3.45. Адреса a d d r всех команд CALL вызова подпрограмм об служивания прерываний запрограммированы при инициализации в PIC 8259А второго яруса, поэтому при инициализации ведущего PIC (M aster), как и всех PIC третьего яруса, использует ся команда ICW 2 = 00h с “фиктивным” значением 00h старшего байта адреса addr. В третьем