Курс лекций - Микропроцессоры


Устройство параллельных портов микроконтроллеров MCS-48


Порты P1, P2 являются квазидвунаправленными портами ввода - вывода и предназначены для обеспечения обмена информацией микроконтроллера с внешними устройствами, образуя 16 линий ввода- вывода. Каждый из портов содержит восьмиразрядный регистр, позволяющий устанавливать (запись '1') или сбрасывать (запись '0') любой разряд этого регистра с помощью программного обеспечения. Выходы регистров квазидвунаправленного порта соединены с внешними ножками микросхемы. Упрощенная схема одного разряда порта показана на рисунке 1

При записи в разряд порта (в триггере Т) логического '0' выходной транзистор открывается и на выводе микросхемы появляется низкий потенциал, изменить который извне невозможно. Поэтому при опросе ножки микросхемы входная информация в этом случае всегда будет восприниматься как логический '0' независимо от состояния выходов внешних устройств. Если в указанный разряд записать логическую '1', то выходной транзистор закрывается и на выводе микросхемы появляется высокий потенциал за счет генератора тока. Он может извне изменен на нулевой потенциал (замыканием этой ножки микросхемы на корпус). В этом случае, считываемая микроконтроллером информация, будет соответствовать информации на выходе внешнего устройства. Поэтому, перед тем как осуществить ввод информации по какому-либо выводу порта, соответствующий разряд необходимо настроить на ввод - записать в него логическую '1'.

Рисунок 1. Упрощенная схема одного бита порта.

Один разряд регистра - защелки порта представляет собой D-триггер. Данные с внутренней шины микроконтроллера записываются в регистр-защелку по сигналу "запись в защелку". Значение сигнала с внешнего вывода порта считывается по сигналу "чтение вывода". При чтении ножки микросхемы осуществляется операция логического "И" между сигналом на ножке микросхемы и содержимым триггера квазидвунаправленного порта. Поэтому перед чтением ножки микросхемы необходимо записать в соответствующий разряд порта логическую единицу. Чтение внешних ножек микросхемы осуществляется командами: ;Скопировать состояние ножек порта P1 в аккумулятор ;Скопировать состояние ножек порта P2 в аккумулятор

Вывод информации через параллельные порты осуществляется командами:

;Скопировать содержимое аккумулятора в порт P1 ;Скопировать содержимое аккумулятора в порт P2

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




- Начало -  - Назад -  - Вперед -