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