Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Регистр масок прерывания (РМП)



Символ Позиция Имя и назначение
ЕА IE.7 Снятие блокировки прерываний. Сбрасывается программно для запрета всех прерываний независимо от состояний IЕ4 - IЕ0
---- IE.6

Не используются

---- IE.5
ES IE.4 Бит разрешения прерывания от УАПП. Установка/сброс программой для разрешения/запрета прерываний от флагов TI или RI
ET1 IE.3 Бит разрешения прерывания от таймера 1. Установка/сброс программой для разрешения/запрета прерываний от таймера 1
EX1 IE.2 Бит разрешения внешнего прерывания 1. Установка/сброс программой для разрешения/запрета прерываний
ET0 IE.1 Бит разрешения прерывания от таймера 0. Работает аналогично IE.3
EX0 IE.0 Бит разрешения внешнего прерывания 0. Работает аналогично IE.2

Табл. 2.8

Регистр приоритетов прерываний

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

 

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

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

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

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

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

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

 

Совмещение адресного пространства МК51

Рис. 2.6 Схема совмещения адресного пространства

 

Здесь на выходе схемы И формируется строб-сигнал чтения, который может быть использован для объединения памяти программ и памяти данных во внешнем ОЗУ. При этом необходимо учитывать, что в МК51 на схемном уровне реализуются пять различных и независимых механизмов адресации для доступа к ПРР, РПД, ВПП, ВПД и блоку регистров специальных функций. Вследствие этого перемещаемая версия прикладной программы, которая отлаживается в среде внешней памяти программ/данных, будет отличаться от загружаемой в РП (окончательной) версии программы.

Подобный способ организации управления внешней памятью может быть использован в тех применениях МК51, где требуется оперативная перезагрузка или модификация прикладных программ (с помощью УВВ), как в ЭВМ классической архитектуры.

 

Особенности поведения МК при подаче сигнала сброса

В отличие от МК48 сброс МК51 осуществляется путем подачи на вход СБР (RST) сигнала 1. Для уверенного сброса МК51 этот сигнал 1 должен быть удержан на входе СБР по меньшей мере в течение двух машинных циклов (24 периода резонатора). Квазидвунаправленные буферные схемы внешних выводов ALE и PSEN находятся при этом в режиме ввода. Под воздействием сигнала СБР сбрасывается содержимое регистров: PC, АСС, В, PSW, DPTR, TMOD, TCON, Т/C0, T/C1, IE, IP и SCON, в регистре PCON сбрасывается только старший бит, в peгистр-указатель стека загружается код 07Н, а в порты Р0-Р3 – коды 0FFH. Состояние регистра SBUF неопределенное. Сигнал СБР не воздействует на содержимое ячеек РПД. Когда включается электропитание (VCC), содержимое РПД неопределенно, за исключением операции возврата из режима пониженного энергопотребления.

 

Доступ к внешней памяти

 

В микроконтроллерных системах, построенных на основе МК51, возможно использование двух типов внешней памяти: постоянной памяти программ (ВПП) и оперативной памяти данных (ВПД). Доступ к ВПП осуществляется при помощи управляющего сигнала РВПП, который выполняет функцию строб сигнала чтения. Доступ к ВПД обеспечивается управляющими сигналами ЧТ и ЗП, которые формируются в линиях Р3.7 и Р3.6 при выполнении портом 3 альтернативных функций.

При обращении к ВПП всегда используется 16-битный адрес. Доступ к ВПД возможен с использованием 16-битного адреса (MOVX A, @DPTR) или 8-битного адреса (MOVX A, @Ri).

В любых случаях использования 16-битного адреса старший байт адреса фиксируется (и сохраняется неизменным в течение одного цикла записи или чтения) в регистре-защелке порта 2.

Если очередной цикл внешней памяти (MOVX A, @DPTR) следует не сразу же за предыдущим циклом внешней памяти, то неизменяемое содержимое регистра-защелки порта 2 восстанавливается в следующем цикле. Если используется 8-битный адрес (MOVX A, @Ri), то содержимое регистра-защелки порта 2 остается неизменным на его внешних выводах в течение всего цикла внешней памяти.

Через порт 0 в режиме временного мультиплексирования осуществляется выдача младшего байта адреса и передача байта данных. Сигнал САВП должен быть использован для записи байта адреса во внешний регистр. Затем в цикле записи выводимый байт данных появляется на внешних выводах порта 0 только перед появлением сигнала ЗП. В цикле чтения вводимый байт данных принимается в порт 0 по фронту стробирующего сигнала ЧТ.

При любом обращении к внешней памяти устройство управления MK51 загружает в регистр-защелку порта 0 код 0FFH, стирая тем самым информацию, которая могла в нем храниться.

Доступ к ВПП возможен при выполнении двух условий: либо на вход отключения резидентной памяти программ ( ОРПП) подается активный сигнал, либо содержимое счетчика команд превышает значение 0FFFH. Наличие сигнала ОРПП необходимо для обеспечения доступа к младшим 4К адресам адресного пространства ВПП при использовании МК31 (микроконтроллера без резидентной памяти программ).

При обращении к РПП сигнал РВПП не генерируется, а при обращении к ВПП он выполняет функцию строб-сигнала чтения. Полный цикл чтения ВПД, включая установку и снятие сигнала ЧТ, занимает 12 периодов резонатора.

 

Программирование МК

Под воздействием внешних электрических сигналов МК51 может быть электрически запрограммирован или, иными словами, в РПП микроконтроллера могут быть загружены объектные коды прикладной программы. Содержимое РПП микроконтроллера может быть уничтожено выдержкой под ультрафиолетовым источником света (стирание) для последующего перепрограммирования. Микроконтроллер имеет средство защиты от программного " разбоя", обеспечивающее невозможность прочтения содержимого РПП в конечном изделии и, следовательно, сохранение профессиональных секретов разработчика прикладного программного обеспечения.

В режиме программирования МК51 должен работать на пониженной частоте (с резонатором 4-6 МГц) из-за необходимости мультиплексирования на внутренней шине адресной и кодовой информации. На рисунке 2.7 приведена схема подключения МК51 к программатору.

Рис. 2.7 Схема подключения МК к программатору

 

Адрес ячейки РПП, в которую должен быть загружен байт прикладной программы, подается на выводы порта 1 и выводы P2.0-Р2.3 порта 2. При этом загружаемый байт поступает в МК через порт 0. Выводы Р2.4-Р2.6 и PSEN должны быть заземлены, а на выводы Р2.7 и RST необходимо подать уровень логической 1 (для входа RST уровень логической 1 – не менее 2.5 В, для остальных входов – стандартный уровень ТТЛ). На входе EA/VPP поддерживается уровень +5 В, но в момент загрузки байта он должен быть подключен к источнику напряжения с уровнем +21 В. В это время уровень на входе ALE/ PROG должен быть не менее чем на 50 мс сброшен в 0. После этого напряжение на входе EA/VPP возвращается к уровню +5 В. Источник напряжения +21 В (VPP) должен быть очень хорошо стабилизирован, так как превышение предельного значения +21.5 В на входе EA/VPP приводит к необратимым повреждениям РПП.

 

Запись бита защиты

Бит защиты РПП, будучи установлен, запрещает доступ к РПП любыми внешними средствами. Схема записи бита защиты показана на рисунке 2.8.

 

Рис. 2.8 Схема для подключения для записи бита защиты

 

Процедура записи бита защиты такая же, как и при загрузке программ в РПП, но на вывод P2.6 должен подаваться уровень 1. Сигналы на выводах портов P0, P1 и P2.0-P2.3 могут быть в любом состоянии. Однажды установленный бит защиты можно сбросит только путем полного стирания РПП под источником ультрафиолетового излучения.


Поделиться:



Последнее изменение этой страницы: 2020-02-17; Просмотров: 106; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.016 с.)
Главная | Случайная страница | Обратная связь