Прерывания — это события, которые временно приостанавливают основную программу, передают управление внешним источникам и выполняют их задачу. Затем он передает управление основной программе, где он остановился.
8051 имеет 5 сигналов прерывания, то есть INT0, TFO, INT1, TF1, RI / TI. Каждое прерывание можно включить или отключить, установив биты регистра IE, и всю систему прерываний можно отключить, очистив бит EA того же регистра.
IE (Разрешение прерывания) Регистрация
Этот регистр отвечает за включение и отключение прерывания. Для регистра EA установлено значение 1 для разрешения прерываний и значение 0 для отключения прерываний. Последовательность битов и их значения показаны на следующем рисунке.
Е.А. | IE.7 | Это отключает все прерывания. Когда EA = 0, прерывание не будет подтверждено, а EA = 1 разрешает прерывание по отдельности. |
— | IE.6 | Зарезервировано для будущего использования. |
— | IE.5 | Зарезервировано для будущего использования. |
ES | IE.4 | Включает / отключает прерывание последовательного порта. |
ET1 | IE.3 | Включает / отключает прерывание переполнения таймера1. |
EX1 | IE.2 | Включает / отключает внешнее прерывание1. |
ET0 | IE.1 | Включает / отключает прерывание переполнения таймера 0. |
EX0 | IE.0 | Включает / отключает внешнее прерывание0. |
Регистр IP (приоритет прерывания)
Мы можем изменить уровни приоритета прерываний, изменив соответствующий бит в регистре приоритетов прерываний (IP), как показано на следующем рисунке.
-
Прерывание с низким приоритетом может быть прервано только прерыванием с высоким приоритетом, но не может быть прервано другим прерыванием с низким приоритетом.
-
Если два прерывания разных уровней приоритета получены одновременно, запрос более высокого уровня приоритета обслуживается.
-
Если запросы с одинаковыми уровнями приоритета принимаются одновременно, то внутренняя последовательность опроса определяет, какой запрос должен быть обслужен.
Прерывание с низким приоритетом может быть прервано только прерыванием с высоким приоритетом, но не может быть прервано другим прерыванием с низким приоритетом.
Если два прерывания разных уровней приоритета получены одновременно, запрос более высокого уровня приоритета обслуживается.
Если запросы с одинаковыми уровнями приоритета принимаются одновременно, то внутренняя последовательность опроса определяет, какой запрос должен быть обслужен.
— | IP.6 | Зарезервировано для будущего использования. |
— | IP.5 | Зарезервировано для будущего использования. |
PS | IP.4 | Он определяет уровень приоритета прерывания последовательного порта. |
PT1 | IP.3 | Он определяет прерывание по таймеру 1 приоритета. |
PX1 | IP.2 | Он определяет уровень приоритета внешнего прерывания. |
PT0 | IP.1 | Он определяет уровень приоритета прерывания timer0. |
PX0 | IP.0 | Он определяет внешнее прерывание с нулевым уровнем приоритета. |
TCON Зарегистрироваться
Регистр TCON определяет тип внешнего прерывания для микроконтроллера.