Синхронизация процессора
2.9.1. Все МК 80С51 имеют встроенный генератор, который может быть использован в качестве тактового генератора для синхронизации процессора и других функциональных узлов. Для запуска встроенного тактового генератора, требуется подключить кварцевый резонатор и два конденсатора с емкостью 30 пФ ко входам XTAL1 и XTAL2 МК, как показано на рис. 2.8. Для всех типов микросхем подсемейства 80С51 (кроме 87С51) максимальная частота кварцевого резонатора равна 12 или 16 Мгц, для микросхем типа 87С51 – 12, 16, 20 или 24 Мгц.
Рис. 2.8. Схема запуска внутреннего тактового генератора
2.9.2. Для синхронизации микроконтроллера может быть использован внешний тактовый генератор, выход которого соединяется со входом XTAL1 (рис. 2.9).
Рис. 2.9. Подключение внешнего тактового генератора к МК 80С51
2.9.2. Тактовый генератор вырабатывает сигналы синхронизации, с помощью которых формируется машинный цикл МК. Машинный цикл состоит из шести состояний (S1 ¸ S6), а каждое состояние – из двух фаз (P1 и P2). Продолжительность одной фазы равна периоду тактового генератора (рис.2.10). Таким образом, машинный цикл имеет постоянную длительность, равную двенадцати периодам тактового генератора.
2.9.3. Дважды в течение каждого машинного цикла МК вырабатывает сигнал ALE. При использовании внешней программной памяти также дважды в течение каждого машинного вырабатывается сигнал PSEN’ (см. рис. 2.10, А). Исключением является второй цикл команды MOVX, в течение которого сигналы ALE и PSEN’ вырабатываются только один раз, но вырабатывается сигнал RD’ или WR’ (см.
рис. 2.10, В).
2.9.4. Чтение кода операции (первого байта команды) выполняется в фазе S1P1 первого машинного цикла команды по адресу, который находится в программном счетчике (см. подраздел 2.13). При выборке из внешней программной памяти вывод младшего байта программного счетчика (PCL OUT) осуществляется через порт P0, вывод старшего байта программного счетчика (PCH OUT) – через порт Р2 (см.
рис. 2.10, А). Ввод байта из внешней программной памяти (INST IN) осуществляется через порт P0. После выборки из программной памяти программный счетчик инкрементируется (содержимое счетчика увеличивается на 1). Следующая выборка из программной памяти производится в фазе S4P1. Если выполняемая команда является однобайтовой, например INC A, то второй байт игнорируется процессором и программный счетчик не инкрементируется. В том случае, когда однобайтовая команда выполняется в течение двух машинных циклов, например INC DPTR, игнорируются также два байта, считанные из программной памяти в фазах S1P1 и S4P1 второго машинного цикла.
2.9.5. При обращении к внешней памяти данных по команде MOVX (см.
рис. 2.10, В) младший байт адреса ячейки памяти “защелкивается” во внешнем регистре-защелке в конце фазы S5P1 первого машинного цикла (ADDR OUT). Старший байт адреса ячейки памяти выводится через порт P2 из регистра-указателя данных или регистра-защелки порта Р2 (DPH OUT OR P2 OUT). Ввод данных в микроконтроллер (DATA IN) осуществляется в фазе S3P1 второго машинного цикла команды MOVX.
Рис. 2.10. Временные диаграммы работы МК 80С51 при выполнении команд из внешней программной памяти:
Дата добавления: 2015-10-09; просмотров: 1529;