Микропроцессоры и микроконтроллеры

 
 
 
«Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.»
Martin Golding
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципы программирования MSC-51 :: Управление приоритетами запросов прерываний

Управление приоритетами запросов прерываний

При работе МК возможная ситуация, когда одновременно поступают запросы на прерывание от разных источников. Для избежания конфликтов в МК51 реализована двухуровневая аппаратно-программная шкала приоритетов, соответственно которой устройство управления выбирает источник прерывания, который может быть обслуженным раньше. В соответствии с аппаратной шкалой приоритетность обслуживания запросов следующая: INT0 – TF0 – INT1 – TF1 – TI/RI.

Для любого из пяти источников (TF1, TF0, INT1, INT0, TI или RI) может быть установлен один из двух уровней приоритета - "высокий" или "низкий" - программным способом. В случае совпадения уровней приоритетов нескольких источников выбор высшего приоритета устройство управления проводит соответственно аппаратной (неизменной) шкале (см. также рис.16.2 или рис.29 в комплекте).

Например, если высокий приоритет выбран программистом для INT0 и TF1, то в случае одновременного запроса от этих источников сначала будет обслуженный запрос INT0, а потом TF1 и только после этого - остальные запросы в порядке TF0-INT1-(TI/RI).

Уровень приоритета каждого источника устанавливают через биты регистра приоритетов прерываний IP (рис.16.4):

Таблица 9.2.

Назначение битов РПП – регистра IP

Имя бита

Позиция

Назначение

-

PS

PT1

PX1

PT0

PX0

IP.7-IP.5

IP.4

IP.3

IP.2

IP.1

IP.0

Не используются

Бит приоритета УАПП (запрос TI-RI)

Бит приоритета таймера 1 (запрос TF1)

Бит приоритета внешнего запроса INT1

Бит приоритета таймера 0 (запрос TF0)

Бит приоритета внешнего запроса INT0

Примечания: 1. Установка бита в "1" - назначение высокого приоритета.

Сброс бита в "0" - назначение низкого приоритета.

2. Регистр IP является ячейкой РПД с битовой адресацией.

3. Биты устанавливают и сбрасывают только программно.