Запросы прерывания текущей программы могут поступать от внешних источников или
формироваться внутри микроконтроллера в различных периферийных устройствах. Об-
щее число источников запросов прерывания у микроконтроллеров разных типов может
быть 21, 28 или 37.
Запросы прерывания могут маскироваться путем посылки кодов маски в соответст-
вующие регистры специальных функций. В микроконтроллерах всех типов имеется про-
граммный контроллер прерываний (PIC). Обслуживание запроса прерывания с использо-
ванием PIC заключается в переходе от выполнения текущей программы к выполнению
другой определенной программы, составленной разработчиком программного обеспече-
ния.
Адрес первой команды каждой прерывающей программы (вектор прерывания) хранит-
ся в определенной паре ячеек ПЗУ в области памяти, отведенной для хранения специаль-
ных данных. После завершения выполнения прерывающей программы происходит воз-
врат к прерванной программе.
Прерывающая программа в свою очередь может быть прервана при поступлении лю-
бого незамаскированного запроса прерывания вне зависимости от соотношения приорите-
тов запроса, вызвавшего переход к данной программе, и нового запроса прерывания.
В микроконтроллерах некоторых типов кроме программного контроллера прерываний
имеется микропрограммный контроллер прерываний (PTS). Любой запрос прерывания,
кроме нескольких особых запросов, может быть направлен для обслуживания или в PIC
или в PTS.
Обслуживание запроса прерывания с использованием PTS заключается в выполнении
типовой микропрограммы, при этом выполнение операций по микропрограмме совмеща-
ется во времени с выполнением команд текущей программы. Микропрограммы PTS охва-
тывают, в основном, пересылки данных. Прерывания, обслуживаемые PTS, отрабатыва-
ются быстрее, чем те, которые обслуживаются обычным способом. Однако, программиро-
вать PTS непросто, а отлаживать еще сложнее.