Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Устройство портов



Каждый из портов содержит регистр-защелку (SFR P0 — SFR P3), выходную цепь и входной буфер.

Рис.3. Порт P0 Рис.4. Порт P1 Рис.5. Порт P2 Рис.6. Порт P3

На рисунке изображены функциональные схемы регистров-защелок и буферов ввода-вывода всех портов микро-ЭВМ 8051. Каждый из разрядов регистра-защелки SFR является D-триггером, информация в который заносится с внутренней шины данных микроконтроллера по сигналу «Запись в SFR Pх» (х= 0, 1, 2, 3) от центрального процессорного элемента (CPU). С прямого выхода D-триггера информация мажет быть выведена на внутреннюю шину по сигналу «Чтение SFR Pх» от CPU, а с вывода микросхемы («из внешнего мира») по сигналу «Чтение выводов Pх». Одни команды активизируют сигнал «Чтение SFR PI», другие - «Чтение выводов РI».

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

Выходная информация порта фиксируется в триггере-защелке при записи в него соответствующего значения по внутренней шине данных. Входная информация порта интерпретируется либо как содержимое триггера-защелки порта, либо как состояние на соответствующем выводе микросхемы в зависимости от типа используемой команды. Выходные цепи портов P0 и P2 переключаются либо выход своего тригера-защелки либо на внутреннюю шину адреса и данных в зависимости от текущего режима работы. Во время доступа к внешней памяти содержимое тригеров-защелок порта P2 не изменяется, а тригеры-защелки порта P0 устанавливаются в 1. Выводы портов P1, P2, P3 имеют внутренние резисторы-подпорки. Выводы порта P0 имеют выходы с открытым стоком. Если требуется использование выводов этого порта в качестве выходов, то необходимы внешние резисторы подпорки на соответствующие выводы. Для того чтобы отдельные выводы порта могли использоваться как входы либо выполнять альтернативные функции, в их триггеры защелки должна быть записана 1. После системного сброса триггеры всех выводов всех портов содержат 1, т.е. все выводы портов настроены на работу в качестве входов либо на выполнение альтернативных функций. Если выполняемая команда записывает новое значение в порт, т.е. изменяет содержимое внутреннего триггера-защелки, новое значение поступает на вход триггера-защелки в фазе S6P2 последнего цикла инструкции. Однако новая информация действительно появится на выходе порта лишь в фазе S1P1 следующего машинного цикла. Входные данные, считываемые с выводов портов фиксируются в моменты S5P1 каждого машинного цикла. Чтение информации с выходов защелок, а не с внешних контактов выводов порта позволяет исключить возможную в ряде случаев неправильную интерпретацию уровня напряжения на выводе порта. К примеру, вывод порта может использоваться для управления базой n-p-n транзистора. В этом случае, когда в защелку вывода порта записывается "1", транзистор открывается. Если после этого ОМЭВМ прочитает состояние внешнего контакта рассматриваемого вывода порта, то получит значение логического "0", т. к. на контакте в это время присутствует напряжение базы открытого транзистора. Чтение же выхода защелки покажет истинное значение сигнала на выводе порта, т. е. "1".

2 Механизм прерываний. Как можно увеличить число внешних прерываний за счет таймера ТО?

Прерывания от таймеров/счетчиков вызываются установкой флагов TF0 и TF1 регистра TCON, которые устанавливаются при переполнении соответствующих регистров таймеров/счетчиков (во все разряды T1 записываются единицы) (за исключением режима 3). Далее содержимое счётчика будет увеличено на 1 в том случае, если в предыдущем цикле был считан входной сигнал высокого уровня, а в следующем – сигнал низкого уровня (переход из "1" в "0" – прерывание по фронту), после чего будет отправлен запрос на прерывание. Очистка флагов TF0 и TF1 производится внутренней аппаратурой МК при переходе к подпрограмме обслуживания прерывания.





Дата публикования: 2015-01-24; Прочитано: 270 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...