В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Компоненты > Микроконтроллеры > MSP430 > Архитектура MSP430x1xx
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Цифровые входы/выходы

В этом разделе описывается работа портов цифровых входов/выходов. Порты P1-P2 имеются в устройствах MSP430x11xx. Порты Р1-Р3 реализованы в устройствах MSP430x12xx. Порты Р1-Р6 реализованы в устройствах MSP430x14, MSP430x15x и MSP430x16x.

9.1 Введение в цифровые входы/выходы

Устройства MSP430 имеют до 6 портов цифровых входов/выходов от Р1 до Р6. Каждый порт имеет 8 выводов входа/выхода. Каждый вывод индивидуально конфигурируется как вход или выход и каждая линия ввода/вывода может быть индивидуально считана или записана.

Порты Р1 и Р2 имеют возможность вызывать прерывание. Для каждой линии ввода/вывода портов Р1 и Р2 можно индивидуально разрешить прерывания и сконфигурировать их так, чтобы прерывание происходило по фронту или спаду входного сигнала. Все линии ввода/вывода порта Р1 являются источником одного вектора прерывания, а все линии ввода/вывода порта Р2 – источник другого вектора прерывания.

Цифровые входы/выходы обладают следующими возможностями:

  • Независимые индивидуально программируемые входы/выходы;
  • Любые комбинации входа или выхода;
  • Индивидуально конфигурируемые прерывания от Р1 и Р2;
  • Раздельные регистры данных для входов и выходов.

9.1 Функционирование цифровых входов/выходов

Цифровые входы/выходы конфигурируются программным обеспечением пользователя. Настройка и работа цифровых входов/выходов описывается в нижеследующих разделах.

9.2.1 Регистры ввода PnIN

Каждый бит в каждом регистре PnIN отражает величину входного сигнала на соответствующей ножке ввода/вывода, когда она сконфигурирована на функцию ввода/вывода.

    Бит = 0: Входной сигнал имеет низкий уровень;
    Бит = 1: Входной сигнал имеет высокий уровень.
Примечание: Запись в регистры «только для чтения» PxIN
Запись в эти регистры «только для чтения» приводит к увеличению потребления тока на время выполнения попытки записи.

9.2.2 Регистры вывода PnOUT

Каждый бит в каждом регистре PnOUT содержит значение, которое будет выведено на соответствующую ножку ввода/вывода, сконфигурированную на функцию ввода/вывода и имеющую направление на вывод.

    Бит = 0: Выходной сигнал имеет низкий уровень; Бит = 1: Выходной сигнал имеет высокий уровень.

9.2.3 Регистры направления PnDIR

Каждый бит в каждом регистре PnDIR позволяет выбрать направление соответствующей ножки ввода/вывода, независимо от выбранной для этой ножки функции. Биты PnDIR для ножек ввода/вывода, выбранные для других функций модуля должны быть установлены так, как это требуется для другой функции.

    Бит = 0: Ножка порта переключается на ввод;
    Бит = 1: Ножка порта переключается на вывод.

9.2.4 Регистры выбора функции PnSEL

Ножки порта часто мультиплексированы с другими функциями периферийных модулей. См. справочное руководство по конкретному устройству для выяснения возможных функций вывода. Каждый бит PnSEL определяет, как будет использована ножка – в качестве порта ввода/вывода или в качестве функции периферийного модуля.

    Бит = 0: Для ножки выбирается функция ввода/вывода
    Бит = 1: Для ножки выбирается функция периферийного модуля

Установка PnSEL=1 автоматически не определяет направление движения информации для ножки. Некоторые функции периферийных модулей требуют конфигурирования битов PnDIR для выбора направления, необходимого для правильной работы этой функции.

    ;Вывод ACLK на P2.0 в устройстве MSP430F11x1
    BIS.B #01h,&P2SEL ; Выбор функции ACLK для ножки
    BIS.B #01h,&P2DIR ; Установка направления на вывод (необходимо)
Примечание: Отключение прерываний от Р1 и Р2 при PnSEL=1
Когда какой-либо бит P1SELx или P2SELx установлен, функция прерывания от соответствующей ножки отключена. Поэтому сигналы на этих ножках не будут генерировать прерывания Р1 или Р2, независимо от состояния соответствующего бита P1IE или P2IE.

Когда вывод порта работает как вход периферии, входным сигналом периферии является зафиксированное в защелке представление сигнала на выводе устройства. Когда PnSELx=1, внутренний входной сигнал соответствует сигналу на ножке. Однако, если PnSELx=0, на входе периферии сохраняется значение входного сигнала на выводе устройства, имевшееся перед сбросом бита PnSELx.

9.2.5 Прерывания Р1 и Р2

Каждая ножка портов Р1 и Р2 имеет возможность вызова прерывания, конфигурируемую регистрами PnIFG, PnIE и PnIES. Все ножки Р1 – источник одного вектора прерывания, а все выводы Р2 – источник другого одиночного вектора прерывания. Определить источник прерывания - Р1 или Р2 можно путем проверки регистра PnIFG.

Регистры флагов прерывания Р1IFG, Р2IFG

Каждый бит PnIFG – это флаг прерывания соответствующей ножки ввода/вывода, устанавливаемый, когда происходит перепад выбранного входного сигнала на ножке. Все флаги прерывания PnIFG запрашивают прерывание, когда установлен их соответствующий бит PnIE и установлен бит GIE. Каждый флаг PnIFG должен быть сброшен программно. Программное обеспечение также может устанавливать каждый флаг PnIFG, обеспечивая возможность генерации программно-инициированного прерывания.

    Бит = 0: Прерывание не ожидается
    Бит = 1: Прерывание ожидается

Прерывания вызывают только перепады уровней, а не статические уровни. Если любой флаг PnIFG оказывается установленным во время выполнения процедуры обработки прерывания Px или устанавливается после команды RETI выполняемой процедуры обработки прерывания Px, установка флага PnIFGx генерирует другое прерывание. Таким образом, гарантируется, что каждый перепад уровня будет учтен.
Примечание: Состояние флагов PnIFG при изменении PnOUT или PnDIR
Запись в P1OUT, P1DIR, P2OUT или P2DIR может привести к установке соответствующих флагов P1IFG или P2IFG.


Примечание: Длительность события вызова прерывания на ножке ввода/вывода
Любое событие вызова внешнего прерывания должно иметь длительность, по крайней мере, равную 1,5 MCLK или дольше, чтобы быть гарантировано принятым и вызвать установку соответствующего флага прерывания.

Регистры выбора фронта прерывания P1IES, P2IES

Каждый бит PnIES позволяет выбрать, по какому фронту сигнала будет происходить прерывание для соответствующей ножки ввода/вывода.

    Бит = 0: Флаг PnIFG устанавливается при изменении уровня сигнала с низкого на высокий;
    Бит = 1: Флаг PnIFG устанавливается при изменении уровня сигнала с высокого на низкий.
Примечание: Запись в PnIESx
Запись в P1IES или P2IES может привести к установке соответствующих флагов прерывания.

PnIESx PnINx PnIFGx
0 -> 1 0 Не изменяется
0 -> 1 1 Может быть установлен
1 -> 0 0 Может быть установлен
1 -> 0 1 Не изменяется

Разрешение прерываний P1IE, P2IE

Каждый бит PnIE разрешает прерывание от соответствующего флага прерываний регистра PnIFG.

    Бит = 0: Прерывание запрещено
    Бит = 1: Прерывание разрешено

9.2.6 Конфигурирование неиспользуемых выводов порта

Неиспользуемые ножки ввода/вывода должны быть сконфигурированы на функцию ввода/вывода, в направлении вывода и оставаться неподключенными на печатной плате для уменьшения потребляемой мощности. Значение бита PxOUT может быть любым, поскольку ножка не подключена. См. раздел «Системный сброс, прерывания и режимы работы» для уточнения вопросов подключения неиспользуемых выводов.

9.3 Регистры цифровых входов/выходов

Для конфигурирования Р1 и Р2 используются семь регистров. Четыре регистра необходимы для конфигурирования портов Р3-Р6. Регистры цифровых входов/выходов приведены в таблице 9-1.

Таблица 9-1. Регистры цифровых входов-выходов.

Порт Регистр Краткое
обозначение
Адрес Тип
регистра
Исходное
состояние
P1 Ввод P1IN 020h Только чтение -
Вывод P1OUT 021h Чтение/запись Не изменяется
Направление P1DIR 022h Чтение/запись Сброс с PUC
Флаг прерывания P1IFG 023h Чтение/запись Сброс с PUC
Выбор фронта прерывания P1IES 024h Чтение/запись Не изменяется
Разрешение прерывания P1IE 025h Чтение/запись Сброс с PUC
Выбор порта P1SEL 026h Чтение/запись Сброс с PUC
P2 Ввод P2IN 028h Только чтение -
Вывод P2OUT 029h Чтение/запись Не изменяется
Направление P2DIR 02Ah Чтение/запись Сброс с PUC
Флаг прерывания P2IFG 02Bh Чтение/запись Сброс с PUC
Выбор фронта прерывания P2IES 02Ch Чтение/запись Не изменяется
Разрешение прерывания P2IE 02Dh Чтение/запись Сброс с PUC
Выбор порта P1SEL 026h Чтение/запись Сброс с PUC
P3 Ввод P3IN 018h Только чтение -
Вывод P3OUT 019h Чтение/запись Не изменяется
Направление P3DIR 01Ah Чтение/запись Сброс с PUC
Выбор порта P3SEL 01Bh Чтение/запись Сброс с PUC
P4 Ввод P4IN 01Ch Только чтение -
Вывод P4OUT 01Dh Чтение/запись Не изменяется
Направление P4DIR 01Eh Чтение/запись Сброс с PUC
Выбор порта P4SEL 01Fh Чтение/запись Сброс с PUC
P5 Ввод P5IN 030h Только чтение -
Вывод P5OUT 031h Чтение/запись Не изменяется
Направление P5DIR 032h Чтение/запись Сброс с PUC
Выбор порта P5SEL 033h Чтение/запись Сброс с PUC
P6 Ввод P6IN 034h Только чтение -
Вывод P6OUT 035h Чтение/запись Не изменяется
Направление P6DIR 036h Чтение/запись Сброс с PUC
Выбор порта P6SEL 037h Чтение/запись Сброс с PUC


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