АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Микроконтроллер MSP430. Модуль таймера микроконтроллера. Прерывание таймера

Читайте также:
  1. I. Исторический модуль.
  2. II Философский модуль.
  3. III. Культурологический модуль.
  4. Аппаратное обеспечение микроконтроллера. Изменяемый функциональный блок микроконтроллера.
  5. Взаимодействие микроконтроллера с клавиатурой,дисплеем
  6. Внутрипредметный модуль ,,Орфографический практикум,,
  7. Внутрипредметный модуль ,,Орфоэпическая зоркость,,
  8. ДЛЯ МОДУЛЬНОГО КОНТРОЛЮ.
  9. З модульного контролю «Господарча діяльність підприємств ЖКГ»
  10. Завдання до модульного контролю №2
  11. ЗАВДАННЯ ПО ДОГЛЯДУ ЗА ХВОРИМИ ДЛЯ МОДУЛЬНОГО КОНТРОЛЮ.
  12. ЗАВДАННЯ ПО ДОГЛЯДУ ЗА ХВОРИМИ ДЛЯ МОДУЛЬНОГО КОНТРОЛЮ.

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

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

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

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

В режиме захвата любой флаг CCIFG устанавливается, когда значение тай-

мера зафиксировано в соответствующем регистре TACCRx. В режиме сравне-

ния устанавливается любой флаг CCIFG, если TAR досчитал до соответствую-

щего значения TACCRx. Программное обеспечение может также устанавливать

или очищать любой флаг CCIFG. Все флаги CCIFG запрашивают прерывание,

когда установлены их соответствующие биты CCIE и бит GIE.

Прерывание TACCR0

Флаг TACCR0 CCIFG обладает наивысшим приоритетом прерывания Тай-

мера А и имеет специализированный вектор прерывания, как показано на

рис. 11-15. Флаг TACCR0 CCIFG автоматически сбрасывается, когда обслужива-

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

 

 

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

Флаги TACCR1 CCIFG, TACCR2 CCIFG и TAIFG распределены по приори-

тетам и объединены в источник одного вектора прерывания. Регистр вектора

прерывания TAIV используется для определения, какой флаг запросил пре-

рывание.

Разрешенное прерывание с наивысшим приоритетом генерирует число в

регистре TAIV (см. описание регистра). Можно оценить это число или добавить

его к программному счетчику для автоматического входа в соответствующую

программную процедуру. Запрещенные прерывания Таймера А не воздейству-

ют на значение TAIV.

Любое обращение – чтение или запись регистра TAIV – автоматически

сбрасывает флаг наивысшего ожидающего прерывания. Если установлен дру-

гой флаг прерывания, будет немедленно сгенерировано другое прерывание

после обработки начального прерывания. Например, если флаги TACCR1 и

TACCR2 CCIFG установлены, когда процедура обработки прерывания обращает-

ся к регистру TAIV, флаг TACCR1 CCIFG автоматически сбрасывается. После вы-

полнения команды RETI процедуры обработки прерывания, флаг TACCR2 CCIFG

генерирует другое прерывание.

 

Микроконтроллер MSP430. Модуль таймера микроконтроллера. Блоки захвата/сравнения.

В таймере А представлено три одинаковых блока захвата/сравнения TACCRx. Любой из блоков может быть использован для фиксации (захвата) данных таймера или для генерации временных интервалов.

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

Режим захвата выбирается, когда CAP=1. Режим захвата используется для регистрации временных событий. Это может потребоваться для быстрых вычислений или для измерения времени. Входы захвата CCIxA и CCIxB подключаются к внешним выводам или к внутренним сигналам и выбираются с помощью битов CCISx. Биты CMx определяют, как будет происходит захват: по фронту входного сигнала, по его спаду или в обоих случаях. Захват происходит по выбранному фронту входного сигнала. Если захват произошел, тогда:

Значение таймера копируется в регистр TACCRx

Устанавливается флаг прерывания CCIFG

Уровень входного сигнала может быть прочитан в любое время через бит CCI. К входам CCIxA и CCIxB в устройствах семейства MSP430x1xx могут подключаться различные сигналы. См. справочное руководство конкретного устройства для выяснения особенностей подключения этих сигналов. Сигнал захвата может быть асинхронен тактовой частоте таймера и вызывать состояние гонки сигналов. Установка бита SCS будет синхронизировать захват со следующим тактовым импульсом таймера. Рекомендуется устанавливать бит SCS для синхронизации сигнала захвата с тактовыми импульсами

таймера.

 

Логика переполнения предусмотрена в каждом регистре захвата/сравнения для индикации в случае, если произошел второй захват перед прочтением значения первого захвата. Когда это происходит, устанавливается бит COV, как показано на рис. Бит COV должен сбрасываться программно. Инициирование захвата программным обеспечением Захваты могут быть инициированы программно. Биты CMx могут быть установлены для выполнения захвата по обоим фронтам. В этом случае программное обеспечение устанавливает CCI=1 и переключает бит CCISO для переключения сигнала захвата между VCC и GND, инициируя захват каждый раз, когда CCISO изменяет состояние:

MOV #CAP+SCS+CCIS1+CM_3,&TACCTLx;Настройка TACCTLx

XOR #CCIS0,&TACCTLx;TACCTLx = TAR

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)