Руководство пользователя MSP430 (1041606), страница 23
Текст из файла (страница 23)
RETI ; Вектор 8
RETI ; Вектор 10
RETI ; Вектор 12
TBIFG_HND ; Вектор 14: Флаг TIMOV
... ; Задача стартует здесь
RETI 5
CCIFG_2_HND ; Вектор 4: Модуль 2
... ; Задача стартует здесь
RETI ; Назад к главной программе 5
; Модуль 1 обработчика позволяет узнать, что ожидается
; любое другое прерывание: на это тратится 5 циклов, но
; 9 циклов можно сэкономить, если ожидается другое прерывание
CCIFG_1_HND ; Вектор 6: Модуль 3
... ; Задача стартует здесь
JMP TB_HND ; Просмотр ожидающих прерываний 2
12.3 Регистры таймера В
Перечень регистров таймера В приведен в таблице 12-5.
Таблица 12-5. Регистры Таймера В.
Регистр | Краткое | Тип | Адрес | Исходное |
Управление Таймером В | TBCTL | Чтение/запись | 0180h | Сброс с POR |
Счетчик Таймера В | TBR | Чтение/запись | 0190h | Сброс с POR |
Регистр 0 управления захватом/сравнением таймера В | TBCCTL0 | Чтение/запись | 0182h | Сброс с POR |
Регистр 0 захвата/сравнения таймера В | TBCCR0 | Чтение/запись | 0192h | Сброс с POR |
Регистр 1 управления захватом/сравнением таймера В | TBCCTL1 | Чтение/запись | 0184h | Сброс с POR |
Регистр 1 захвата/сравнения таймера В | TBCCR1 | Чтение/запись | 0194h | Сброс с POR |
Регистр 2 управления захватом/сравнением таймера В | TBCCTL2 | Чтение/запись | 0186h | Сброс с POR |
Регистр 2 захвата/сравнения таймера В | TBCCR2 | Чтение/запись | 0196h | Сброс с POR |
Регистр 3 управления захватом/сравнением таймера В | TBCCTL3 | Чтение/запись | 0188h | Сброс с POR |
Регистр 3 захвата/сравнения таймера В | TBCCR3 | Чтение/запись | 0198h | Сброс с POR |
Регистр 4 управления захватом/сравнением таймера В | TBCCTL4 | Чтение/запись | 018Ah | Сброс с POR |
Регистр 4 захвата/сравнения таймера В | TBCCR4 | Чтение/запись | 019Ah | Сброс с POR |
Регистр 5 управления захватом/сравнением таймера В | TBCCTL5 | Чтение/запись | 018Ch | Сброс с POR |
Регистр 5 захвата/сравнения таймера В | TBCCR5 | Чтение/запись | 019Ch | Сброс с POR |
Регистр 6 управления захватом/сравнением таймера В | TBCCTL6 | Чтение/запись | 018Eh | Сброс с POR |
Регистр 6 захвата/сравнения таймера В | TBCCR6 | Чтение/запись | 019Eh | Сброс с POR |
Вектор прерывания Таймера В | TBIV | Только чтение | 011Eh | Сброс с POR |
TBCTL, регистр управления таймером В
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
Не исполь | TBCLGRPx | CNTLx | Не исполь | TBSSELx |
rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
IDx | MCx | Не исполь | TBCLR | TBIE | TBIFG |
rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | w-(0) | rw-(0) | rw-(0) |
Не исполь | Бит 15 | Не используется | ||||||||
TBCLGRP | Биты | Группировка TBCLx
| ||||||||
CNTLx | Биты | Длина счетчика 00 16-разрядный, TBR(max) = 0FFFFh 01 12-разрядный, TBR(max) = 0FFFh 10 10-разрядный, TBR(max) = 03FFh 11 8-разрядный, TBR(max) = 0FFh | ||||||||
Не исполь | Бит 10 | Не используется | ||||||||
TBSSELx | Биты | Выбор источника тактирования таймера В 00 TBCLK 01 ACLK 10 SMCLK 11 INCLK | ||||||||
IDx | Биты | Входной делитель. Эти биты позволяют выбрать коэффициент деления для входной тактовой частоты. 00 /1 01 /2 10 /4 11 /8 | ||||||||
MCx | Биты | Выбор режима. Установка MCx=00h, когда таймер В не используется, позволяет уменьшить потребляемую мощность.
| ||||||||
Не используется | Бит 3 | Не используется | ||||||||
TBCLR | Бит 2 | Очистка таймера В. Установка этого бита сбрасывает TBR, IDx и выбранное направление счета. Бит TBCLR автоматически сбрасывается и всегда читается как нуль. | ||||||||
TBIE | Бит 1 | Разрешение прерывания от таймера В. Этот бит разрешает запрос прерывания TBIFG. 0 Прерывание запрещено 1 Прерывание разрешено | ||||||||
TBIFG | Бит 0 | Флаг прерывания таймера В 0 Прерывание не ожидается 1 Ожидается прерывание |
TBR, регистр таймера В
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
TBRx |
rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TBRx |
rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) |
TBRx | Биты 15-0 | Регистр таймера В. Регистр TBR является счетчиком таймера В. |
TBCCTLx, регистр управления захватом/сравнением
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
CMx | CCISx | SCS | CLLDx | CAP |
rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | rw-(0) | r-(0) | rw-(0) |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OUTMODx | CCIE | CCI | OUT | COV | CCIFG |
rw-(0) | rw-(0) | rw-(0) | rw-(0) | r | rw-(0) | rw-(0) | rw-(0) |
CMx | Биты | Режим захвата 00 Нет захвата 01 Захват по нарастающему (переднему) фронту 10 Захват по заднему фронту 11 Захват как по переднему, так и по заднему фронтам |
CCISx | Биты | Выбор входа захвата/сравнения. Этими битами выбирается входной сигнал TBCCRx. См. справочное руководство конкретного устройства для выяснения подробностей подключения сигналов. 00 CCIxA 01 CCIxB 10 GND 11 VCC |
SCS | Бит 11 | Синхронизация источника захвата. Этот бит используется для синхронизации входного сигнала захвата с тактовым сигналом. 0 Асинхронный захват 1 Синхронный захват |
CLLDx | Бит 10-9 | Загрузка защелки сравнения. Эти биты определяют, какое событие вызовет загрузку защелки сравнения. 00 TBCLx загружается при записи в TBCCRx 01 TBCLx загружается, когда TBR досчитывает к нулю 10 TBCLx загружается, когда TBR досчитывает к нулю (непрерывный режим или режим «вверх») 11 TBCLx загружается, когда TBR досчитывает к TBCLx |
CAP | Бит 8 | Режим захвата. 0 Режим сравнения 1 Режим захвата |
OUTMODx | Биты | Режим вывода. Режимы 2, 3, 6 и 7 не используются для TBCL0, поскольку EQUx=EQU0. 000 Значение бита OUT 001 Установка 010 Переключение/сброс 011 Установка/сброс 100 Переключение 101 Сброс 110 Переключение/установка 111 Сброс/установка |
CCIE | Бит 4 | Разрешение прерывания по захвату/сравнению. Этот бит разрешает запрос прерывания от соответствующего флага CCIFG. 0 Прерывание запрещено 1 Прерывание разрешено |
CCI | Бит 3 | Вход захвата/сравнения. Выбранный входной сигнал может быть прочитан этим битом. |
OUT | Бит 2 | Выход. Этот бит указывает состояние вывода. Если выбран режима вывода 0, этот бит напрямую управляет состоянием выхода. 0 Низкий уровень выхода 1 Высокий уровень выхода |
COV | Бит 1 | Переполнение захвата. Этот бит указывает, что произошло переполнение захвата. Бит COV должен быть сброшен программно. 0 Переполнения захвата не произошло 1 Произошло переполнение захвата |
CCIFG | Бит 0 | Флаг прерывания захвата/сравнения 0 Прерывание не ожидается 1 Ожидается прерывание |
TBIV, регистр вектора прерывания таймера В
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
r0 | r0 | r0 | r0 | r0 | r0 | r0 | r0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | TBIVx | 0 |
r0 | r0 | r0 | r0 | r-(0) | r-(0) | r-(0) | r0 |
TBIVx | Биты | Значение вектора прерывания таймера В |
Содержимое TBIV | Источник прерывания | Флаг прерывания | Приоритет прерывания |
00h | Прерывание не ожидается | - |
|
02h | Захват/сравнение 1 | TBCCR1 CCIFG | Высший |
04h | Захват/сравнение 2 | TBCCR2 CCIFG |
|
06h | Захват/сравнение 3* | TBCCR3 CCIFG |
|
08h | Захват/сравнение 4* | TBCCR4 CCIFG |
|
0Ah | Захват/сравнение 5* | TBCCR5 CCIFG |
|
0Ch | Захват/сравнение 6* | TBCCR6 CCIFG |
|
0Eh | Переполнение таймера | TBIFG | Низший |
* Только в устройствах MSP430x14x, MSP430x16x.
Раздел 13 Периферийный интерфейс USART, режим UART
Универсальный синхронно/асинхронный приемопередающий (USART) периферийный интерфейс поддерживает два последовательных режима в одном аппаратном модуле. Этот раздел описывает работу асинхронного режима UART. USART0 реализован в устройствах MSP430x12xx, MSP430x13xx и MSP430x15x. В дополнение к USART0 в устройствах MSP430x14x и MSP430x16x реализован второй идентичный USART модуль – USART1.