On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

Некоторые особенности обслуживания прерываний

После появления запроса, прерывания  от которого  разрешены, процессор  
по окончанию текущего программного цикла  записывает в стек адрес
следующей команды прерываемой программы.  На счетчик адреса команд
загружается адрес начала программы обслуживания прерываний.
 В микроконтроллерах семейства 8051 для программ обслуживания
 зафиксированы постоянные начальные адреса  ( см. далее таблицу). Если в
 системе возможно обслуживание нескольких прерываний, то программы
 обслуживания должны "обходить"   участки   программной памяти, 
 зафиксированные как начальные участки программ обслуживания других
 прерываний (используется команда JMP).  Всякая программа обслуживания
 прерываний должна оканчиваться командой RETI (возврат из прерываний) Это
  команда не только восстанавливает из с
тека состояние счетчика команд, соответствующее моменту начала
обслуживания прерываний (как и команда возврата из подпрограмм RET), но и
разрешает прерывания равного и низших приоритетов. 
Всякая прерывающая пргорамма должна обеспечить сохранение состояния
прерываемой программы. Осмновные подходы к реализации этих фугкций
обсуждены в описании работы ?2. 
Допускаются вложенные прерывания - то есть программа обслуживания запроса 
может быть прервана для обслуживания другого запроса, имеющего более
высокий приоритет.  
Микроконтороллеры семейства 8051 имеют весьма гибкую систему управления
дисциплиной обслуживания запросов. Дисциплина определяется  состоянием
двух регистров управления запросами - регистр масок преваний   IE  и
регистр приоритетов прерываний IP. 
 Старший разряд регистра масок ( логическое имя EA либо IE.7) блокирует
 любые прерывния. Прочие биты осушествляют индивидуальную блокировку  и
 разрешения прерываний от различных источников ( 1 соответствует
 разрешению 0 - запрету прерываний).
 Если регистр приоритетов  IP обнулен, до для запросов  установлен
 следующий порядок приоритетов :
            IRO (высший) - TO - IR1 - T1- S INT  (низший).
Однако,если в регистре  IP несколько разрядов установлены в единицу, то
 соответствующие запросы получают высший приоритет в сравнении с  любыми
 запросами, для которых разряды в IR находятся в нулевом состоянии. 
 Приоритеты запросов среди  отмеченных  одинаковым признаком
 приоритетности ( например единицами) порядок приоритетов соответствует
 вышеприведенномую 
 
Назад       Содержание