Устройство управления и синхронизации
К внешним выводам XTAL1 и XTAL2 МК51 подключается кварцевый резонатор, который управляет работой внутреннего генератора OSC. С его помощью устройство управления формирует сигналы синхронизации. Устройство управления и синхронизации формирует машинный цикл фиксированной длительности. Каждый машинный цикл равен 12 периодам резонатора или 6 состояниям первичного управляющего автомата.
Состояния обозначаются как S1 – S6. Каждое состояние содержит две фазы P1 и P2. В фазе Р1, как правило, выполняется операция в АЛУ, а в фазе Р2 выполняется межрегистровая передача. Большинство сигналов устройства управления являются внутренними и ненаблюдаемыми. Внешними, наблюдаемыми сигналами синхронизации МК51 являются только сигнал резонатора XTAL2 и строб адреса внешней памяти ALE (рисунок 4 .39).
Рисунок 4.39 – Внешние сигналы синхронизации
Сигнал ALE формируется дважды за машинный цикл (S1P2 – S2P1 и S4P2 – S5P1). Этот сигнал используется для управления процессом обращения к внешней памяти. Этот же сигнал можно использовать для синхронизации работы и тактирования внешних устройств, подключенных к МК51.
Весь машинный цикл состоит из 12 фаз, начиная с S1P1 и кончая S6P2. Поэтому при частоте кварцевого резонатора 12 МГц период выполнения машинного цикла составляет 110-6 с. В этом случае период сигнала ALE составляет 0.510-6 с.
Большинство команд МК51 выполняются за один машинный цикл. Команды, оперирующие 16-битовыми словами, или требующие обращения к внешней памяти программ или данных, выполняются за два машинных цикла. Только команды умножения и деления выполняются за четыре машинных цикла. На основе знания этих особенностей в работе схемы синхронизации выполняется расчет необходимого времени выполнения прикладных программ.
Порты ввода/вывода
Все четыре порта МК51 являются двунаправленными. Каждый из них состоит из регистра-защелки, выходного драйвера и входного буфера. Выходные драйверы портов Р0 и Р2 и входной буфер порта Р0 используются при обращении к внешней памяти программ и внешней памяти данных. Через порт Р0 в режиме временного мульти-плексирования выводится младший байт адреса внешней памяти, а затем передается или принимается байт данных/команды. Через порт Р2 выдается старший байт адреса при 16-битовых адресах.
Все выводы порта Р3 могут быть использованы для альтернативных функций (таблица 4 .13). Для разрешения альтернативных функций в соответствующие разряды регистра-защелки порта Р3 необходимо записать «1».
Таблица 4.13 – Альтернативные функции порта P3 Порт ввода/вывода P3 Адрес 0B0h
Имеет битовую адресацию
| Название бита
| Адрес бита
| Позиция бита
| Имя и назначение
| RD
| 0B7H
| P3.7
| Чтение. При чтении ВПД аппаратно формируется сигнал низкого уровня
| WR
| 0B6H
| P3.6
| Запись. При записи в ВПД аппаратно формируется сигнал низкого уровня
| T1
| 0B5H
| P3.5
| Вход таймера/счетчика 1 или тест–вход
| T0
| 0B4H
| P3.4
| Вход таймера/счетчика 0 или тест–вход
| INT1
| 0B3H
| P3.3
| Вход запроса прерывания 1. Активен срез или низкий уровень.
| INT0
| 0B2H
| P3.2
| Вход запроса прерывания 0. Активен срез или низкий уровень.
| TXD
| 0B1H
| P3.1
| Выход передатчика последовательного порта. Выход синхронизации в режиме сдвигающего регистра.
| RXD
| 0B0H
| P3.0
| Вход приемника последовательного порта. Ввод/вывод данных в режиме сдвигающего регистра.
|
Каждый бит любого порта может быть независимо настроен на ввод или вывод информации. Для использования разряда порта на ввод необходимо записать «1» в соответствующий триггер-защелку, что закрывает выходной МОП-транзистор. Есть некоторая разница в строении порта Р0 и портов Р1, Р2 и Р3. Порт Р0 является двунаправленным, а порты Р1 – Р3 – квазидвунаправленными.
Для вывода информации в нужный разряд порта Р0 (рисунок 4 .40) используется сигнал «Запись в порт». Сигнал «Управление» переключает мультиплексор для вывода через порт Р0 байта адреса или данных, поступающих по линии «Адрес/данные». В этом режиме верхний МОП-транзистор открывается только при выдаче бита «1». В других случаях этот транзистор заперт. Поэтому линии порта Р0, используемые для вывода, являются выходами с открытым стоком.
Рисунок 4.40 – Структура одного разряда порта Р0
Строение битов порта Р2 близко к строению битов порта Р0, а строение порта Р1 аналогично строению порта Р3 (рисунок 4 .41).
Для выполнения альтернативных функций порта Р3 в его схеме имеются соответствующие выводы «Альтернативная функция выхода» и «Альтернативная функция входа». Для разрешения использования альтернативных функций в соответствующие триггеры-защелки порта Р3 необходимо записать «1».
При чтении информации из разрядов порта Р0 и других портов могут использоваться два сигнала:
чтение буфера-защелки («Чтение буфера»);
чтение контакта вывода («Ввод»).
Соответственно, информация будет читаться из буфера-защелки или с внешнего вывода порта. Вид чтения определяется типом команды. Разные способы чтения необходимы, чтобы исключить неправильное чтение содержания порта в некоторых командах, искажаемое за счет мощной внешней нагрузки разрядов порта.
Рисунок 4.41 – Структура одного разряда порта Р3
По сигналу сброса во все регистры-защелки всех портов записывается «1», и, таким образом, все порты настраиваются на режим ввода.
Выходные линии портов Р1, Р2 и Р3 по нагрузочной способности могут работать на один вход ТТЛ-схемы. Выходы порта Р0 могут быть подключены к двум ТТЛ-входам. Входные сигналы всех портов могут обслуживаться как выходами ТТЛ-схем, так и n-МОП элементами.
|