Порты ввода - вывода


Система ввода-вывода (ВВ) микроконтроллеров MCS - 51 состоит из четырех двунаправленных 8-разрядных портов P0-P3. Каждый из портов содержит регистр - защелку, имеющий байтовую и битовую адресацию для установки (сброса) разрядов с помощью программного обеспечения. Все порты ВВ отображены в пространстве внутренней памяти DSEG по адресам 80H, 90H, 0A0h, 0B0H и ничем не отличаются от обычных ячеек памяти. Таким образом, любая команда с операндом из внутренней памяти может быть применена к содержимому портов P0-P3. Порты P0-P3 совмещены с битовым пространством BSEG, что обеспечивает доступ к отдельным его разрядам независимо от других. Порты P0-P3 занимают в битовом пространстве BSEG адреса 80H-87H, 90H-97H, 0A0H-0A7H и 0B0H-0B7H соответственно.

Помимо работы в качестве обычных портов ввода/вывода линии портов P0-P3 могут выполнять ряд дополнительных функций, описанных ниже.

При обращении к внешней памяти программ или данных порты P0 и P2 выполняют функции системной шины - совмещенной шины адрес/данные и адресной шины соответственно. Младший байт адреса и данные передаются через порт P0 в мультиплексном режиме: сначала выводится адрес, а затем выдается или принимается в МК байт данных. Старший байт адреса выдается через порт P2.

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

Линии порта P3 реализуют управление циклами обмена и другие специальные функции аппаратного уровня, описываемые в таблице 12.3.

Таблица 12.3

Функции линий порта Р3

Бит Мнемоника Назначение
P3.0 RxD Вход приемника последовательного канала
P3.1 TxD Выход передатчика последовательного канала
P3.2 Вход запроса на прерывание 0
P3.3 Вход запроса на прерывание 1
P3.4 T0 Внешний вход таймера/счетчика 0
P3.5 T1 Внешний вход таймера/счетчика 1
P3.6 Строб записи в XSEG
P3.7 Строб чтения из XSEG

Последнее используется при обращении к внешней памяти. Во время обращения к внешней памяти содержимое разрядов регистра-защелки порта P2 не изменяется, а во все разряды регистра - защелки порта P0 всегда автоматически записываются «1».

Каждая линия портов может быть использована независимо для ввода или вывода информации. Для перевода какой-либо линии порта в режим ввода информации в соответствующий разряд регистра-защелки должна быть записана логическая 1. При сбросе состояние всех портов устанавливается равным 0FFH.

Любую линию ввода-вывода порта можно проверить с помощью команд условного перехода.

Порты P1-P3 имеют встроенную нагрузку, тогда как для порта P0, выполненного по схеме с открытым стоком, требуется внешняя нагрузка (за исключением случая, когда шина порта P0 используется в качестве шины «адрес/данные» внешней памяти).

Команды чтения портов МК делятся на две категории: команды, считывающие информацию непосредственно с внешних выводов порта, и команды, считывающие информацию с выходов регистров-защелок.

К командам чтения первой категории относятся, например, команды:

MOV A,<port>; MOV Rn,<port>; MOV @Ri,<port>; MOV C,<port.bit>.

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

Примеры подобных команд:

ANL <port>,<source>; ORL <port>,<source>; XRL <port>,<source>;

JBC <port.bit>,<addr>; CPL <port.bit>; INC <port>; DEC <port>;

DJNZ <port>,<addr>; CLR <port.bit>; SETB <port.bit>;

MOV <port.bit>,<source>;

где <source> - операнд-источник - аккумулятор, регистр, косвенно-адресуемая ячейка памяти.

Причиной, по которой команды «чтение-модификация-запись» обеспечивают раздельный доступ к регистру-защелке порта и к внешним выводам порта, является необходимость исключить возможность неправильного прочтения уровней сигналов на внешних выводах.



Дата добавления: 2021-12-14; просмотров: 301;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.