АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Система прерываний

Читайте также:
  1. E согласно механизму сотрудничества с системами фермента.
  2. II. Богословская система
  3. III. Лексика как система (8 часов)
  4. SCADA как система диспетчерского управления
  5. SCADA система Citect
  6. SCADA-система: назначение и функции
  7. SCADA: требования к системам верхнего уровня
  8. Shelter (разработчик USC) – система управления отелем, гостиницей, домов отдыха, пансионатов, санаториев
  9. VІ. Узагальнення і систематизація знань. Практична робота
  10. аблица 10. Строение клетки. Структурная система цитоплазмы
  11. Абсорбционный чиллер предназначен для получения холодной воды, которая в последующем может использоваться в качестве хладагента в системах кондиционирования.
  12. АВТОМАТИЗИРОВАННАЯ СИСТЕМА КОНТРОЛЯ ЭНЕРГОРЕСУРСОВ

Упрощенная схема прерываний МК51 показана на рис. 3.13. Внешние прерывания INT0 и INT1 могут быть вызваны либо уровнем, либо переходом сигнала из 1 в 0 на входах МК51 в зависимости от значений управляющих бит 1Т0 и 1Т1 в регистре TCON. От внешних прерываний устанавливаются флаги IЕ0 и IЕ1 в регистре TCON, которые инициируют вызов соответствующей подпрограммы обслуживания прерывания. Сброс этих флагов выполняется аппаратно только в том случае, если прерывание было вызвано по переходу (срезу) сигнала. Если же прерывание вызвано уровнем входного сигнала, то сбросом флага 1Е управляет соответствующая подпрограмма обслуживания прерывания путем воздействия на источник прерывания с целью снятия им запроса.

Флаги запросов прерывания от таймеров TF0 и TF1 сбрасываются автоматически при передаче управления подпрограмме обслуживания. флаги запросов прерывания R1 и Т1 устанавливаются блоком управления UART аппаратно, но сбрасываться должны программой.

Прерывания могут быть вызваны или отменены программой, так как все перечисленные флаги программно-доступны и могут быть установлены/сброшены программой с тем же результатом, как если бы они были установлены/сброшены аппаратурными средствами.

В блоке регистров специальных функций есть два регистра, предназначенных для управления режимом прерываний и уровнями приоритета. Форматы этих регистров, имеющих символические имена 1Е и IP описаны в табл. 3.9 и 3.10 соответственно. Возможность программной установки/сброса любого управляющего бита в этих двух регистрах делает систему прерываний МК51 исключительно гибкой.

Флаги прерываний опрашиваются в момент S5P2 каждого машинного цикла. Ранжирование прерываний по уровню приоритета выполняется в течение следующего машинного цикла. Система прерываний сформирует аппаратурно вызов (LCALL) соответствующей подпрограммы обслуживания, если она не заблокирована одним из следующих условий:

Таблица 3.9.Регистр масок прерывания (IE)
Символ Позиция Имя и назначение
ЕА IE.7 Снятие блокировки прерываний. Сбрасывается программно для запрета всех прерываний независимо от состояний 1Е4 - 1Е0
- IE.5, IE.6 Не используются
ES IE.4 Бит разрешения прерывания от UART. Установка/сброс программой для разрешения/запрета прерываний от флагов Т1 или R1
ЕТ1 IE.3 Бит разрешения прерывания от таймера 1. Установка/сброс программой для разрешения/запрета прерываний от таймера 1
ЕХ1 IE.2 Бит разрешения внешнего прерывания 1. Установка/сброс программой для разрешения/запрета прерываний
ЕТ0 IE.1 Бит разрешения прерывания от таймера 0. Работает аналогично 1Е.З
EXD IE.0 Бит разрешения внешнего прерывания 0. Работает аналогично 1Е.2

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

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

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

Отметим, что если флаг прерывания был установлен, но по одному из перечисленных выше условий не получил обслуживания и к моменту окончания блокировки уже был сброшен, то запрос прерывания теряется и нигде не запоминается.

Таблица 3.10.Регистр приоритетов прерываний
Символ Позиция Имя и назначение
- IP.7- IP.5 Не используются
PS IP.4 Бит приоритета UART, Установка/сброс программой для присваивания прерыванию от UART высшего/низшего приоритета
РТ1 IP.3 Бит приоритета таймера 1. Установка/сброс программой для присваивания прерыванию от таймера 1 высшего/низшего приоритета
РХ1 IP.2 Бит приоритета внешнего прерывания 1. Установка/сброс программой для присваивания высшего/низшего приоритета внешнему прерыванию INT1
РТ0 IP.1 Бит приоритета таймера 0. Работает аналогично 1Р.З
РХ0 IP.0 Бит приоритета внешнего прерывания 0. Работает аналогично 1Р.2

По аппаратно - сформированному коду LCALL система прерывания помещает в стек только содержимое счетчика команд (PC) и загружает в счетчик команд адрес вектора соответствующей подпрограммы обслуживания. По адресу вектора должна быть расположена команда безусловной передачи управления (JMP) к начальному адресу подпрограммы обслуживания прерывания. Подпрограмма обслуживания в случае необходимости должна начинаться командами записи в стек (PUSH) слова состояния программы (PSW), аккумулятора, расширителя, указателя данных и т.д. и заканчиваться командами восстановления из стека (POP). Подпрограммы обслуживания прерывания обязательно завершаются командой RETI, по которой в счетчик команд перезагружается из стека сохраненный адрес возврата в основную программу. Команда RET также возвращает управление прерванной основной программе, но при этом не снимает блокировку прерываний, что приводит к необходимости иметь программный механизм анализа окончания процедуры обслуживания данного прерывания.

 

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)