Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 199

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 193 194 195 196 197 198 < 199 > 200 201 202 203 204 205 .. 528 >> Следующая

Вектор прерывания по запросу последовательного порта 0023h TI, RI
регистра SCON ЕА ES регистра IЕ Низ ший
Запрос на прерывание не обслуживается центральным процессором и
откладывается на более позднее время в следующих случаях:
• текущий цикл не является последним циклом команды;
• выполняется процедура обслуживания прерывания с более высоким
приоритетом;
• выполняется команда RETI, команды обращения к регистрам специальных
функций подсистемы прерывания IE и IP.
Если флаг прерывания был установлен, но не получил обслуживания, а к
моменту снятия блокировки прерываний был сброшен, то запрос на прерывание
теряется.
При появлении запросов от нескольких источников очередность их
обслуживания определяется механизмом приоритетов. В МК с ядром MCS-51
реализована двухступенчатая система приоритетов. Все запросы
подразделяются на две группы: с высоким или с низким уровнем приоритета.
Принадлежность к той или иной группе определяется значением битов
регистра приоритетов IP (табл. 4.16). Если бит регистра IP равен 1, то
349
S-РАЗРЯДНЫЕ МИКРОКОНТРОЛЛЕРЫ
соответствующий источник запроса относится к группе с высоким
приоритетом, если 0 -то с низким. Действие механизма приоритетных
прерываний в MCS-51 заключается в выборе одного из источников при
одновременном появлении нескольких запросов а также в принятии решения о
прерывании подпрограммы обслуживания другого прерывания при поступлении
нового запроса. При одновременном появлении нескольких запросов сначала
обслуживаются запросы группы с высоким приоритетом, а затем группы с
низким приоритетом. Внутри каждой группы распределение приоритетов
фиксировано в соответствие с табл. 4.14. Механизм приоритетных прерываний
использует два программно-недоступных триггера уровня обслуживаемого
прерывания. Переход к подпрограмме обслуживания запроса сопровождается
установкой триггера того уровня приоритета, к которому относится запрос.
При установленном триггере низшей группы запрос высшей группы вызовет
прерывание подпрограммы обслуживания прерывания. Команда RETI в конце
процедуры обслуживания сбрасывает триггер своего уровня. В этом отличие
команды возврата из прерывания RETI от команды возврата из подпрограммы
RET.
Процесс выполнения команды LCALL сопровождается загрузкой в стек
содержимого счетчика команд PC (адрес следующей команды). Сохранение в
стеке других регистров МК может быть выполнено в подпрограмме прерывания
с использованием команды PUSH. В конце подпрограммы прерывания эти
регистры должны быть восстановлены из стека командами POP. Однако следует
иметь в виду, что программное сохранение в стеке регистров значительно
увеличивает время реакции на прерывание. Минимальное время перехода к
подпрограмме прерывания составляет 3 машинных цикла. Последней командой
каждой подпрограммы прерывания должна быть команда RETI, которая
восстанавливает из стека адрес следующей команды прерванной программы и
очищает флаг блокировки прерываний своего уровня.
Непосредственно к подсистеме прерывания относятся два регистра
специальных функций:
IE - регистр разрешения прерываний;
IP - регистр приоритетов прерываний.
Форматы этих регистров приведены в табл. 4.15 и 4.16. Кроме этого, в
обслуживании прерываний используются биты регистров управления таймерами
TCON и портом последовательного ввода/вывода SCON.
Таблица 4.15
Формат регистра IE
IE | Регистр разрешения прерываний
7 Адрес 0A8h 6 5 4 3 2 1 0
ЕА | | | ES | ЕТ1 | EX1 | ETO | EXO
Состояние при сбросе: OOh
Имя бита Назначение бита
ЕА Глобальная маска прерывания. Сбрасывается программно для запрета
всех прерываний, независимо от значения IE4 - IE0
ES Бит разрешения прерывания по запросу от последовательного порта.
Устанавливается/ сбрасывается программно для разрешения/запрета
прерывания по флагам TI и RI
ЕТ1 Бит разрешения прерывания по запросу таймера 1.
Устанавливается/сбрасывается программно для разрешения/запрета прерывания
по флагу TF1
EX1 Бит разрешения внешнего прерывания по запросу на входе INT1.
Устанавливается/ сбрасывается программно для разрешения/запрета
прерывания по флагу IE1
ЕТО Бит разрешения прерывания по запросу таймера 0.
Устанавливается/сбрасывается программно для разрешения/запрета прерывания
по флагу TF0
ЕХО Бит разрешения внешнего прерывания по запросу на входе INTO.
Устанавливается/ сбрасывается программно для разрешения/запрета
прерывания по флагу IE0
350
СЕМЕЙСТВО МК MCS-51 ФИРМЫ "INTEL"
Таблица 4.16
Формат регистра IP
IP | Регистр приоритетов прерываний
7 Адрес 0B8h 6 5 4 3 2 1 0
I | - | PS | РТ1 | PX1 | PTO | PXO
Состояние при сбросе: 00h
Имя бита Назначение бита
PS Бит приоритета последовательного порта.
Устанавливается/сбрасывается программно для присвоения данному прерыванию
высшего/низшего приоритета
РТ1 Бит приоритета таймера 1. Устанавливается/сбрасывается программно
для присвоения данному прерыванию высшего/низшего приоритета
РХ1 Бит приоритета внешнего прерывания 1 (по входу INT1).
Предыдущая << 1 .. 193 194 195 196 197 198 < 199 > 200 201 202 203 204 205 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed