|
Порт 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 этот вывод сконфигурирован как выход.
RXD - Порт D, бит 0 - выход приемника UART. Если разрешена работа приемника UART, независимо от состояния DDRD0 этот вывод сконфигурирован как выход. Когда UART использует вывод для приема данных, единица в PORTD0 подключает встроенный подтягивающий резистор.
ПРОГРАММИРОВАНИЕ ПАМЯТИ
Программирование битов блокировки памяти
Микроконтроллер имеет два бита блокировки, которые могут быть оставлены незапрограммированными (1) или программироваться (0), при этом достигаются свойства приведенные в таблице 20.
Таблица 26. Режимы защиты и биты блокировки
Биты блокировки
Тип защиты
Режим
LB1
LB2
описание
1
1
1
защита не установлена
2
0
1
дальнейшее программирование флэш памяти и EEPROM запрещено
3
0
0
как режим 2, но запрещено и чтение
Примечание: биты блокировки стираются только при полном стирании памяти
Биты конфигурации (Fuse bits)
В AT90S2333/4433 предусмотрены шесть бит конфигурации - SPIEN, BODLEVEL, BODEN, и CKSEL[2:0].
Когда запрограммирован бит SPIEN (0) разрешен режим
последовательного программирования. По умолчанию бит запрограммирован
(0). В режиме последовательного программирования этот бит недоступен.
BODLEVEL. Задает уровень срабатывания схемы сброса по пропаданию питания. Если бит незапрограммирован (1), этот уровень - 2.7В, для
запрограммированного бита - 4В. По умолчанию бит незапрограммирован.
BODEN. Когда этот бит запрограммирован (0), разрешен сброс по пропаданию питания. По умолчанию бит незапрограммирован.
CKSEL[2:0]. В таблице 4 приведены значения задержки при сбросе на которые влияют эти биты. По умолчанию биты установлены в 010 - 64mS+16K CK.
Код устройства
Все микроконтроллеры фирмы Atmel имеют 3-байтовый сигнатурный код, по которому идентифицируется устройство. Этот код может быть прочитан в параллельном и последовательном режимах. Эти три байта размещены в отдельном адресном пространстве и для AT90S4433 имеют следующие значения:
1. $000: $1E - код производителя - Atmel
2. $001: $92 - 4 кБ флэш памяти
3. $002: $01 - при $01=$92 - м/сх AT90S4433 для AT90S2333:
1. $000: $1E - код производителя - Atmel
2. $001: $91 - 2 кБ флэш памяти
3. $002: $05 - при $01=$92 - м/сх AT90S2333
Программирование флэш памяти и EEPROM
AT90S2333/4433 имеют 2кБ или 4кБ перепрограммируемой флэш памяти программ и 256 байт энергонезависимой памяти данных.
При поставке флэш память и память данных стерты (содержат FFh) и готовы к программированию. Микросхемы поддерживают высоковольтный (12В) параллельный режим программирования и низковольтный режим последовательного программирования. Напряжение +12В используется только для разрешения программирования, этот вывод почти не потребляет тока. Последовательный режим программирования предусмотрен для загрузки программы и данных в системе пользователя (внутрисистемное программирование). В обоих режимах программирования память программ и данных программируется байт за байтом. Для программирования EEPROM предусмотрен цикл автоматического стирания при программировании в последовательном режиме.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
Новости |
Мои настройки |
|
© 2009 Все права защищены.