Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основной текст.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.21 Mб
Скачать

1.19 Прерывания Таймера а

С модулем 16 – битного Таймера А связаны два вектора прерывания:

– вектор прерывания TACCR0 для бита CCIFG, соответствующего регистру TACCR0;

– вектор прерывания TAIV для всех остальных флагов CCIFG и флага TAIFG.

В режиме захвата любой из флагов CCIFG устанавливается в момент сохранения значения таймера в соответствующем регистре TACCRx. В режиме сравнения любой из флагов CCIFG устанавливается при достижении таймером в процессе счёта значения, записанного в соответствующем регистре TACCRx. Кроме того, любой флаг CCIFG можно установить или сбросить программно. При установке флага CCIFG, если установлен соответствующий бит CCIE и бит общего разрешения прерываний GIE, генерируется запрос прерывания.

1.20 Регистры Таймера а

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

Таблица 1.9 – Регистры таймера А.

Регистр

Краткое обозначение

Тип регистра

Адрес

Исходное состояние

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

TACTL

Чтение/

запись

0160h

Сброс с POR

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

TAR

Чтение/

запись

0170h

Сброс с POR

Регистр 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

В таблице 1.10 приведены биты регистра управления таймером А.

Таблица 1.10 – биты регистра управления TACTL

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

Биты 15–10

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

TASSELx

Биты 9–8

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

00 TACLK

01 ACLK

10 SMCLK

11 INCLK

IDx

Биты 7–6

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

00 /1

01 /2

10 /4

11 /8

MCx

Биты 5–4

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

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

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

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

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

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

Бит 3

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

TACLR

Бит 2

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

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

TAIE

Бит 1

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

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

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

TAIFG

Бит 0

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

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

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

TACCTLx является регистром управления захватом/сравнением, функции его битов представлены в таблице таблице 1.11

Таблица 1.11 – Биты регистра управления TACCTL

1

2

3

CMx

Биты 15–14

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

00 Нет захвата

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

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

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

CCISx

Биты 13–12

Выбор входа захвата/сравнения. Этими битами выбирается входной сигнал TACCRx. См. справочное руководство конкретного устройства для выяснения подробностей подключения сигналов.

00 CCIxA

01 CCIxB

10 GND

11 VCC

SCS

Бит 1

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

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

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

SCCI

Бит 10

Синхронизация входа захвата/сравнения. Выбранный входной сигнал CCI фиксируется по сигналу EQUx и может быть прочитан через этот бит.

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

Бит 9

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

CAP

Бит 8

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

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

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

OUTMODx

Биты 7–5

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

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

001 Установка

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

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

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

101 Сброс

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

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

Продолжение таблицы 1.11

1

2

3

CCIE

Бит 4

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

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

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

CCI

Бит 3

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

OUT

Бит 2

Выход. Этот бит указывает состояние выхода. Если выбран режима вывода 0, этот бит напрямую управляет состоянием выхода.

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

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

COV

Бит 1

Переполнение захвата. Этот бит указывает, что произошло переполнение захвата. Бит COV должен быть сброшен программно

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

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

CCIFG

Бит 0

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

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

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