Файл: Семейство микроконтроллеров MSP430X1XX, руководство пользователя (2004).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.06.2025

Просмотров: 2823

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Раздел IX.

MSP430x1xxFamily

MSP430x1xxFamily

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

В этом разделе описывается работа портов цифровых входов/выходов. Порты 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.2.Функционирование цифровых входов/выходов

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

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

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

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

Примечание: Запись в регистры «только для чтения» PxIN

Запись в эти регистры «только для чтения» приводит к увеличению потребления тока на время выполнения попытки записи.

166

Библиотека Компэла


Раздел IX.

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

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

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

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

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

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

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

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

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

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

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

;Вывод ACLK на P2.0 в устройстве MSP430F11x1 BIS.B #01h,&P2SEL ;Выбор функции ACLK для ножки BIS.B #01h,&P2DIR ;Установка направления на вывод

;(необходимо)

Примечание: Отключение прерываний от Р1 и Р2 при PxSEL=1

Когда какой-либо бит P1SELx или P2SELx установлен, функция прерывания от соответствующей ножки отключена. Поэтому сигналы на этих ножках не будут генерировать прерывания Р1 или Р2, независимо от состояния соответствующего бита P1IE или P2IE.

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

Библиотека Компэла

167


MSP430x1xxFamily

ние входного сигнала на выводе устройства, имевшееся перед сбросом бита PxSELx.

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

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

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

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

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

Прерывания вызывают только перепады уровней, а не статические уровни. Если любой флаг PxIFG оказывается установленным во время выполнения процедуры обработки прерывания Px или устанавливается после команды RETI выполняемой процедуры обработки прерывания Px, установка флага PxIFGx генерирует другое прерывание. Таким образом, гарантируется, что каждый перепад уровня будет учтен.

Примечание: Состояние флагов PxIFG при изменении PxOUT или PxDIR

Запись в P1OUT, P1DIR, P2OUT или P2DIR может привести к установке соответствующих флагов P1IFG или P2IFG.

Примечание: Длительность события вызова прерывания на ножке ввода/ вывода

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

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

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

Бит = 0: Флаг PxIFG устанавливается при изменении уровня сигнала с низкого на высокий;

168

Библиотека Компэла

Раздел IX.

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

Бит = 1: Флаг PxIFG устанавливается при изменении уровня сигнала с высокого на низкий.

Примечание: Запись в PxIESx

Запись в P1IES или P2IES может привести к установке соответствующих флагов прерывания.

PxIESx

PxINx

PxIFGx

0 → 1

0

Может быть установлен

0 → 1

1

Не изменяется

1 → 0

0

Не изменяется

1 → 0

1

Может быть установлен

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

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

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

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

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

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

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

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

Порт

Регистр

Краткое

Адрес

Тип регистра

Исходное

обозначение

состояние

Ввод

P1IN

020h

Только чтение

Вывод

P1OUT

021h

Чтение/запись

Не изменяется

Направление

P1DIR

022h

Чтение/запись

Сброс с PUC

P1

Флаг прерывания

P1IFG

023h

Чтение/запись

Сброс с PUC

Выбор фронта прерывания

P1IES

024h

Чтение/запись

Не изменяется

Разрешение прерывания

P1IE

025h

Чтение/запись

Сброс с PUC

Выбор порта

P1SEL

026h

Чтение/запись

Сброс с PUC

Библиотека Компэла

169


MSP430x1xxFamily

Таблица 9-1. (Окончание )

Порт

Регистр

Краткое

Адрес

Тип регистра

Исходное

обозначение

состояние

Ввод

P2IN

028h

Только чтение

Вывод

P2OUT

029h

Чтение/запись

Не изменяется

Направление

P2DIR

02Ah

Чтение/запись

Сброс с PUC

P2

Флаг прерывания

P2IFG

02Bh

Чтение/запись

Сброс с PUC

Выбор фронта прерывания

P2IES

02Ch

Чтение/запись

Не изменяется

Разрешение прерывания

P2IE

02Dh

Чтение/запись

Сброс с PUC

Выбор порта

P2SEL

02Eh

Чтение/запись

Сброс с PUC

Ввод

P3IN

018h

Только чтение

P3

Вывод

P3OUT

019h

Чтение/запись

Не изменяется

Направление

P3DIR

01Ah

Чтение/запись

Сброс с PUC

Выбор порта

P3SEL

01Bh

Чтение/запись

Сброс с PUC

Ввод

P4IN

01Ch

Только чтение

P4

Вывод

P4OUT

01Dh

Чтение/запись

Не изменяется

Направление

P4DIR

01Eh

Чтение/запись

Сброс с PUC

Выбор порта

P4SEL

01Fh

Чтение/запись

Сброс с PUC

Ввод

P5IN

030h

Только чтение

P5

Вывод

P5OUT

031h

Чтение/запись

Не изменяется

Направление

P5DIR

032h

Чтение/запись

Сброс с PUC

Выбор порта

P5SEL

033h

Чтение/запись

Сброс с PUC

Ввод

P6IN

034h

Только чтение

P6

Вывод

P6OUT

035h

Чтение/запись

Не изменяется

Направление

P6DIR

036h

Чтение/запись

Сброс с PUC

Выбор порта

P6SEL

037h

Чтение/запись

Сброс с PUC

170

Библиотека Компэла