Скачиваний:
90
Добавлен:
21.02.2014
Размер:
4.45 Mб
Скачать

4.2.1.2 Особенности работы р0 в качестве портов ввода/вывода

Сигнал «управление» равен нулю. МХ находится в нижнем положении. На затворе VT1 постоянно присутствует логический 0, и он закрыт.

4.2.1.2.1 Вывод данных через р0

Через РШД внутренним сигналом «запись защёлки» значение i-го выводимого бита запоминается в триггере-защёлке. При выводе логического 0 сигналом высокого уровня, снимаемым с выхода триггера-защёлки, транзисторVT2 открывается (VT1 закрыт постоянно), и с i-го вывода порта Р0 выдаётся логический 0. При выводе логической 1 сигналом низкого уровня, снимаемым с выхода триггера-защёлки, транзистор VT2 закрывается (VT1 закрыт постоянно), иi-й вывод Р0 оказывается «оборванным» - находится в z-состоянии. Поэтому для вывода логической 1 через i-й вывод, когда Р0 работает как порт ввода/вывода, необходимо включать внешний «подтягивающий» резистор (стока) междуиi-м выводом порта Р0 (см. рисунок 11).

4.2.1.2.2 Ввод данных через р0

При вводе данных соответствующий триггер-защёлка должен быть установлен в 1. В противном случае (если он в 0) VT2 – открыт и шунтирует i-й вывод, т.е. постоянно будет вводиться логический 0. Установить триггеры-защёлки в 1 можно различными способами:

  • сигналом «RESET» автоматически во все триггеры-защёлки записываются единицы;

  • при выполнении команд, работающих с ВП (ВПП и ли ВПД), автоматически в триггеры-защёлки записываются единицы;

  • командами, работающими с портом Р0 в целом;

  • командами, работающими с отдельными битами Р0.

При выполнении команд «ввода» вырабатывается внутренний сигнал «чтение выводов», который через буфер В2 передаёт значение i-го вывода Р0 на РШД.

4.2.1.3 Специальный режим использования порта р0:

режим «чтение-модификация-запись»

В этом режиме порт Р0 работает в тех случаях, когда при выполнении команд порт является одновременно операндом и местом назначения результата. При этом информация считывается не с внешних выводов, а из триггеров-защёлок. Это происходит при выработке внутреннего сигнала «чтение защёлки» через буфер В1. Внутри микроконтроллера происходит модификация содержимого i-го триггера-защёлки в соответствии с выполняемой командой, а затем запись нового значения обратно в триггер-защёлку.

Если считывать информацию не из триггеров-защёлок, а с внешних выводов, то возможна ошибка. Например, если единичный выходной сигнал управляет каким-то мощным исполнительным элементом, то этот сигнал может падать по уровню и при чтении с вывода Р0, а не из защёлок, может восприниматься как логический 0 вместо логической 1.

4.2.2 Особенности работы порта р1

Порт Р1 не используется при работе с внешней памятью, поэтому в отличие от портов P0 и P2 является "чистым" портом ввода-вывода.

Структура Р1 приведена в [1] и очень похожа на рассмотренную выше схему порта Р0 (рисунок 11).

Порт Р1 содержит 8 триггеров-защёлок, буферы ввода-вывода, несколько МОП-транзисторов, один из которых выполняет функцию внешнего ("подтягивающего") резистора Rc, группу дополнительных логических элементов для повышения быстродействия.

Порт Р1 может использоваться в режиме "чтение – модификация – запись", который описан при рассмотрении порта Р0.

Кроме применения в качестве порта ввода-вывода порт Р1 применяется при программировании и проверке РПП (см. раздел 6).

Каждая из восьми линий порта Р1 может программироваться независимо друг от друга на ввод или вывод информации.

Соседние файлы в папке КУРСАЧ