Главная » Файлы » Қазақша рефераттар » Информатика | [ Добавить материал ] |
05.01.2016, 18:09 | |
Организация прерываний микроконтроллера 8051. Регистры прерываний.
В блоке регистров специальных функций есть два регистра, предназначенных для управления режимом прерываний IE и уровнями приоритета IP. Возможность программной установки/сброса любого управляющего бита в этих двух регистрах делает систему прерываний 8051 исключительно гибкой. В таблицах 2.6 и 2.7 описаны назначения битов регистров IE и IP. Таблица 2.6 – Регистр масок прерывания (IE)
Символ Позиция Имя и назначение 1 2 3 EA IE.7 Снятие блокировки прерывания. Сбрасывается, программно для запрета всех прерываний независимо от состояний IE.4 - IE.0
IE.6 Не используется
lE.5 Не используется ES IE.4 Бит разрешения прерывания, от приемопередатчика Установка/сброс программой для разрешения/запрета прерываний от флагов TI или RI . ET1 IE.3 Бит разрешения прерывания от таймера. Установка/сброс программой для разрешения/запрета прерываний от таймера 1 EX1 IE.2 Бит разрешения внешнего прерывания 1. Установка/сброс программой для разрешения/запрета прерывания 1 ET0 IE.1 Бит разрешения прерывания от таймера 0. Установка/сброс программой для разрешения/запрета прерываний от таймера 0 EX0 IE.0 Бит разрешения внешнего прерывания 0. Установка/сброс программой для разрешения/запрета прерывания 0 Таблица 2.7 – Регистр приоритетов прерываний (IP) Символ Позиция Имя и назначение - IP.7 - IP.5 Не используется PS IP.4 Бит приоритета приемопередатчика. Установка/сброс программой для присваивания прерыванию от приемопередатчика высшего/низшего приоритета. РТ1 IP.3 Бит приоритета таймера 1. Установка/сброс программой для присваивания прерыванию от таймера 1 высшего/низшего приоритета. РХ1 IP.2 Бит приоритета внешнего прерывания 1. Установка/сброс программой для присваивания высшего/низшего приоритета внешнему прерыванию INT1. РТ0 IP.1 Бит приоритета таймера 0. Установка/сброс программой для присваивания прерыванию от таймера 0 высшего/низшего приоритета. РХ0 IP.0 Бит приоритета внешнего прерывания 0. Установка/сброс программой для присваивания высшего/низшего приоритета внешнему прерыванию INT0.
Система прерываний формирует аппаратный вызов (LCALL) соответствующей подпрограммы обслуживания, если она не заблокирована одним из следующих условий: в данный момент обслуживается запрос прерывания равного или высокого уровня приоритета; По аппаратно сформированному коду LCALL система прерывания помещает в стек только содержимое счетчика команд (PC) и загружает в него адрес вектора соответствующей подпрограммы обслуживания. По адресу вектора должна быть расположена команда безусловной передачи управления (JMP) к начальному адресу подпрограммы обслуживания прерывания. В случае необходимости она должна начинаться командами записи в стек (PUSH) слова состояния программы (PSW), аккумулятора, расширителя, указателя данных и т.д. и должна заканчиваться командами восстановления из стека (POP). Подпрограммы обслуживания прерывания должны завершаться командой RETI, по которой в счетчик команд перезагружается из стека сохраненный адрес возврата в основную программу. Команда RET также возвращает управление прерванной основной программе, но при этом не снимут блокировку прерываний, что приводит к необходимости иметь программный механизм анализа окончания процедуры обслуживания данного прерывания. | |
Просмотров: 1452 | Загрузок: 0 | |
Всего комментариев: 0 | |