Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры > MAXQ |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Раздел 8: Модуль таймера/счетчика 1Модуль таймера/счетчика 1 позволяет микроконтроллерам семейства MAXQ управлять 16-разрядным программируемым таймером/счетчиком. Однако, этот модуль имеется не во всех микроконтроллерах семейства MAXQ. Таймер 1 Таймер 1 - второй тип 16-разрядного таймера/счетчика. Таймер 1 состоит из 16-разрядного регистра, состоящего из двух байт T1H и T1L. Запускается Таймер 1 путем установки бита (TR1) в регистре T1CN. В отличие от Таймера 0, Таймер 1 может работать только как полный 16-разрядный таймер/счетчик. Однако, он поддерживает много дополнительных режимов, не доступных Таймеру 0. Эти дополнительные режимы активизируются путем установки соответствующих битов регистра T1CN. Для поддержки дополнительных функциональных возможностей Таймера 1 имеются 16-разрядный регистр захвата данных, состоящий из двух байт T1CH и T1CL, и второй управляющий регистр T1MD. В таблице 1 приведены режимы Таймера 1 и состояние управляющих бит регистра T1CN, приводящие к инициализации этих режимов. Таймер 1 может синхронизироваться от внешнего источника синхроимпульсов (за исключением режима формирования выходных синхроимпульсов). Таблица 11. Режимы Таймера/Счетчика 1
Режим Таймера 1: 16- разрядный таймер/счетчик с автоматической перезагрузкой Таймер 1 переходит в режим таймера/счетчика с автоматической перезагрузкой при сбросе бита CP/RL1 (T1CN.0) в 0. В этом режиме, Таймер 1 работает как обыкновенный 16- разрядный таймер/счетчик, но имеет 16- разрядное значение перезагрузки и способность перезапускаться по сигналу на внешнем выводе. Таймер 1 начинает счет со значения, содержащегося в регистрах T1H и T1L. При переполнении таймера устанавливается флаг TF1. Этот флажок может сформировать запрос на прерывание, при условии, что оно разрешено. после переполнения таймер начинает считать от установленного начального значения. Начальное значение устанавливается программно в регистрах захвата Т1CH и T1CL. В режиме автоматической перезагрузки эти регистры не могут использоваться для захвата данных, так как эти режимы являются взаимоисключающими. В режиме автоматической перезагрузки Таймер 1 может также быть принудительно перезапущен сигналом на выводе T1EX. Если бит EXEN1 (T1CN.3) установлен в 1, то спадающий фронт на выводе T1EX вызовет перезагрузку. В противном случает, сигнал на выводе T1EX игнорируется. Если бит C/nonT1 (T1CN.1) сброшен в 0, то таймер синхронизируется от системных синхроимпульсов. Когда C/nonT1 = 1, то синхронизация осуществляется от синхроимпульсов на выводе T1. Разрешение или блокировку поступления входных синхроимпульсов осуществляет бит TR1 (T1CN.2). На рисунке 19 приведена схема модуля Таймера 1, находящегося в режиме с автоматической перезагрузкой.
Режим Таймера 1: захват 16- битных событий Режим захвата 16- битных событий активизируется установкой бита CP/nonRL1 (T1CN.0) в 1. Таймер 1 начинает считать от значения, установленного в регистрах T1H и T1L до достижения состояния переполнения, после чего устанавливается флаг TF1. Этот флаг может сформировать запрос на прерывание, если оно разрешено. Дополнительная функция захвата данных активизируется установкой бита EXEN1 (T1CN.3) в 1. Сразу после этого отрицательный перепад сигнала на выводе T1EX приводит к загрузке начального значения Таймера 1 из регистров T1H и T1L в регистры захвата данных (Т1СН, T1CL) и устанавливается флаг EXF1 (T1CN.6). Установка флага EXF1 может сформировать запрос на прерывание, если оно разрешено. Если бит EXEN1 установлен в 0, то отрицательный перепад на выводе T1EX не приводит к инициализации захвата данных.
Режим Таймера 1: Добавляющий/вычитающий счетчик с автоматической перезагрузкой Режим добавляющего/вычитающего счетчика активизируется установкой бита DCEN (T1CN.4) в 1. Когда бит DCEN установлен в 1, Таймер 1 в зависимости от состояния бита T1EX осуществляет добавляющий/вычитающий счет. Добавляющий счет осуществляется когда на выводе T1EX установлена логическая 1, а когда на этом выводе ноль, то осуществляется вычитающий счет. Когда DCEN = 0, то Таймер 1 осуществляет только добавляющий счет. При переполнении происходит перезагрузка значений регистров Т1СН и T1CL в регистры T1H и T1L. При вычитающем счете антипереполнение происходит когда значения в регистрах T1H и T1L становятся равными значениям в регистрах Т1СН и T1CL, соответственно. Когда антипереполнение происходит, в регистры T1H и T1L заносится значение FFFFh, и счет продолжается. Обратите внимание, что в этом режиме, выход переполнения/антипереполнения таймера формируется детектором фронта, аналогично биту TF1 (T1CN.7). Эти детекторы фронтов изменяют бит EXF1 (T1CN.6) при каждом переполнении или антипереполнении. Поэтому, бит EXF1 ведет себя как 17- ый бит счетчика, и также может использоваться.
Режим Таймера 1: Формирователь синхроимпульсов Также Таймер 1 может быть настроен на формирование на выводе T1 синхросигнала (см. рисунок 22). Чтобы настроить Таймер 1 для работы в этом режиме необходимо сначала активизировать режим 16- разрядного таймера с автоматической перезагрузкой (CP/nonRL1 = 0, C/nonT1 = 0). Затем бит T1OE (T1CN.5) должен быть установлен в 1. Для активизации таймера бит TR1 (T1CN.2) также должен быть установлен в 1. Бит DCEN в этом режиме не оказывает никакого влияния. В этом режиме на выходе формируются синхроимпульсы со скважностью, равной 2. Частота этого прямоугольного сигнала определяется по формуле, приведенной на рисунке 22. Каждое переполнение таймера вызывает изменение сигнала на выводе. Обратите внимание, что сам таймер не формирует прерывание, но если необходимо, может быть использовано внешние прерывание Таймера 1 (если EXEN1 = 1).
Периферийные регистры Таймера/Счетчика 0
Выбор периода Таймеров 0 и 1 У микроконтроллеров семейства MAXQ период каждого таймера задается независимо. По умолчанию для каждого таймера синхросигналом являются деленные на 12 системные синхроимпульсы. Частота входных синхроимпульсов для таймеров определяется битом TxM (T0M для Таймера 0; T1M для Таймера 1). Установка бита TxM позволяет использовать системные синхроимпульсы в качестве входных синхроимпульсов для этих таймеров. В таблице 12 показана зависимость частоты входных синхроимпульсов для таймеров от состояния служебного бита TxM. Таблица 12. Выбор частоты синхронизации Таймера 0 и Таймера 1
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|