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

Организация и особенности использования однокристальных микроконтроллеров (продолжение) Организация ввода-вывода информации в мк 1816

Для связи МК 1816 с объектом управления, для ввода и вывода информации используется 27 линий. Эти линии сгруппированы в 3 порта по 8 линий в каждом и могут быть использованы для вывода, ввода или для вывода - ввода через двунаправленные линии. Кроме портов ввода - вывода, имеются 3 входные линии, сигналы на которых могут изменять ход программы, а именно:

  • линия ЗПР* используется для ввода в МК сигнала запроса прерывания от внешнего источника;

  • линия Т0 предназначена для ввода тестирующего сигнала от двоичного датчика объекта управления. Кроме того, под управлением программы (ENT0 CLC - команда "разрешение выдачи сигнала синхронизации") по этой линии из МК может выдаваться сигнал синхронизации;

  • линия Т1 используется для ввода тестирующего сигнала или в качестве входа счетчика событий (по команде STRT CNT - "запуск счетчика событий").

Порты (или каналы) ввода - вывода Р1 и Р2.Каждая линия портов Р1 и Р2 может быть программным путем настроена на ввод, вывод или на работу с двунаправленной линией передачи. Специальная схемотехника цепей вывода портов Р1 и Р2, обеспечивающая квазидвунаправленную работу портов, несмотря на то, что выходы схем вывода статически заперты. На нижеследующем рисунке представлена схема одной линии (одного разряда) порта.

Каждый контакт ввода - вывода портов Р1 и Р2 является выходом с открытым стоком и входом с высоким импедансом, соответствующим по логическому уровню сигналу 1. Линия постоянно подключена к источнику электропитания +5 В через резистор большого сопротивления (50 КОм), чем обеспечивается для единичной стандартной ТТЛ-нагрузки достаточный ток, соответствующий логической 1. В то же время потенциал в линии может быть приближен к потенциалу "земли" (уровень логического 0) нулевым сигналом на выходе стандартной ТТЛ-схемы. Чем и обеспечивается возможность использовать статически запертую схему вывода как для ввода, так и для вывода информации.

При передаче на выход из МК уровня 1 по сигналу ЗАПИСЬ для ускорения переходного процесса от 0 к 1 на короткое время (0,5 мкс) открывается верхний МОП-транзистор с относительно низким сопротивлением (5 КОм). При передаче в линию уровня 0 открытым оказывается нижний МОП-транзистор выходной схемы с сопротивлением 3 КОм. Это сопртивление достаточно малое для того, чтобы обеспечить отвод тока из входной цепи ТТЛ-нагрузки.

Для того, чтобы настроить некоторую линию на режим ввода в МК, необходимо перед этим в буферный D-триггер этой линии записать 1. При этом нижний МОП-транзистор выходной схемы окажется закрытым и это обеспечит ТТЛ-источнику вводимого сигнала высокоимпедансную нагрузку. Сигнал системного сброса СБРОС* автоматически записывает во все линии портов Р1 и Р2 сигнал 1.

Квазидвунаправленная структура портов Р1 и Р2 для программиста МК 1816 специфична тем, что в процессе ввода информации выполняется операция логического И над вводимыми данными и текущими (последними выводимыми) данными. Для того, чтобы можно было осуществить ввод, программист должен следить за тем, чтобы в соответствующих линиях ввода сохранялось значение 1. Квазидвунаправленные буферные схемы портов Р1 и Р2 и команды логических операций ANL (логическое И аккумулятора с маской в регистре) и ORL (логическое ИЛИ аккумулятора с непосредственным операндом или с маской в регистре или в ячейке памяти) представляют программисту эффективное средство маскирования для обработки однобитовых входов и выходов в МК.

Порт ввода - вывода 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.

http://www.kosmos.mk.ua/usmtu/mpk/k1816/k1816org4.html

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