Лекция: Порты ввода/вывода

Выходные характеристики портов ввода/вывода устанавливаются в регистрах конфигурации портов (Port Configuration Registers): PRT0CF, PRT1CF, PRT2CF и PRT3CF. Каждый вывод может быть назначен как вывод «с открытым истоком» или как трехстабильный вывод. Это требуется даже для линий ввода/ вывода интерфейсов, назначенных в регистрах XBRn. Следует помнить, что только линии SDA и SCL интерфейса SMBus и линия RX в режиме 0 интерфейсов UART0 и UART 1 автоматически устанавливаются как линии «с открытым истоком». Бит WEAKPUD в регистре XBR2 отвечает за «слабую подтяжку» выходного уровня, если этот бит установлен в 0, то «слабая подтяжка» выходов осуществляется для всех линий портов, установленных в режим «с открытым истоком». С другой стороны, этот бит не действует на линии ввода/вывода, установленные как трехстабильные. Кроме того, «слабая подтяжка» выключается для выводов, находящихся в состоянии логического нуля, для исключения бесполезных потерь мощности. На рис. 7.3 показана функциональная схема одной линии порта

Рисунок 7.3. Функциональная схема линии порта

Как видно из схемы, так называемая «слабая подтяжка» (weak) представляет собой слегка приоткрытый полевой транзистор с высоким сопротивлением канала в открытом состоянии.

Микроконтроллеры фирмы SiLabs могут иметь от 1 до 5 однобайтных портов ввода/вывода (в зависимости от типа корпуса), которые могут использоваться для назначения линий ввода/ вывода периферийных встроенных устройств или как порты ввода/вывода общего назначения. Обращение к каждому такому порту осуществляется через соответствующий регистр SFR (Р0, Р1,...), доступный как побайтно, так и побитно. При записи в порт записанное значение защелкивается и выводится на соответствующие выводы. При чтении логические уровни порта могут быть прочитаны независимо от назначений, произведенных в регистрах XBRn. Исключением являются действия с инструкциями, выполняющими «чтение-модификацию-запись» (read-modify-write): ANL, ORL, XRL, JBC, CPL, INC, DEC, DJNZ и MOV, CLR или SET, при которых адресуется непосредственный бит в порту SFR. При выполнении этих инструкций состояние регистра порта (но не состояние выводов) читается, модифицируется и записывается обратно в регистр.

В некоторых микроконтроллерах, имеющих корпуса с ограниченным количеством выводов, некоторые из портов могут не иметь своих выводов. Например, порты Р2 и РЗ не имеют выводов в микроконтроллерах F001/06/11/16, порты P1, P2 и РЗ не имеют выводов в микроконтроллерах F002/07/12/17. Однако эти порты остаются доступными для ядра CIP-51. В этом случае разработчику следует заботиться самому о корректном написании программы.

еще рефераты
Еще работы по информатике