Микроконтроллеры - 8051 прерываний
Прерывания - это события, которые временно приостанавливают работу основной программы, передают управление внешним источникам и выполняют свою задачу. Затем он передает управление основной программе, где она остановилась.
8051 имеет 5 сигналов прерывания, т.е. INT0, TFO, INT1, TF1, RI / TI. Каждое прерывание можно разрешить или запретить, установив биты регистра IE, а всю систему прерываний можно отключить, очистив бит EA того же регистра.
Регистр IE (разрешение прерывания)
Этот регистр отвечает за включение и отключение прерывания. Регистр EA установлен в единицу для разрешения прерываний и установлен в 0 для отключения прерываний. Его битовая последовательность и их значения показаны на следующем рисунке.
EA | IE.7 | Он отключает все прерывания. Когда EA = 0, прерывание не будет подтверждено, а EA = 1 разрешает прерывание индивидуально. |
- | IE.6 | Зарезервировано для использования в будущем. |
- | IE.5 | Зарезервировано для использования в будущем. |
ES | IE.4 | Включает / отключает прерывание последовательного порта. |
ЕТ1 | 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 | Он определяет уровень приоритета прерывания таймера0. |
PX0 | IP.0 | Он определяет внешнее прерывание с нулевым уровнем приоритета. |
Регистр TCON
Регистр TCON определяет тип внешнего прерывания микроконтроллера.