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

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

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

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

Добавлен: 16.06.2025

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

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

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

MSP430x1xxFamily

Пример программного обеспечения, использующего TAIV

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

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

• Блок захвата/сравнения TACCR0

11 циклов

• Блоки захвата/сравнения TACCR1, TACCR2

16 циклов

• Переполнение таймера TAIFG

14 циклов

;Обработчик прерывания для TACCR0 CCIFG.

Циклы

CCIFG_0_HND

;... ;Начало времени задержки обработчика прерывания 6

RETI

5

;Обработчик прерывания для TAIFG, TACCR1 и TACCR2 CCIFG.

6

TA_HND

...

;Задержка прерывания

ADD &TAIV,PC ;Добавление смещения к таблице переходов 3

RETI

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

5

JMP CCIFG_1_HND ;Вектор 2: TACCR1

2

JMP CCIFG_2_HND ;Вектор 4: TACCR2

2

RETI

;Вектор 6: Зарезервировано

5

TAIFG_HND

RETI

;Вектор 8: Зарезервировано

5

...

;Вектор 10: Флаг TAIFG

;Задача стартует здесь

5

RETI

;Вектор 4: TACCR2

CCIFG_2_HND

...

;Задача стартует здесь

5

RETI

;Возврат к главной программе

CCIFG_1_HND

;Вектор 2: TACCR1

...

;Задача стартует здесь

5

RETI

;Возврат к главной программе

Перечень регистров Таймера А приведен в таблице 11-3.

Таблица 11-3. Регистры Таймера А.

Регистр

Краткое

Тип регистра

Адрес

Исходное

обозначение

состояние

Управление Таймером А

TACTL

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

0160h

Сброс с POR

Счетчик Таймера А

TAR

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

0170h

Сброс с POR

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

194


Раздел XI.

Таймер A

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

Регистр

Краткое

Тип регистра

Адрес

Исходное

обозначение

состояние

Регистр 0 управления захватом/

TACCTL0

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

0162h

Сброс с POR

сравнением Таймера А

Регистр 0 захвата/сравнения

TACCR0

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

0172h

Сброс с POR

Таймера А

Регистр 1 управления захватом/

TACCTL1

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

0164h

Сброс с POR

сравнением Таймера А

Регистр 1 захвата/сравнения

TACCR1

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

0174h

Сброс с POR

Таймера А

Регистр 2 управления захватом/

TACCTL2

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

0166h

Сброс с POR

сравнением Таймера А

Регистр 2 захвата/сравнения

TACCR2

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

0176h

Сброс с POR

Таймера А

Вектор прерывания Таймера А

TAIV

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

012Eh

Сброс с POR

TACTL, регистр управления Таймером А

15

14

13

12

11

10

9

8

Не используется

TASSELx

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

Не

TACLR

TAIE

TAIFG

используется

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

Не используются

Биты 15-10

Не используются

Выбор источника тактирования Таймера А

00 – TACLK

TASSELx

Биты 9-8

01 – ACLK

10 – SMCLK

11 – INCLK

Входной делитель. Эти биты позволяют выбрать коэффициент

деления для входной тактовой частоты.

IDx

Биты 7-6

00 – /1

01 – /2

10 – /4

11 – /8

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

195


MSP430x1xxFamily

Выбор режима. Установка MCx=00h, когда Таймер А не исполь-

зуется, позволяет уменьшить потребляемую мощность.

00 – Режим остановка: таймер остановлен

MCx

Биты 5-4

01 – Режим «вверх»: таймер считает вверх к TACCR0

10 – Непрерывный режим: таймер считает вверх к 0FFFFh

11 – Режим «вверх/вниз»: таймер считает вверх к TACCR0,

затем вниз к 0000h

Не используется

Бит 3

Не используется

Очистка Таймера А. Установка этого бита сбрасывает TAR, IDx

TACLR

Бит 2

и выбранное направление счета. Бит TACLR автоматически

сбрасывается и всегда читается как нуль.

Разрешение прерывания от Таймера А. Этот бит разрешает

TAIE

Бит 1

запрос прерывания TAIFG.

0 – Запрещение прерывания

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

Флаг прерывания Таймера А

TAIFG

Бит 0

0 – Прерывание не ожидается

1 – Ожидается прерывание

TAR, регистр Таймера А

15

14

13

12

11

10

9

8

TARx

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

7

6

5

4

3

2

1

0

TARx

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

TARx

Биты 15-0

Регистр Таймера А. Регистр TAR является счетчиком Таймера А.

TACCTLx, регистр управления захватом/сравнением

15

14

13

12

11

10

9

8

CMx

CCISx

SCS

SCCI

Не

CAP

используется

rw•(0)

rw•(0)

rw•(0)

rw•(0)

rw•(0)

r•(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)

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

196


Раздел XI.

Таймер A

Режим захвата

00 – Нет захвата

CMx

Биты 15-14

01 – Захват по нарастающему (переднему) фронту

10 – Захват по заднему фронту

11 – Захват как по переднему, так и по заднему фронтам

Выбор входа захвата/сравнения. Этими битами выбирается

входной сигнал TACCRx. См. справочное руководство конкрет-

ного устройства для выяснения подробностей подключения

CCISx

Биты 13-12

сигналов.

00 – CCIxA

01 – CCIxB

10 – GND

11 – VCC

Синхронизация источника захвата. Этот бит используется для

синхронизации входного сигнала захвата с тактовым сигналом

SCS

Бит 1

таймера.

0 – Асинхронный захват

1 – Синхронный захват

Синхронизация входа захвата/сравнения. Выбранный входной

SCCI

Бит 10

сигнал CCI фиксируется по сигналу EQUx и может быть прочи-

тан через этот бит.

Не используется

Бит 9

Не используется. Только читается. Всегда читается как 0.

Режим захвата.

CAP

Бит 8

0 – Режим сравнения

1 – Режим захвата

Режим вывода. Режимы 2, 3, 6 и 7 не используются для

TACCR0, поскольку EQUx=EQU0.

000 – Значение бита OUT

001 – Установка

OUTMODx

Биты 7-5

010 – Переключение/сброс

011 – Установка/сброс

100 – Переключение

101 – Сброс

110 – Переключение/установка

111 – Сброс/установка

Разрешение прерывания по захвату/сравнению. Этот бит разре-

CCIE

Бит 4

шает запрос прерывания от соответствующего флага CCIFG.

0 – Запрещение прерывания

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

CCI

Бит 3

Вход захвата/сравнения. Выбранный входной сигнал может

быть прочитан этим битом.

Выход. Этот бит указывает состояние выхода. Если выбран

режима вывода 0, этот бит напрямую управляет состоянием

OUT

Бит 2

выхода.

0 – Низкий уровень выхода

1 – Высокий уровень выхода

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

197


MSP430x1xxFamily

Переполнение захвата. Этот бит указывает, что произошло

переполнение захвата. Бит COV должен быть сброшен про-

COV

Бит 1

граммно

0

– Переполнения захвата не произошло

1

– Произошло переполнение захвата

Флаг прерывания захвата/сравнения

CCIFG

Бит 0

0

– Прерывание не ожидается

1

– Ожидается прерывание

TAIV, регистр вектора прерывания таймера А

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

2

1

0

3

0

0

0

0

TAIVx

0

r0

r0

r0

r0

r•(0)

r•(0)

r•(0)

r0

TARx

Биты 15-0

Значение вектора прерывания таймера А

Содержимое

Источник преры-

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

Приоритет прерывания

TAIV

вания

00h

Прерывание не ожи-

-

дается

02h

Захват/сравнение 1

TACCR1 CCIFG

Высший

04h

Захват/сравнение 2

TACCR2 CCIFG

06h

Зарезервировано

-

08h

Зарезервировано

-

0Ah

Переполнение таймера

TAIFG

0Ch

Зарезервировано

-

0Eh

Зарезервировано

-

Низший

198

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