Мегаобучалка Главная | О нас | Обратная связь


Узел прерываний. Управление прерываниями



2015-11-11 821 Обсуждений (0)
Узел прерываний. Управление прерываниями 0.00 из 5.00 0 оценок




 

Система прерываний предусматривает пять источников прерываний: внешние (от входов , ) и внутренние (от флагов переполнения TF0, TF1 таймеров/счётчиков и от флага RI или TI последовательного порта). Внешние запросы прерываний , независимо друг от друга могут быть запрограммированы на срабатывание либо по переходу из 1 в 0, либо по низкому уровню входного сигнала запроса прерывания (регистр TCON).

Для каждого из пяти источников прерываний может быть запрограммирован один из двух уровней приоритета (0 – низкий приоритет, 1 – высокий приоритет).

Управление приоритетом прерываний осуществляется через 8-разрядный управляющий регистр IP (адрес B8).

Определение управляющих битов регистраIP

 

Имя регистра IP
Адрес регистра B8
Бит регистра IP.7 IP.6 IP.5 IP.4 IP.3 IP.2 IP.1 IP.0
Имя бита управления - - - PS PT1 PX1 PT0 PX0
Адрес бита управления BF BE BD BC BB BA B9 B8

 

Описание управляющих битов в составе регистра IP:

 

PS – бит приоритета последовательного порта; устанавливается и сбрасывается из программы.
PT1 – бит приоритета Т/С1 (TF1); устанавливается и сбрасывается из программы.
  PX1 – бит приоритета внешнего прерывания от входа ; устанавливается и сбрасывается из про- граммы.
PT0 – бит приоритета Т/С0 (TF0); устанавливается и сбрасывается из программы.
  PX0 – бит приоритета внешнего прерывания от входа ; устанавливается и сбрасывается из программы.
IP.i = 0 – IP.i = 1 – низкий уровень приоритета.
высокий уровень приоритета.

 

Обработка прерывания низкого уровня может быть прервана запросом высокого уровня. Если одновременно появляются несколько запросов одного уровня, используется схема арбитража, основанная на порядке последовательного опроса разрядов регистра IP и устанавливающая предпочтения между всеми источниками запросов.

 

Очерёдность обслуживания
Обслуживаемый источник прерывания при совпадении запросов от нескольких источников Вход   (IE0) Таймер/ счётчик Т/С0   (TF0) Вход   (IE1) Таймер/ счётчик Т/С1   (TF1) Последовательный порт   (RI или TI)

Запрет или разрешение прерываний осуществляются через 8-разрядный управляющий регистр IE (адрес A8).

 

Определение управляющих битов регистраIE

 

Имя регистра IE
Адрес регистра A8
Бит регистра IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0
Имя бита управления EA - - ES ET1 EX1 ET0 EX0
Адрес бита управления AF AE AD AC AB AA A9 A8

 

Описание управляющих битов в составе регистра IE:

 

EA – бит блокировки всех прерываний; EA = 0 – все прерывания запрещены; EA = 1 – прерывания мо- гут быть разрешены управляющими битами ES, ET1, EX1, ET0, EX0; устанавливается и сбрасыва- ется из программы.
ES – бит разрешения прерывания от последовательного порта (по признаку RI окончания работы приём- ника или по признаку TI окончания работы пере- датчика); устанавливается и сбрасывается из про- граммы.
ET1 – бит разрешения прерывания от Т/С1 (TF1); устанавливается и сбрасывается из программы.
  EX1 –   бит разрешения внешнего прерывания от входа ; устанавливается и сбрасывается из про- граммы.
ET0 – бит разрешения прерывания от Т/С0 (TF0); устанавливается и сбрасывается из программы.
  EX0 –   бит разрешения внешнего прерывания от входа ; устанавливается и сбрасывается из программы.
IE.i = 0 –   IE.i = 1 – прерывания от соответствующего источника запрещены (замаскированы).
прерывания от соответствующего источника разрешены.

 

Установка соответствующего флага при наличии запроса прерывания происходит в конце текущего машинного цикла, а опрос флагов – в следующем цикле. И только после выполнения последнего цикла текущей команды производится аппаратный вызов соответствующей подпрограммы обслуживания, эквивалентный команде LCALL vect, обеспечивающей переход к стартовому адресу (vect) соответствующей подпрограммы обслуживания. С каждым источником прерывания связан свой стартовый адрес (вектор прерывания).

 

Источник прерывания Вход   (IE0) Таймер/ счётчик Т/С0   (TF0) Вход   (IE1) Таймер/ счётчик Т/С1   (TF1) Последовательный порт   (RI или TI)
Стартовый адрес (вектор прерывания) 000B 001B

 

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

1) производится обработка прерывания с таким же или с высшим уровнем приоритета;

2) текущий машинный цикл не является последним циклом команды;

3) выполняется команда RETI текущей подпрограммы или любая команда обращения к регистрам IE, IP.

Подпрограмма обслуживания прерывания продолжается до исполнения команды RETI, по которой восстанавливается состояние программного счётчика из двух верхних ячеек стека. Если же использована команда RET для возврата из подпрограммы обработки прерывания, состояние программного счётчика также восстанавливается, но считается, что обслуживание прерывания продолжается и новые прерывания становятся невозможными.

 



2015-11-11 821 Обсуждений (0)
Узел прерываний. Управление прерываниями 0.00 из 5.00 0 оценок









Обсуждение в статье: Узел прерываний. Управление прерываниями

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (821)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)