logo
HCS12 с применением языка С - royallib

Регистры управления портами

В МК семейства 68HC12/HCS12 каждый двунаправленный порт ввода/вывода общего назначения обслуживается двумя регистрами специальных функций. Это регистр данных порта и регистр направления передачи DDRx (вместо буквы «x» следует подставить буквенное обозначение порта). Если линии порта общего назначения настроены на ввод, то операция чтения регистра данных возвращает состояние выводов корпуса МК, с которыми связан порт. Если порт настроен на вывод, то операция записи в регистр данных устанавливает на выводах корпуса МК, связанных с портом, соответствующие логические уровни. Регистр DDRx определяет направления передачи каждой линии порта независимо от других линий этого же порта. Если какой либо бит регистра DDRx равен 0, то соответствующая линия настраивается на ввод, если 1 — то на вывод. Возможны решения, при которых часть линий одного и того же порта настроена на ввод, а часть на вывод. Например, при значении DDRx=10110010 линии D6, D3, D2 и D0 развернуты на ввод, а линии D7, D5, D4 и D1 — на вывод. В состоянии сброса МК все биты регистров направления передачи DDRx сбрасываются, поэтому сразу после включения питания все линии портов МК сконфигурированы как входы с высоким входным сопротивлением.

Часть портов ввода/вывода обслуживается дополнительными регистрами управления:

• PUCR (Pull Up Control Register) — регистр разрешения схемотехники подтягивающих резисторов. Формат регистра представлен на рис. 4.8. Если соответствующие биты регистра установлены, то в портах PORT A, PORT B и Port E при конфигурировании какой либо линии порта на ввод автоматически подключается встроенный подтягивающий к напряжению питания резистор. Если же эта линия настраивается на вывод, то встроенный резистор автоматически отключается. В расширенных режимах работы МК, когда названные порты используются для формирования сигналов внешних магистралей адреса, данных и управления, встроенные резисторы также автоматически отключаются.

Рис. 4.8.  Формат регистров PUCR, RDRIV, PEAR

• RDRIV (Reduced DRIVe Register) — регистр выбора режима работы выходных каскадов с пониженными выходными токами. Формат регистра также представлен на рис. 4.8. Как следует из рис. 4.8, в МК B32 этот режим также доступен только для портов PORT A, PORT B и PORT E. В МК иных моделей этой функцией могут обладать также и другие порты. Если функция для порта разрешена установкой разряда RDPx в 1, то при конфигурировании какой либо линии порта на вывод ее выходной ток снижается с 0,6 мА до 0,3 мА.

• PEAR (Port E Assignment Register) — регистр выбора назначения линий порта Port E. Отдельные биты этого регистра (рис. 4.8) позволяют назначить линии альтернативную функцию или функцию линии ввода/вывода общего назначения.