Скачиваний:
28
Добавлен:
01.05.2014
Размер:
7.32 Mб
Скачать

6.4. Контакты квази-двунаправленного порта

Квази - Двунаправленные контакты могут использоваться как для ввода, так и для вывода ( без потребности в логике управления направлением ). Эти контакты выводят сильно управляемый сигнал низкого уровня(0) или слабо управляемый сигнал высокого уровня(1). Слабый сигнал высокого уровня можно внешне изменить(на 0), обеспечивая функции ввода. На рис.25 приведена схема контакта квази-двунаправленного порта

Подобно контакту порта ввода, он имеет триггер выборки(Sample Latch) и буфер чтения. Подобно контакту порта вывода, он имеет защелку порта(Port Latch).

Выходной драйвер(Q1,Q2,Q3,Q4) обеспечивает функции квази - двунаправленного порта.

Выход контакта может иметь только два статических значения: сильно управляемое низкое(0) или слабо управляемое высокое(1).

Запись нуля в контакт порта разрешает работу сильного низкого драйвера(Q3) и поэтому изменить значение контакта с 0 на 1 невозможно.

Запись единицы в контакт порта отключает сильный низкий драйвер (Q2) и допускает работу очень слабого высокого драйвера (Q3). Для того, чтобы быстро получить контакт высокого значения , сильный высокий драйвер (Q1) допускается в течение одного времени состояния и затем блокируется (активным остаётся только Q3).

Способность перевозбуждать(изменять 1 на 0) слабый драйвер вывода - это то, что дает контакту квази-двуна-правленного порта возможность ввода.

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

Выход контакта квази - двунаправленного порта также содержит нагрузочный драйвер (Q3) который допускается всякий раз, когда в защелку вывода записывается единица.

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

6.5 Контакты Двунаправленного Порта с открытым стоком

Контакты Двунапраленного Порта с открытым стоком функционируют подобно квази -двунаправленным контактам порта, за исключением того, что нет никаких сильных или слабых высоких драйверов. На рис.26 приведена схема

контакта Двунапраленного Порта с открытым стоком .

Запись нуля на защелку порта допускает сильный низкий драйвер (Q1). Пока Q1 активен, невозможно извне перевозбудить нуль без того, чтобы не нарушить работу устройства. Единица, записанная в защелку порта отключает Q1 и переводит контакт порта в высокоимпедансное состояние.

Внешне, контакт порта может быть высоко управляемым с помощью нагрузочного резистора или логического ключа.

6.6.Программирование Портов ввода-вывода

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

Не все SFRs портов являются и читаемыми и записываемыми одновременно( например, SFR Порта 0 только читаем ). Также, не все SFRs существуют в одном и том же горизонтальном окне (например, запись в регистры управления SFR осуществляется в HWindow 0, а чтение в HWindow 15 ).

IOPORT0, IOPORT1, и IOPORT2 - SFRs, используемые для того, чтобы читать Порт 0, читать/записывать Порт 1, и читать/записывать Порт 2, соответственно.

Таблица 9 показывает, что происходит при чтении или записи каждого порта ввода-вывода и какие условия могут вызвать непредвиденный результат.

Таблица 9. Операции Чтения/Записи Портов

Операция Чтения Операция Записи

Порт 0 (IOPORT0)

Читает текущее значение. Не возможна.Запись

Порт не должен читаться в IOPORT0 не

когда выполняется A/Ц воздействует на P0

преобразование но воздействует на контроллер скорости

передачи

Порт 1 (IOPORT1)

Операция Чтения Операция Записи

Читает текущее значение Запись изменяет состояние

контактов. В контакт защелки порта. Изменение

порта может быть записано защелки контакта порта

значение единицы, но возвра- не влияет на контакт

щено значение нуля, поскольку порта, если выбрана

оно может внешне измениться альтернативная функция

Порт 2 (IOPORT2)

Читает текущее значение кон- Запись изменяет состояние

тактов порта, за исключением защелки порта, за

тех контактов, которые только исключением контактов

для вывода .Контакты только для только для ввода, запись

вывода возвращают неопределен- в которые игнорируется

ное значение и должны быть за-

маскированы

Порты 3,4 (1FFEH)

Читает текущее значение контак- Запись изменяет состояние

тов порта. В контакт порта защёлки контакта порта.

может быть записана 1, а Любой внешний доступ

прочитан 0, поскольку она контроллера шины переза-

может быть внешне перезаписана писывает значение защелки

контакта порта для вы- полнения операций на шине

Порты 3 и 4 всегда доступны вместе через операцию чтения/записи слова.

После сброса устройства, все порты ввода-вывода, за исключением Порта 3 и Порта 4, функционируют как порты ввода-вывода. При EA#=0 - во время переднего фронта RESET#, Порт 3 и Порт 4 функционируют как системная шина

адреса / данных и не могут использоваться как порты ввода-вывода,.

Полностью или частично Порт 0, Порт 1, и Порт 2

могут быть сконфигурированы ,чтобы допустить альтернативные функции контактов.

Соседние файлы в папке Лабораторные работы по МПС