В HTML      В PDF
микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > AVR

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве




Arduino Uno R3 Atmega328
готовый модуль
Лучшая Цена 335 руб




Стартовый набор с большим набором аксесуаров
Arduino Uno R3 Atmega328
Лучшая Цена 2211 руб



13.14. Описание регистров портов

13.14.1. DIR - регистр направления

Бит 7 6 5 4 3 2 1 0  
+0x00
DIR[7:0]
DIR
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - DIR[7:0]: направление линий в/в

С помощью данного регистра можно настроить направление каждой линии в/в порта. Если бит DIRn равен единице, то линия n работает как выход. Если же бит DIRn равен нулю, то линия n будет работать как вход.

13.14.2. DIRSET - регистр установки бит направления

Бит 7 6 5 4 3 2 1 0  
+0x01
DIRSET[7:0]
DIRSET
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - DIRSET[7:0]: установка бит направления

Данный регистр можно использовать, как альтернативу операции "чтение-модификация-запись", при выполнении настройки линий в/в для работы на вывод. Запись единицы в бит этого регистра приводит к установке соответствующего бита регистра DIR. При чтении регистра возвращается значение регистра DIR.

13.14.3. DIRCLR - регистр сброса бит направления

Бит 7 6 5 4 3 2 1 0  
+0x02
DIRCLR[7:0]
DIRCLR
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - DIRCLR[7:0]: сброс бит направления

Данный регистр можно использовать, как альтернативу операции "чтение-модификация-запись", при выполнении настройки линий в/в для работы на ввод. Запись единицы в бит этого регистра приводит к сбросу соответствующего бита регистра DIR. При чтении регистра возвращается значение регистра DIR.

13.14.4. DIRTGL - регистр инвертирования бита направления

Бит 7 6 5 4 3 2 1 0  
+0x03
DIRTGL[7:0]
DIRTGL
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - DIRTGL[7:0]: инвертирование бит направления

Данный регистр можно использовать, как альтернативу операции "чтение-модификация-запись" для изменения направления линий в/в на противоположное. Запись единицы в бит этого регистра приводит к инвертированию (изменение состояния на противоположное) соответствующего бита регистра DIR. При чтении регистра возвращается значение регистра DIR.

13.14.5. OUT - регистр вывода данных

Бит 7 6 5 4 3 2 1 0  
+0x04
OUT[7:0]
OUT
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - OUT[7:0]: значение для вывода в порт

Записываемое в данный регистр значение выводится на линии порта. Если в бит OUTn записана единица, то линия n принимает высокий логический уровень, а если записывается ноль - то низкий уровень, однако так происходит только в том случае, если линия настроена на вывод.

13.14.6. OUTSET - регистр установки выходов порта

Бит 7 6 5 4 3 2 1 0  
+0x05
OUTSET[7:0]
OUTSET
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - OUTSET[7:0]: установка выходов порта

Данный регистр можно использовать, как альтернативу операции "чтение-модификация-запись", для установки высокого уровня на отдельных линиях в/в. Запись единицы в бит этого регистра приводит к установке соответствующего бита регистра OUT. При чтении регистра возвращается значение регистра OUT.

13.14.7. OUTCLR - регистр сброса выходов порта

Бит 7 6 5 4 3 2 1 0  
+0x06
OUTCLR[7:0]
OUTCLR
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - OUTCLR[7:0]: сброс выходов порта

Данный регистр можно использовать, как альтернативу операции "чтение-модификация-запись", для установки низкого уровня на отдельных линиях в/в. Запись единицы в бит этого регистра приводит к сбросу соответствующего бита регистра OUT. При чтении регистра возвращается значение регистра OUT.

13.14.8. OUTTGL - регистр инвертирования выходов порта

Бит 7 6 5 4 3 2 1 0  
+0x07
OUTTGL[7:0]
OUTTGL
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Бит 7:0 - OUTTGL[7:0]: инвертирование выходов порта

Данный регистр можно использовать, как альтернативу операции "чтение-модификация-запись" для изменения состояния линий в/в на противоположное. Запись единицы в бит этого регистра приводит к инвертированию (изменение состояния на противоположное) соответствующего бита регистра OUT. При чтении регистра возвращается значение регистра OUT.

13.14.9. IN - регистр ввода данных

Бит 7 6 5 4 3 2 1 0  
+0x08
IN[7:0]
IN
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - IN[7:0]: значение, введенное из порта

В данном регистре отображается текущее состояние линий в/в при условии, что разрешена работа входного цифрового драйвера. Бит INn демонстрирует состояние линии n порта.

13.14.10. INTCTRL - регистр управления прерываниями

Бит 7 6 5 4 3 2 1 0  
+0x09
- - - - INT1LVL[1:0] INT0LVL[1:0]
INTCTRL
Чтение/запись Чт. Чт. Чт. Чт. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:4 - Res: резервные биты

Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.

  • Биты 3:2/1:0 - INTnLVL[1:0]: уровень прерывания n

С помощью данных бит можно выбрать уровень прерывания n порта ввода-вывода (более детально об уровнях прерываний см. в 12 "Прерывания и программируемый многоуровневый контроллер прерываний")

13.14.11. INT0MASK - регистр маски прерывания 0

Бит 7 6 5 4 3 2 1 0  
+0x0A
INT0MSK[7:0]
INT0MASK
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - INT0MSK[7:0]: регистр маски прерывания 0

С помощью данных бит можно указать, какие линии порта используются в качестве прерывания 0 порта ввода-вывода. Если бит INT0MASKn сделать равным единице, то линия n будет использоваться, как источник прерывания 0. Условия генерации прерываний для каждой линии порта дополнительно задаются с помощью регистров PINnCTRL.

13.14.12. INT1MASK - регистр маски прерывания 1

Бит 7 6 5 4 3 2 1 0  
+0x0B
INT1MSK[7:0]
INT1MASK
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - INT1MASK[7:0]: регистр маски прерывания 1

С помощью данных бит можно указать, какие линии порта используются в качестве прерывания 1 порта ввода-вывода. Если бит INT1MASKn сделать равным единице, то линия n будет использоваться, как источник прерывания 1. Условия генерации прерываний для каждой линии порта дополнительно задаются с помощью регистров PINnCTRL.

13.14.13. INTFLAGS - регистр флагов прерывания

Бит 7 6 5 4 3 2 1 0  
+0x0C
- - - - - - INT1IF INT0IF
INTFLAGS
Чтение/запись Чт. Чт. Чт. Чт. Чт. Чт. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:2 - Res: резервные биты

Данные биты являются резервными и всегда считываются с нулевыми значениями. Для совместимости с будущими МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.

  • Биты 1:0 - INTnIF: флаг прерывания n

Флаг INTnIF устанавливается в том случае, если на любой из линий порта, которые выбраны в качестве источника прерывания n, выполняется настроенное условие генерации запроса на прерывание. Запись единицы в данный бит приводит к сбросу соответствующего флага прерывания. Разрешение и исполнение прерываний см. в описании уровней прерываний.

13.14.14. PINnCTRL - конфигурационный регистр линии n

Бит 7 6 5 4 3 2 1 0  
 
SRLEN INVEN OPC[2:0] ISC[2:0]
PINnCTRL
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Бит 7 - SRLEN: разрешение ограничения скорости фронтов

Установка данного бита активизирует функцию ограничения скорости фронтов импульсов на линии в/в n.

  • Бит 6 - INVEN: разрешение инвертированного ввода-вывода

Установка данного бита активизирует функцию инвертирования вводимых и выводимых данных на линии n.

  • Биты 5:3 - OPC: настройка выходов и подтяжки

С помощью данных бит можно настроить выходы и подтяжку логических уровней (см. таблицу 13.4).

Таблица 13.4. Настройка выходов и подтяжки

OPC[2:0] Групповая конфигурация Описание
Настройка выходов Настройка подтяжки
000 TOTEM двухтактная линия (нет)
001 BUSKEEPER двухтактная линия адаптивная
010 PULLDOWN двухтактная линия к минусу питания
011 PULLUP двухтактная линия к плюсу питания
100 WIREDOR монтажное ИЛИ (нет)
101 WIREDAND монтажное И (нет)
110 WIREDORPULL монтажное ИЛИ к минусу питания
111 WIREDANDPULL монтажное И к плюсу питания
  • Бит 2:0 - ISC[2:0]: настройка функции контроля входа

С помощью данных бит можно настроить функцию контроля входа n в соответствии с таблицей 13.5. От этих настроек зависит, в каком случае будут инициироваться прерывания и события. Опрос состояния линии порта через регистр IN возможен только при условии активности входного буфера.

Таблица 13.5. Настройка функции контроля входа

ISD[2:0] Групповая конфигурация Описание
000 BOTHEDGES обнаружение обоих фронтов
001 RISING обнаружение нарастающего фронта
010 FALLING обнаружение падающего фронта
011 LEVEL обнаружение низкого уровня(1)
100   (резерв)
101   (резерв)
110   (резерв)
111 INPUT_DISABLE отключение входного буфера(2)

Прим.:

  1. Низкий уровень на линии в/в не генерирует события, зато высокий уровень - будет непрерывно генерировать события.
  2. Возможность отключения входного буфера предусмотрена только у портов A…F.


<-- Предыдущая страница Оглавление Следующая страница -->





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (495) 514 4110. e-mail:info@eust.ru
©1998-2016 ООО Рынок Микроэлектроники