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

6.12. Особенности работы с квази - двунаправленными портами

При использовании портов как входов, связанных с переключателями , необходимы добавочные резисторы. Например, запись нуля в контакт порта, который внешне, через переключатель, связан с источником напряжения( Vсс) вызовет короткое замыкание(или слишком большой ток) . Сила тока, текущего к земле из каждого контакта может превысеть 20 mA, что недопустимо для нормальной работы портов.

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

Поскольку электронные устройства препятствуют протеканию слишком большого тока, менее серьезная проблема может возникнуть, когда вместо переключателей, входы соединяются с электронными устройствами ( например, ТТЛ или CMOS схемами). Но всё равно, запись в квази - двунаправленный порт с присоединенными к контактам электронными устройствами, требует особого внимания.

Рассмотрим попытку переключить P1.1 как выход:

XORB ioport1,#00000010B ; Дополнение P1.1

Проблема может возникнуть при выполнении команды.Даже если P1.1 высоко управляется 8XC196KC, он, возможно, может внешне задерживаться в низком состоянии.

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

База транзистора будет фиксировать на контакте порта напряжение база-эмиттер транзистора ( обычно 0.7V), 8XC196KC будет вводить это значение как нуль, даже если

в контакт порта записана единица.

Когда это случается, команда XORB будет всегда записывать единицу в SFR контакта порта, но контакт не будет переключаться.

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

Программное решение состoит в том, чтобы в оперативной памяти хранить байт, хранящий образ данных и копировать его в порт. Каждый раз, когда программное обеспечение хочет изменить данные в порту, онo должно изменить байт образа и копировать его в порт.

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

97

Соседние файлы в папке lab96