Скачиваний:
54
Добавлен:
21.02.2014
Размер:
628.74 Кб
Скачать

4.2.Порт ввода - вывода bus (или db).

Порт ВUS представляет собой двунаправленный буфер с тремя состояниями и предназначен для побайтного ввода, вывода или ввода-вывода информации.

Если порт ВUS используется для двунаправленных передач, то обмен информацией через него выполняется по командам МОVХ. При выводе байта генерируется стробирующий сигнал ЗП*, а выводимый байт фиксируется в буферном регистре.

При вводе байта генерируется стробирующий сигнал ЧТ*, но вводимый байт в буферном регистре не фиксируется. В отсутствие передач порт ВUS по своим выходам находится в высокоимпедансном состоянии.

Если порт ВUS используется как однонаправленный, то вывод через него выполняется по команде OUTL, а ввод - по команде INS. Вводимые и выводимые через порт ВUS байты можно маскировать с помощью команд AND и OR, что позволяет выделять и обрабатывать в байте отдельный бит или группу бит. Для этого предварительно по команде "OUTL BUS,А" в порт ВUS из аккумулятора должна быть загружена маска.

В МК-системах простой конфигурации, когда порт BUS не используется в качестве порта-расширителя системы, обмен выполняется по командам INS, OUTL и MOVX. Возможно попеременное использование команд OUTL и MOVX. Однако при этом необходимо помнить, что выводимый по команде OUTL байт фиксируется в буферном регистре порта BUS, а команда MOVX уничтожает содержимое буферного регистра порта.

В МК-системах, имеющих внешнюю память программ, порт BUS используется для выдачи адреса внешней памяти и для приема команды из внешней памяти программ. В таких системах использование команды "OUTL BUS" недопустимо, так как фиксация в буферном регистре порта ВUS выводимого байта явится причиной неправильной выборки следующей команды.

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

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

5.Управление работой микроконтроллера мк1816

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

5.1.Синхронизация микроконтроллера.

Опорную частоту синхронизации определяет или кварцевый резонатор (осциллятор), подключаемый к входам XI и Х2, или LC-цепь; X1 является входом, а Х2 - выходом генератора, способного работать в диапазоне частот от 1 до 6 МГц. На вход X1 может подаваться сигнал от источника внешней синхронизации. Схема синхронизации МК показана на рисунке ниже (часть "а"). В нее входят два счетчика с модулями пересчета 3 и 5. Первый используется для формирования сигнала системной синхронизации, который может передаваться на вывод Т0 после команды ENT0 CLK. Этот же сигнал поступает на счетчик машинных циклов, на выходе которого через каждые пять сигналов синхронизации МК формируется сигнал САВП, идентифицирующий каждый машинный цикл и используемый в расширенных МК-системах для стробирования адреса внешней памяти. Временные диаграммы машинного цикла и цикла команды МК показаны на рисунке (часть "б").

Соседние файлы в папке МП К1816ВЕ4