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

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

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

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

Добавлен: 16.06.2025

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

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

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

MSP430x1xxFamily

• ADC12OV, переполнение AD12MEMx

• ADC12TOV, переполнение времени преобразования АЦП12

DV CC

Развязка источника

+

питания цифровых

систем

DVSS

10 uF100 nF

Развязка источника

+

AV CC

питания аналоговых

AV SS

систем

10 мкФ

100 нФ

MSP430F13x

MSP430F14x

Использование

+

Ve REF+

MSP430F15x

MSP430F16x

внешнего положи•

тельного опорного

источника

10 мкФ

100 нФ

Использование

+

V REF+

внутреннего

опорного

генератора

10 мкФ

100 нФ

VREF – / Ve REF–

Использование

+

внешнего отрица•

тельного опорного

источника

10 мкФ

100 нФ

Рис. 17-11. Заземление АЦП12 и устранение помех

Биты ADC12IFGx устанавливаются, когда в их соответствующие регистры памяти ADC12MEMx загружается результат преобразования. Если соответствующий бит ADC12IEx и бит GIE установлены, генерируется запрос прерывания. Состояние ADC12OV появляется, когда результат преобразования записывается в любой регистр ADC12MEMx до прочтения предыдущего результата. Состояние ADC12TOV генерируется, когда до завершения текущего преобразования затребована другая выборка-преобразование.

ADC12IV, генератор вектора прерываний

Все источники прерываний АЦП12 разделены по приоритетам и являются источником одного вектора прерываний. Регистр вектора прерываний ADC12IV используется для определения, какой разрешенный источник прерываний АЦП12 запрашивает прерывание.

320

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


Раздел XVII.

АЦП12

Разрешенное прерывание АЦП12 с наивысшим приоритетом генерирует число в регистре ADC12IV (см. описание регистра). Это число может быть оценено или добавлено к программному счетчику для автоматического входа в соответствующую программную процедуру. Запрещенные прерывания АЦП12 не влияют на значение ADC12IV.

При любом типе доступа (чтение или запись), регистр ADC12IV автоматически сбрасывает состояние ADC12OV или состояние ADC12TOV, если любое из них было наивысшим ожидающим прерыванием. Никакое состояние прерывания не имеет доступного флага прерывания. Флаги ADC12IFGx не сбрасываются при доступе к ADC12IV. Биты ADC12IFGx сбрасываются автоматически при доступе к их соответствующим регистрам ADC12MEMx или же могут быть сброшены программно.

Если после обработки текущего прерывания ожидается другое прерывание, генерируется другое прерывание. К примеру, если ожидается обработка прерываний ADC12OV и ADC12IFG3, когда процедура обработки прерывания обращается к регистру ADC12IV, состояние прерывания ADC12OV автоматически сбрасывается. После выполнения команды RETI процедуры обработки прерывания ADC12IFG3 генерирует другое прерывание.

Пример программы-обработчика прерываний АЦП12

Приведенный далее пример программного обеспечения показывает рекомендуемое использование ADC12IV и временные затраты на обработку. Значение ADC12IV добавляется к PC для автоматического перехода к соответствующей процедуре.

Числа в правом поле показывают необходимое для каждой команды количество циклов ЦПУ. Программные затраты для различных источников включают время задержки прерывания и циклы возврата из прерывания, но не обработку собственно задачи. Задержки таковы:

• ADC12IFG0-ADC12IFG14, ADC12TOV и ADC12OV

16 циклов

• ADC12IFG15

14 циклов

Обработчик прерывания для ADC12IFG15 показывает путь к немедленной проверке, если произошло прерывание с наивысшим приоритетом во время обработки ADC12IFG15. Это позволяет сэкономить девять циклов, если ожидается другое прерывание АЦП12.

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

321


MSP430x1xxFamily

;Обработчик прерывания для АЦП12.

INT_ADC12

;Вход процедуры обработки прерывания

6

ADD&ADC12IV,PC

;Добавление смещения к PC

3

RETI

;Вектор 0: Нет прерывания

5

JMPADOV

;Вектор 2: Переполнение АЦП

2

JMPADTOV

;Вектор 4: Переполнение тактирования АЦП

2

JMPADM0

;Вектор 6: ADC12IFG0

2

...

;Векторы 8-32

2

JMPADM14

;Вектор 34: ADC12IFG14

2

;

;Обработчик ADC12IFG15 стартует здесь. JMP не требуется.

;

ADM15 MOV &ADC12MEM15, xxx ;Перемещение результата, флаг сброшен

...

;Другая команда необходима?

JMP INT_ADC12

;Проверка другого ожидаемого прерывания

;

;Обработчик ADC12IFG14-ADC12IFG1 запускается здесь

ADM0 MOV &ADC12MEM0, xxx ;Перемещение результата, флаг сброшен

;

...

;Другая команда необходима?

RETI

;Возврат

5

;

ADTOV ...

;Обработка переполнения времени

;преобразования

RETI

;Возврат

5

;

ADOV ...

;Обработка переполнения ADCMEMx

RETI

;Возврат

5

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

322


Раздел XVII. АЦП12

17.3. Регистры АЦП12

Регистры АЦП12 приведены в таблице 17-2.

Таблица 17-2. Регистры АЦП12

Регистр

Краткое

Тип

Адрес

Исходное

обозначение

регистра

состояние

Управляющий регистр 0 АЦП12

ADC12CTL0

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

01A0h

Сброс с POR

Управляющий регистр 1 АЦП12

ADC12CTL1

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

01A2h

Сброс с POR

Регистр флагов прерываний АЦП12

ADC12IFG

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

01A4h

Сброс с POR

Регистр разрешения прерываний АЦП12

ADC12IE

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

01A6h

Сброс с POR

Слово вектора прерываний АЦП12

ADC12IV

Чтение

01A8h

Сброс с POR

Регистр памяти 0 АЦП12

ADC12MEM0

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

0140h

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

Регистр памяти 1 АЦП12

ADC12MEM1

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

0142h

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

Регистр памяти 2 АЦП12

ADC12MEM2

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

0144h

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

Регистр памяти 3 АЦП12

ADC12MEM3

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

0146h

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

Регистр памяти 4 АЦП12

ADC12MEM4

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

0148h

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

Регистр памяти 5 АЦП12

ADC12MEM5

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

014Ah

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

Регистр памяти 6 АЦП12

ADC12MEM6

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

014Ch

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

Регистр памяти 7 АЦП12

ADC12MEM7

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

014Eh

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

Регистр памяти 8 АЦП12

ADC12MEM8

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

0150h

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

Регистр памяти 9 АЦП12

ADC12MEM9

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

0152h

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

Регистр памяти 10 АЦП12

ADC12MEM10

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

0154h

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

Регистр памяти 11 АЦП12

ADC12MEM11

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

0156h

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

Регистр памяти 12 АЦП12

ADC12MEM12

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

0158h

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

Регистр памяти 13 АЦП12

ADC12MEM13

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

015Ah

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

Регистр памяти 14 АЦП12

ADC12MEM14

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

015Ch

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

Регистр памяти 15 АЦП12

ADC12MEM15

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

015Eh

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

Управление регистром памяти 0 АЦП12

ADC12MCTL0

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

080h

Сброс с POR

Управление регистром памяти 1 АЦП12

ADC12MCTL1

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

081h

Сброс с POR

Управление регистром памяти 2 АЦП12

ADC12MCTL2

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

082h

Сброс с POR

Управление регистром памяти 3 АЦП12

ADC12MCTL3

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

083h

Сброс с POR

Управление регистром памяти 4 АЦП12

ADC12MCTL4

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

084h

Сброс с POR

Управление регистром памяти 5 АЦП12

ADC12MCTL5

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

085h

Сброс с POR

Управление регистром памяти 6 АЦП12

ADC12MCTL6

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

086h

Сброс с POR

Управление регистром памяти 7 АЦП12

ADC12MCTL7

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

087h

Сброс с POR

Управление регистром памяти 8 АЦП12

ADC12MCTL8

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

088h

Сброс с POR

Управление регистром памяти 9 АЦП12

ADC12MCTL9

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

089h

Сброс с POR

Управление регистром памяти 10 АЦП12

ADC12MCTL10

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

08Ah

Сброс с POR

Управление регистром памяти 11 АЦП12

ADC12MCTL11

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

08Bh

Сброс с POR

Управление регистром памяти 12 АЦП12

ADC12MCTL12

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

08Ch

Сброс с POR

Управление регистром памяти 13 АЦП12

ADC12MCTL13

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

08Dh

Сброс с POR

Управление регистром памяти 14 АЦП12

ADC12MCTL14

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

08Eh

Сброс с POR

Управление регистром памяти 15 АЦП12

ADC12MCTL15

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

08Fh

Сброс с POR

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

323