Главная » Просмотр файлов » Руководство пользователя MSP430

Руководство пользователя MSP430 (1041606), страница 20

Файл №1041606 Руководство пользователя MSP430 (Раздаточные материалы) 20 страницаРуководство пользователя MSP430 (1041606) страница 202017-12-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 20)


Рис.11-12 Пример вывода – таймер в режиме «вверх»

Пример вывода – таймер в непрерывном режиме

Сигнал OUTx изменяется, когда таймер достигает значений TACCRx и TACCR0, в зависимости от режима вывода. Пример с использованием TACCR0 и TACCR1 показан на рис.11-13.


Рис.11-13 Пример вывода – таймер в непрерывном режиме

Пример вывода – таймер в режиме «вверх/вниз»

Сигнал OUTx изменяется, когда таймер становится равным TACCRx в каждом направлении счета, а также когда таймер равен TACCR0, в зависимости от режима вывода. Пример с использованием TACCR0 и TACCR2 показан на рис.11-14.


Рис.11-14 Пример вывода – таймер в режиме «вверх/вниз»

Примечание: Переключение между режимами вывода
При переключении между режимами вывода один из битов OUTMODx должен оставаться установленным во время перехода, кроме переключения в режим 0. В противном случае может произойти сбой, поскольку режим вывода 0 декодирует элемент NOR (НЕ-ИЛИ). Безопасный метод переключения между режимами вывода заключается в использовании режима вывода 7 как переходного состояния:

BIS #OUTMOD_7,&TACCTLx ; Установка режима вывода 7
BIC #OUTMODx,&TACCTLx ; Очистка лишних битов

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

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

  • Вектор прерывания TACCR0 для TACCR0 CCIFG

  • Вектор прерывания TAIV для всех других флагов CCIFG и TAIFG

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

Прерывание TACCR0

Флаг TACCR0 CCIFG обладает наивысшим приоритетом прерывания Таймера А и имеет специализированный вектор прерывания, как показано на рис.11-15. Флаг TACCR0 CCIFG автоматически сбрасывается, когда обслуживается запрос на прерывание TACCR0.


Рис.11-15 Флаг прерывания захвата/сравнения TACCR0

Генератор вектора прерывания TAIV

Флаги TACCR1 CCIFG, TACCR2 CCIFG и TAIFG распределены по приоритетам и объединены в источник одного вектора прерывания. Регистр вектора прерывания TAIV используется для определения, какой флаг запросил прерывание.

Разрешенное прерывание с наивысшим приоритетом генерирует число в регистре TAIV (см. описание регистра). Можно оценить это число или добавить его к программному счетчику для автоматического входа в соответствующую программную процедуру. Запрещенные прерывания Таймера А не воздействуют на значение TAIV.

Любое обращение - чтение или запись регистра TAIV - автоматически сбрасывает флаг наивысшего ожидающего прерывания. Если установлен другой флаг прерывания, будет немедленно сгенерировано другое прерывание после обработки начального прерывания. Например, если флаги TACCR1 и TACCR2 CCIFG установлены, когда процедура обработки прерывания обращается к регистру TAIV, флаг TACCR1 CCIFG автоматически сбрасывается. После выполнения команды RETI процедуры обработки прерывания, флаг TACCR2 CCIFG генерирует другое прерывание.

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

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

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

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

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

Переполнение таймера TAIFG 14 циклов

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

CCIFG_0_HND

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

RETI 5

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

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

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

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

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

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

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

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

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

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

RETI 5

CCIFG_2_HND ; Вектор 4: TACCR2

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

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

CCIFG_1_HND ; Вектор 2: TACCR1

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

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

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

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

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

Регистр

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

Тип
регистра

Адрес

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

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

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

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)

w-(0)

rw-(0)

rw-(0)



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

Биты
15-10

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

TASSELx

Биты 9-8

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

00 TACLK

01 ACLK

10 SMCLK

11 INCLK

IDx

Биты 7-6

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

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 Ожидается прерывание

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)



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 Сброс/установка

CCIE

Бит 4

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

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

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

CCI

Бит 3

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

OUT

Бит 2

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

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

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

COV

Бит 1

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

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

3

2

1

0

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

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

-

Низший

Раздел 12 Таймер В

Таймер В - это 16-разрядный таймер/счетчик со несколькими регистрами захвата/сравнения. В этом разделе описывается работа таймера В. Таймер В3 (с тремя регистрами захвата/сравнения) реализован в устройствах MSP430x13x и MSP430x15x. Таймер В7 (с семью регистрами захвата/сравнения) реализован в устройствах MSP430x14x и MSP430x16x.

Характеристики

Тип файла
Документ
Размер
7,29 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Раздаточные материалы
Описания к различным сериям микроконтроллеров
Описания некоторых систем передачи данных
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6546
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее