Читайте также:
|
|
Прерывание работы МП по запросу внешних устройств устраняет необходимость выполнения МП неэффективных операций по проверке готовности внешних устройств к обмену данными и снижает затраты времени на ожидание готовности периферийного устройства к обмену. Прерывания необходимы при обмене данными с большим числом асинхронно работающих внешних устройств. Прерываемая программа должна содержать команду EI в начале участка основной программы, где допускаются
прерывания.
Виды запросов на прерывание бывают:
1. немаскируемые - которые реализуются аппаратно и поступают в МП по отдельной шине управления. Немаскируемые запросы обладают наивысшим при-оритетом. К ним относятся запросы от схем питания и контроля правильности передачи данных. Снижение уровня питания представляет опасность потери информации. Схемы контроля питания подают запрос прерывания и совершают переход к подпрограмме аварийной перезаписи в ОЗУ с батарейным питанием или во внешнее ЗУ. В блоке питания предусмотрены емкостные фильтры, которые поддерживают уровень питания на время, достаточное для перезаписи.
2. маскируемые запросы поступают от внешних устройств. В блоке управления МП есть триггер разрешения прерывания. Этот триггер по команде EI устанавливается в единичное состояние в конце участка основной программы, на котором находится команда DI блокировки прерываний, по которой триггер устанавливается в нулевое состояние. Состояние триггера выдается на выход МП, который называется "РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ", и если на этом выходе "1", то запрос принимается. Момент появления запроса не связан с выполнением основной программы. МП продолжает выполнять текущую команду основной программы. Он должен запомнить результат выполнения этой команды и номер команды возврата и приступить к выполнению прерывающей программы. На выход МП "ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ" передается сигнал о том, что в данном цикле производится прием одного байта команды. Команда RST начинает удовлетворение запроса на прерывание; по этой команде в стек записывается результат выполнения команды основной программы и номер команды возврата.
Прерывающая программа начинается с команды RESTART (RST), по которой из стека передается номер команды возврата и результат выполнения последней команды перед прерыванием. Перед командой RET должна быть команда снятия запрета на прерывание - EI, иначе триггер будет в нуле и одна и та же прерывающая программа будет выполняться бесконечно.
Дата добавления: 2015-07-08; просмотров: 118 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ПЕРИФЕРИЙНЫМИ УСТРОЙСТВАМИ (ПУ) | | | ИНТЕРФЕЙСА. АЦП |