| Главная страница | | Архитектура микроЭВМ | | Принципы обмена данными | | Лабораторные работы | | Примеры систем | | Программно-логическая модель | | Справочная информация |
 
Однокристальная микроЭВМ МК51 Порты ввода-вывода

    Порты Р0-Р3 микроЭВМ являются двунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией микроЭВМ с внешними устройствами, образуя 32 линии ввода-вывода. Каждый из портов содержит фиксатор-защелку, который представляет собой 8-разрядный регистр, имеющий байтовую и битовую организацию для установки (сброса) разрядов с помощью програмного обеспечения. Основные
функциональные узлы

Система команд
Организация памяти
Порты ввода-вывода
Система прерываний
Блок таймеров/счетчиков
Последовательный
порт

   РЕЖИМ ПОРТОВ ОБЩЕГО НАЗНАЧЕНИЯ

    Каждый вывод портов Р0-Р3 может независимо от других использоваться как вход или как выход. Для использования вывода в качестве входа необходимо, чтобы его защелка содержала "1". Запись "1" может быть выполнена с помощью команды выдачи данных. Порты Р1-Р3 иногда называют "квазидвунаправленными". Порт Р0 является в чистом виде двунаправленным портом. Если он используется в качестве порта ввода-вывода общего назначения, каждый из его выводов может независимо от других работать как вход или как выход.
    Все разряды фиксаторов защелок портов Р0-Р3 по сигналу системного сброса устанавливаются в "1".
    При выполнении команды записи в порт новое значение записывается в защелку и в начале следующего машинного цикла выводится непосредственно на выходной контакт. Данные, записанные в защелку, статически фиксируются и не изменяются до перезаписи.
    Команды чтения портов микроЭВм делятся на две категории: команды, считывающие информацию с выходов защелок, и команды, считывающие информацию непосредственно с внешних контактов выводов порта. Команды, считывающие информацию с выходов защелок, реализуют так называемый режим "Чтение-Модификация-Запись", заключающийся в том. что команда считывает состояние защелки, при необходимости модифицирует полученное значение и записывает результат обратно в защелку. Во всех случаях, когда операндом и регистром назначения результата является порт или бит порта, команды считывают информацию с выходов защелок, а не с внешних контактов выводов порта.
    Состояние любой линии ввода-вывода можно проверить с помощью команд условного перехода.
    Помимо работы в качестве обычных портов ввода-вывода линии портов Р0-Р3 могут выполнять ряд дополнительных функций.

   ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ

    Через порт Р0:
        - выводится младший байт адреса А0-А7 при работе с внешней памятью программ и внешней памятью данных.;
        - выдается из микроЭВМ и принимается в микроЭВМ байт данных при работе с внешней памятью (при этом обмен байтом данных и вывод младшего байта адреса внешней памяти мультиплексированы во времени). Информация, выдаваемая портом, сопровождается инверсным строб-импульсом WR. При записи информации в порт вырабатывается инверсный строб-импульс RD;
        - задаются данные при программировании внутреннего ППЗУ и читается содержимое внутренней памяти программ.

Обмен
с внешней памятью

    Через порт Р1:
        - задается младший байт адреса при программировании внутреннего ППЗУ и при чтении внутренней памяти программ.

    Через порт Р2:
        - выводится старший байт адреса А8-А15 при работе с внешней памятью программ и внешней памятью данных (для внешней памяти данных - только при использовании команд MOVX A,@DPTR и MOVX @DPTR,A, которые вырабатывают 16-разрядный адрес;
        - задается старший байт (разряды А8-А14) адреса при программировании внутреннего ППЗУ и при чтении внутренней памяти программ.

    Каждая линия порта Р3 имеет так называемую индивидуальную альтернативную функцию. Альтернативная функция любой из линий порта Р3 реализуется только в том случае, если в соответствующем этой линии разряде фиксатора-защелки содержится "1". В противном случае на линии порта Р3 будет присутствовать "0".
Альтернативные
функции

| На главную страницу | На начало раздела | На начало страницы | © КСиТ МИФИ, 2000 г.