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

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

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

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

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

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

В табл.12.1 приведены все возможные конфигурации выводов портов ввода/вывода. При рассмотрении таблицы рекомендуется еще раз обратить внимание на схе­му, представленную на рис.5.1.

Таблица 12.1

Влияние регистров DDRx и PORTx на конфигурацию выводов портов

DDRxn Pxn Функция вывода Резистор Примечание
    Вход Отключен Третье состояние (Z)
    Вход Подключен При подключении вывода к общему проводу он является источником тока
    Выход Отключен Выход установлен в «0»
    Выход Отключен Выход установлен в «1»

Примечания:

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

2) Если вывод используется каким-либо периферийным ус­тройством микроконтроллера, то соответствующие этому выводу разряды регистров DDRx и PORTx, как правило, должны быть установлены в соот­ветствии с дополнительной функцией вывода. Однако некоторые перифе­рийные устройства при активизации самостоятельно переопределяют кон­фигурацию используемых выводов. Об этом упомянуто при описании конкретных периферийных устройств.

Таблица 12.2

Альтернативные функции линий портов

Вывод Альт. функция Описание
PORTA
PA0 ADC0 Вход АЦП, канал 0
PA1 ADC1 Вход АЦП, канал 1
PA2 ADC2 Вход АЦП, канал 2
PA3 ADC3 Вход АЦП, канал 3
PA4 ADC4 Вход АЦП, канал 4
PA5 ADC5 Вход АЦП, канал 5
PA6 ADC6 Вход АЦП, канал 6
PA7 ADC7 Вход АЦП, канал 7
PORTB
PB0 T0 Счетный вход таймера-счетчика 0
PB1 T1 Счетный вход таймера-счетчика 1
PB2 AIN0 Прямой вход аналогового компаратора
PB3 AIN1 Инверсный вход аналогового компаратора
PB4 SS Вход выбора микросхемы для интерфейса SPI
PB5 MOSI Выход Master’а и вход Slave’а для SPI
PB6 MISO Вход Master’а и выход Slave’а для SPI
PB7 SCK Выход тактовых импульсов для SPI
PORTC
PC0 -  
PC1 -  
PC2 -  
PC3 -  
PC4 -  
PC5 -  
PC6 TOSC1 Входы для подключения кварцевого резонатора при работе таймера-счетчика 2 в асинхронном режиме
PC7 TOSC2
PORTD
PD0 RXD Вход приемника UART
PD1 TXD Выход передатчика UART
PD2 INT0 Вход запроса внешнего прерывания 0
PD3 INT1 Вход запроса внешнего прерывания 1
PD4 OC1B Выход схемы сравнения В таймера-счетчика 1
PD5 OC1A Выход схемы сравнения А таймера-счетчика 1
PD6 ICP Вход на схему захвата таймера-счетчика 1
PD7 OC2 Выход схемы сравнения таймера-счетчика 2

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: