5.3. Конфигурирование портов ввода/вывода

Как уже было отмечено, порты имеют всего две возможности по конфигурированию:

• задание направления передачи данных (вход или выход);

• подключение/отключение внутреннего подтягивающего резистора. Направление передачи данных определяется содержимым регистра

передачи данных ББРх. Если разряд ВВхп этого регистра установлен в «1», соответствующий п-й вывод порта является выходом. Если же разряд ВВхп этого регистра сброшен в «0», соответствующий вывод порта является входом.

А вот управление подтягивающим резистором осуществляется с помо­щью регистра данных порта РОРТх. Если разряд Рхп регистра РОРТх уста­новлен в «1» и соответствующий вывод порта является входом, между этим выводом и проводом питания подключается подтягивающий резистор. Чтобы отключить подтягивающий резистор, необходимо либо сбросить со­ответствующий разряд регистра РОРТх, либо сделать вывод порта выходом.

В Табл. 5.2 приведены все возможные конфигурации выводов портов ввода/вывода. Кроме того, рекомендуем еще раз обратить внимание на схему, представленную на Рис. 5.1.

Таблица. 5.2. Влияние регистров ББРх и РОРТх на конфигурацию выводов портов

ООхя

 

Функция вывода

Резистор

Примечания

0

0

вход

отключен

Третье состояние

0

1

вход

подключен

При подключении вывода к общему проводу он является источником тока

1

0

выход

отключен

Выход установлен в «0»

1

1

выход

отключен

Выход установлен в «1»

Примечание:

п = 7...0 — номер вывода (разряд порта).

И в заключение небольшое замечание по поводу конфигурирования выводов портов. Если вывод используется каким-либо периферийным ус­тройством микроконтроллера, то соответствующие этому выводу разряды регистров ББРх и РОРТх, как правило, должны быть установлены в соот­ветствии с дополнительной функцией вывода. Однако некоторые перифе­рийные устройства при активизации самостоятельно переопределяют конфигурацию используемых выводов. Об этом будет упомянуто далее при описании конкретных периферийных устройств.