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

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

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

после перепада сигнала внешнего запроса с "1" на "О" устанавливается в
"1" один из флагов ЕХО или ЕХ1. После этого уровень сигнала внешнего
запроса может быть произвольным. Даже если он остался низким после
завершения процедуры обслуживания прерывания, то повторной установки
флагов ЕХО или ЕХ1 не произойдет. Следующий запрос будет воспринят МК
только если сигнал на входе INTO или INT1 установится в "1", а затем
опять в "О". Описанная логика установки триггера запроса на прерывание
носит название динамического режима распознавания запроса.
Выбор режима распознавания внешнего запроса определяют биты IT0 и IT1
регистра TCON (см. табл. 4.19). Если выбран статический режим
распознавания внешнего запроса, то установленные триггеры ЕХО и ЕХ1
должны быть сброшены в подпрограмме обслуживания соответствующего
прерывания. Для этой цели наиболее удобно использовать команды битового
процессора: CLR ЕХО и CLR ЕХ1. Если выбран динамический режим
распознавания внешнего запроса, то триггеры ЕХО и ЕХ1 сбрасываются
автоматически при переходе на соответствующую подпрограмму прерывания.
Модули таймеров таймер 0 и таймер 1 используют для формирования запросов
на прерывания триггеры переполнения TF0 и TF1 регистра TCON (см. табл.
4.19). При переходе к выполнению соответствующей подпрограммы прерывания
эти флаги сбрасываются автоматически. Поэтому нет необходимости
предусматривать специальные команды для сброса флагов TF0 и TF1.
Прерывания по переполнению таймера 0 разрешает флаг ЕЮ регистра
разрешения прерывания IE, по переполнению таймера 1 - флаг ЕТ1 того же
регистра (см. табл. 4.15).
Модуль последовательного порта выставляет два флага, которые могут
генерировать запросы на прерывание. Это триггеры TI и RI регистра SCON.
Первый формируется по окончании передачи байта данных, второй - по
окончании приема очередного байта. Флаги генерируют один общий запрос на
прерывание. В подпрограмме обслуживания прерывания следует
проанализировать, какой из триггеров вызвал формирование запроса на
прерывание, и сбросить его. Если к моменту перехода на подпрограмму
прерывания установленными оказались сразу оба флага TI и RI, то удобно
производить обслуживание последовательного порта, прерываясь дважды. В
первой подпрограмме прерывания распознается один из флагов, например TI.
Выполняются действия по загрузке нового байта в регистр данных
последовательного передатчика и сбрасывается флаг TI. Первая подпрограмма
прерывания завершается командой RETI. Так как флаг RI остался в "1", то
генерируется новый запрос на прерывание от последовательного порта и в
соответствующей подпрограмме прерывания обслуживается блок приемника
данного модуля. Перед завершением подпрограммы прерывания сбрасывается
флаг RI. Прерывания по запросу последовательного порта разрешает флаг ES
регистра IE.
Все рассмотренные прерывания могут быть вызваны или отменены программой,
поскольку перечисленные флаги запросов программно доступны и могут быть
установлены/сброшены программой так же, как и аппаратными средствами МК.
Сформированные посредством установки триггеров запросы на прерывание
поступают в центральный процессор. Эти запросы могут быть приняты к
обработке, если триггер ЕА регистра IE установлен в "1", или обработка
запросов будет задержана до тех пор, пока триггер ЕА будет находиться в
"О". Триггер ЕА устанавливается и сбрасывается только программно. Таким
образом, команда SETB ЕА эквивалентна команде "разрешить прерывания", а
команда CLR ЕА - команде "запретить прерывания". Если прерывания
центрального процессора разрешены, то МК завершает выполнение текущей ко-
348
СЕМЕЙСТВО МК MCS-51 ФИРМЫ "INTEL"
манды, сравнивает уровни приоритетов в случае одновременного поступления
нескольких запросов и формирует внутренними аппаратными средствами код
команды LCALL. Двухбайтовый адрес команды LCALL соответствует вектору
прерывания с наивысшим приоритетом. МК с ядром MCS-51 имеют фиксированные
векторы прерывания. Абсолютные значения векторов прерывания для каждого
из источников, соответствующие им триггеры запросов и флаги битов
разрешения прерывания приведены в табл. 4.14,
Таблица 4.14
Таблица векторов прерывания и сброса МК 8051 АН
Источник события прерывания или сброса Вектор сброса ИЛИ прерывания
Триггер запроса на прерывание Общий бит разрешения прерывания
Индивидуальный бит разрешения прерывания Приоритет
Вектор сброса OOOOh Сигнал сброса формируется аппаратно МК
переходит в режим сброса немедленно после подачи сигнала на вход RST.
Выполнение любой программы немедленно прекращается
Вектор прерывания по внешнему запросу INTO 0003h IЕ0 регистра TCON
ЕА EX0 регистра IЕ Высший
Вектор прерывания по переполнению счетчика таймера 0 OOOBh TF0
регистра TCON ЕА ET0 регистра IE 1 i
Вектор прерывания по внешнему запросу INT1 0013h IE1 регистра TCON
ЕА ЕХ1 регистра IЕ
Вектор прерывания по переполнению счетчика таймера 1 001 Bh TF1
регистра TCON ЕА ЕТ1 регистра IE
Предыдущая << 1 .. 192 193 194 195 196 197 < 198 > 199 200 201 202 203 204 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed