Смекни!
smekni.com

AVR микроконтроллер AT90S2333 фирмы Atmel (стр. 17 из 22)

DDRC

14h(34h)

7

6

5

4

3

2

1

0

-

-

DDC5

DDC0

R R R\W R\W R\W R\W R\W R\W

Начальное значение

0 0 0 0 0 0 0 0

ВЫВОДЫ ПОРТА B

PINC

13h(33h)

7

6

5

4

3

2

1

0

-

-

PINC5

PINC0

R R R\W R\W R\W R\W R\W R\W

Начальное значение

0 0 Z Z Z Z Z Z

PINC не является регистром, по этому адресу осуществляется доступ к физическим значениям каждого из выводов порта C. При чтении PORTC, читаются данные из регистра-защелки, при чтении PINC читаются логичес­кие значения присутствующие на выводах порта.

ПОРТ C, КАК ПОРТ ВВОДА/ВЫВОДА ОБЩЕГО НАЗНАЧЕНИЯ

Все 6 бит порта C при использовании для ввода/вывода одинаковы.

Бит DDCn регистра DDRC выбирает направление передачи данных. Если бит установлен (1), вывод сконфигурирован как выход. Если бит сброшен (0) - вывод сконфигурирован как вход. Если PORTCn установлен и вывод сконфигурирован как вход, включается КМОП подтягивающий резистор. Для отключения резистора, PORTCn должен быть сброшен (0) или вывод должен быть сконфигурирован как выход.

Таблица 23. Влияние DDCn на выводы порта C

DDC

PORTC

In\Out

Подтягивающие резисторы

описание

0

0

0

Нет

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

0

1

1

Да

PBn источник тока Iil, если извне соединен с землей

1

0

0

Нет

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

1

1

1

Нет

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

Порт D

Порт D 8-разрядный двунаправленный порт ввода/вывода.

Для обслуживания порта отведено три регистра: регистр данных PORTD (12h, 32h), регистр направления данных - DDRD (11h, 31h) и ножки порта D - PIND (10h, 30h). Адрес ножек порта D предназначен только для чтения, в то время как регистр данных и регистр направления данных - для чтения/записи. Все выводы порта имеют отдельно подключаемые подтягивающие резис­торы. Выходы порта D могут поглощать ток до 20 mA и непосредственно управлять светодиодными индикаторами. Если выводы PD0..PD7 используют­ся как входы и замыкаются на землю, если включены внутренние подтяги­вающие резисторы, выводы являются источниками тока (Iil). Альтернативные функции порта приведены в таблице.

Таблица 24. Альтернативные функции порта D

Вывод порта Альтернативная функция
PD0 RXD (вход данных UART)
PD1 TXD (выход данных UART)
PD2 INT0 (вход внешнего прерывания 0)
PD3 INT1 (вход внешнего прерывания 1)
PD4 T0 (внешний вход таймера счетчика 0)
PD5 T1 (внешний вход таймера счетчика 1)
PD6 AIN0 (неинвертирующ.вход компаратора)
PD7 AIN1 (инвертирующий вход компаратора)

РЕГИСТР ДАННЫХ ПОРТА D – PORTD

15h(35h)

7

6

5

4

3

2

1

0

-

-

PORTD5

PORTD0

R R R\W R\W R\W R\W R\W R\W

Начальное значение

0 0 0 0 0 0 0 0

14h(34h)

7

6

5

4

3

2

1

0

-

-

DDD5

DDD0

R R R\W R\W R\W R\W R\W R\W

Начальное значение

0 0 0 0 0 0 0 0

13h(33h)

7

6

5

4

3

2

1

0

-

-

PIND5

PIND0

R R R\W R\W R\W R\W R\W R\W

Начальное значение

0 0 Z Z Z Z Z Z

PIND не является регистром, по этому адресу осуществляется доступ к физическим значениям каждого из выводов порта D. При чтении PORTD, читаются данные из регистра-защелки, при чтении PIND читаются логичес­кие значения присутствующие на выводах порта.

ПОРТ D, КАК ПОРТ ВВОДА/ВЫВОДА ОБЩЕГО НАЗНАЧЕНИЯ

Бит DDDn регистра DDRD выбирает направление передачи данных. Если бит установлен (1), вывод сконфигурирован как выход. Если бит сброшен (0) - вывод сконфигурирован как вход. Если PORTDn установлен и вывод сконфигурирован как вход, включается КМОП подтягивающий резистор. Для отключения резистора, PORTDn должен быть сброшен (0) или вывод должен быть сконфигурирован как выход.

Таблица 25. Влияние DDDn на выводы порта D

DDDn

PORTDn

In\Out

Подтягивающие резисторы

Описание

0 0 Вход Нет

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

0 1 Вход Да PDn источник тока Iil, если извне соединен с землей
1 0 Выход Нет Выход установлен в 0
1 1 Выход Нет Выход установлен в 1

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

AIN1 - Порт D, бит7 - инвертирующий вход аналогового компаратора. Ес­ли вывод сконфигурирован как вход (DDD7=0) и отключен внутренний под­тягивающий резистор, этот вывод может работать как инвертирующий вход аналогового компаратора. В экономичном режиме триггер Шмитта отключен от цифрового входа. Это позволяет удерживать на входе напряжение близ­кое к Vcc/2 без заметного увеличения потребления.

AIN0 - Порт D, бит6 - неинвертирующий вход аналогового компаратора. Если вывод сконфигурирован как вход (DDD6=0) и отключен внутренний подтягивающий резистор, этот вывод может работать как инвертирующий вход аналогового компаратора. В экономичном режиме триггер Шмитта отключен от цифрового входа. Это позволяет удерживать на входе напря­жение близкое к Vcc/2 без заметного увеличения потребления.

T1 - Порт D, бит 5 - тактовый вход таймера/счетчика 1. Подробнее см. описание таймера.

T0 - Порт D, бит 4 - тактовый вход таймера/счетчика 0. Подробнее см. описание таймера.

INT1 - Порт D, бит 3 - вход внешних прерываний 1. Подробнее см. опи­сание прерываний.

INT0 - Порт D, бит 2 - вход внешних прерываний 0. Подробнее см. опи­сание прерываний.

TXD - Порт D, бит 1 - выход передатчика UART. Если разрешена работа передатчика UART, независимо от состояния DDRD1 этот вывод сконфигури­рован как выход.