ВУЗ:
Составители:
ET0 IE.1 Разрешение прерываний от таймера 0. Работа-
ет аналогично IE.3
EX0 IE.0 Разрешения внешнего прерывания 0. Работает
аналогично IE.2
13 Регистр приоритетов прерываний IP
Сим-
вол
Раз-
ряд
Имя и назначение
– IP.7 – 5
Не используются
PS IP.4
Бит приоритета UART. Установка/сброс
программой для назначения прерыванию от
UART высшего/низшего приоритета
PT1 IP.3
Бит приоритета таймера 1. Установка/сброс
программой для назначения прерыванию от
таймера 1 высшего/низшего приоритета
PX1 IP.2
Бит приоритета внешнего прерывания 1.
Установка/сброс программой для назначе-
ния прерыванию INT1 высшего/низшего
приоритета
PT0 IP.1
Бит приоритета таймера 0. Работает анало-
гично IP.3
PX0 IP.0
Приоритет внешнего прерывания 0. Работа-
ет аналогично IP.2
Возможность программной установки/сброса любого управляющего бита в этих двух регистрах де-
лает систему прерываний исключительно гибкой.
Приоритет источника прерывания определяется порядком опроса флагов прерываний и произво-
дится в два этапа. На первом – опрашиваются те, источники которых получили высший приоритет с
помощью регистра IP, а на последнем – низший. Для каждого из этапов очередность опроса приведена
на рис. 7.
Флаги прерываний опрашиваются в каждом машинном цикле. Ранжирование прерываний по при-
оритету выполняется в течение следующего машинного цикла. Прерывание сформируется, если оно не
заблокировано одним из условий:
1) в данный момент обслуживается запрос прерывания равного или более высокого уровня приори-
тета;
2) текущий машинный цикл – не последний в цикле выполняемой команды;
3) выполняется команда RETI или любая команда, связанная с обращением к регистрам IE или IP.
П р и м е ч а н и е. Если флаг прерывания был установлен, но по одному из перечисленных условий
не получил обслуживания и к моменту окончания блокировки уже был сброшен, то запрос прерывания
теряется.
По аппаратно сформированному коду команды LCALL (вызов подпрограммы) система прерываний
помещает в стек содержимое программного счетчика PC и загружает в PC адрес вектора прерывания
соответствующей подпрограммы обслуживания. По этому адресу должна быть расположена команда
безусловного перехода JMP к начальному адресу подпрограммы обслуживания прерывания. Эта под-
программа в случае необходимости должна начинаться командами записи в стек PUSH слова состояния
программы PSW, аккумулятора A, расширителя аккумулятора B, указателя данных DPTR и т.д. и закан-
чиваться командами восстановления из стека POP. Подпрограммы обслуживания прерывания обяза-
тельно завершаются командой RETI, по которой в программный счетчик перезагружается из стека со-
храненный адрес возврата в основную программу. Команда RET также возвращает управление, но при
этом не снимает блокировку прерывания.
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »