Обработчик прерывания, также известный как подпрограмма обслуживания прерывания или ISR, представляет собой специальный блок кода, связанный с определенным условием прерывания.

В основном, когда часть оборудования (аппаратное прерывание) или какая-то задача ОС (программное прерывание) должна быть запущена, она запускает прерывание. Если эти прерывания не маскируются (игнорируются), ОС останавливает свои действия и вызывает специальный код для обработки этого нового события.

При срабатывании прерывания микроконтроллер автоматически выполняет следующие действия:

  • Текущий счетчик команд сохраняется в стеке младшим байтом вперед.
  • Прерывания того же и более низкого приоритета блокируются.
  • В случае прерываний по таймеру и внешних прерываний соответствующий флаг прерывания сбрасывается.
  • Выполнение программы переходит на соответствующий векторный адрес обработчика прерывания.
  • Выполняется подпрограмма обработчика прерываний.