Файл: Семейство микроконтроллеров 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 |
|||||||