Особенности поведения МК при подаче сигнала сброса
Совмещение адресного пространства МК51
Рис.43
Здесь на выходе схемы И формируется строб-сигнал чтения, который может быть использован для объединения памяти программ и памяти данных во внешнем ОЗУ. При этом необходимо учитывать, что в МК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 периодов резонатора.