Устройство управления ( управляющий автомат ) функционирует под действием внешних сигналов и внутренних, формируемых в процессе выполнения команд. Устройство управления работает по жесткому временному циклу, определяемому частотой внутреннего или внешнего генератора.
К внешним сигналам относятся:
XTAL1, XTAL2 – входы внешнего частотно-задающего элемента;
PSEN – чтение внешней памяти программ;
ALE – сигнал разрешения фиксации адреса внешней памяти;
EA – блокировка внутренней памяти программ;
RST – сигнал общего сброса;
и сигналы, формируемые на выводах портов.
Часть сигналов на схеме (рисунок 1) не показана: PROG – сигнал программирования, VPP – напряжение программирования, VPD – вывод резервного питания памяти от внешнего источника.
Частота внутреннего генератора может быть задана подключением к его выводам XTAL1 и XTAL2 кварцевого резонатора (Рисунок 3 а), LC-цепочки (Рисунок 3 б).
В случае LC-цепочки частота синхросигнала определяется выражением:
При использовании внешнего тактового генератора его выход подключается к входу XTAL2, а вывод XTAL1 подключается к общей шине (рисунок 6в).
|
|
Устройство управления на основе сигналов синхронизации формирует машинный цикл фиксированной длительности, равный 12 периодам тактового генератора или 6 состояниям управляющего автомата S1-S6. Каждое состояние содержит две фазы Р1, Р2. В фазе Р1, как правило, выполняется операция АЛУ, а в фазе Р2 осуществляется межрегистровая передача.
При частоте генератора 12 МГц машинный цикл составляет 1 мкс. Дважды за один машинный цикл формируется сигнал ALE.
Машинный цикл служит в основном для внутреннего микропрограммного управления. Цикл выполнения каждой команды состоит из одного, двух или четырех машинных циклов.
Начальная установка (аппаратный сброс) производится с целью запуска или перезапуска микроконтроллера после подачи на него напряжения питания. Сброс осуществляется подачей на вход RESET высокого уровня и удержания его в течение не менее двух машинных циклов. Этот сигнал может подаваться асинхронно по отношению к внутренней частоте ОМК. Вход RESET постоянно опрашивается микроконтроллером в момент S5P2 каждого машинного цикла. После сигнала сброса порты ввода-вывода находятся в неизменном состоянии в течение 19-ти периодов тактирования, после чего в промежутке между 19-м и 31-м тактом переводятся в начальное «единичное» состояние. При этом сигналы ALE и PSEN находятся в неактивном (высоком) состоянии.
По сигналу сброса основные системные регистры микроконтроллера сбрасываются в нулевое состояние, в указатель стека устанавливается число 7, в регистры-защелки портов Р0-Р3 записывается код 0FFh, настраивая Р0-Р2 на вывод данных, а Р3 ‑ на выполнение системных функций. На содержимое внутренней памяти данных сигнал RESET не влияет. При включении питания ячейки резидентной памяти данных устанавливаются в произвольное состояние.
|
|
Длительность сигнала RESET должна быть не меньше времени, необходимого для запуска внутреннего генератора плюс 2 машинных цикла. Время установки генератора зависит от частоты синхронизации и характеристик кварцевого резонатора. При частоте 12 МГц оно обычно составляет около 1 мкс.
Для автоматического рестарта микросхемы после подачи напряжения питания, к выводу RESET необходимо подключить RC-цепочку (рисунок 5), обеспечивающую требуемую задержку, позволяющую генерировать одиночный импульс сброса.
После снятия сигнала RESET проходит от 1 до 2 тактовых периодов до их активизации. При этом микроконтроллер начинает выполнять программу с адреса 0000h внутренней либо внешней памяти программ (в зависимости от уровня сигнала EA). Повторное формирование сигнала RESET выполняется кнопкой КН.