Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры > MAXQ |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Раздел 7: Модуль таймера/счетчика 0Модуль таймера/счетчика 0 позволяет микроконтроллерам семейства MAXQ управлять 16-разрядным программируемым таймером/счетчиком. Наличие и количество модулей таймера/счетчика 0 у различных микроконтроллеров может быть различным. Таймер 0 Таймер 0 - первый тип 16-разрядного таймера/счетчика. Таймер 0 состоит из 16- разрядного регистра, который состоит в свою очередь из двух байт: T0H и T0L. Таймер 0 запускается путем установки бита TR0 в регистре. Таймер 0 поддерживает четыре основных режима работы. Режим работы определяется содержимым регистра T0CN. В таблице 10 приведены четыре режима Таймера 0 и состояния битов регистра T0CN, при котором эти режимы активны. В каждом рабочем режиме Таймер 0 может синхронизироваться внешним сигналом, а так же можно реализовать логическое умножение синхросигнала и внешнего управляющего сигнала (так называемый логический вентиль). Функция логического вентиля особенно полезна при изменении длительности импульсов внешних сигналов. Таблица 10. Режимы Таймера 0
Режим Таймера 0: 13- битный Таймер/Счетчик Как было упомянуто в Таблице 10, установка в регистре T0CN значения битов M1:M0 = 00b выбирает для Таймера 0 режим 13- битного Таймера/Счетчика. T0H содержит 8 старших бит 13- разрядного таймера, а биты 4 - 0 регистра T0L содержат 5 младших бит 13- разрядного таймера. Перенос из 4 бита регистра T0L используется в качестве тактового импульса регистра T0H, таким образом, биты 5 - 7 регистра T0L полностью не задействованы. Старшие три бита T0L неопределенны. Когда 13- битный счетчик достигает значения 1FFFh (все единицы), то на следующем такте в нем устанавливается значение 0000h. После этого устанавливается флаг TF0 (T0CN.5), и, если разрешено, происходит прерывание. Как только таймер запущен установкой бита активизации таймера TR0 (T0CN.4), то увеличение значения счетчика происходит при возникновении одного из следующих условий:
Обычно входными синхроимпульсами Таймера 0 являются системные синхроимпульсы (определяется битом T0M (T0CN.6)). Однако, если бит C/nonT (T0CN.2) установлен в 1, то синхроимпульсами являются сигналы на выводе T0. При использовании вывода T0 в качестве входа для внешнего синхросигнала, Таймер/Счетчик 0 увеличивается по спадающему фронту этого внешнего синхросигнала. Чтобы надежно обнаруживать спадающий фронт, входной сигнал должен иметь длительность низкого и высокого уровней не менее одного периода системных синхроимпульсов. Обратите внимание, что когда входные синхроимпульсы Таймера 0 формируются из системных синхроимпульсов, то при изменении коэффициента деления системного делителя (при помощи бита управления регистра CKCN), изменяется и частота входных синхроимпульсов Таймера 0. Режим Таймера 0: 16- битный Таймер/Счетчик Установка в регистре T0CN значения битов M1:M0 = 01b выбирает для Таймера 0 режим 16- битного Таймера/Счетчика. Этот режим идентичен режиму 13- битного Таймера/Счетчика, за исключением того, что пара регистров T0H:T0L содержат 16-разрядное значение. T0H содержит старший байт, а T0L - младший байт. Переполнение происходит при достижении счетчиком значения FFFFh. При переполнении устанавливается флаг TF0 (T0CN.5) и, если оно разрешено, происходит прерывание. Выбор периода, выбор счетчика/таймера и функция логического вентиля работают также, как и при работе в режиме 13- битного счетчика.
Режим Таймера 0: 8- разрядный Таймер с автоматической перезагрузкой Установка в регистре T0CN значения битов M1:M0 = 10b выбирает для Таймера 0 режим 8- битного счетчика с автоматической перезагрузкой начального значения. Для счета таймер использует регистр T0L, а для хранения начального значения - регистр T0H. Для правильного счета программное значение должно инициализировать и T0L и T0H с одинаковыми значениями. Как только в регистре T0L устанавливается значение FFh происходит автоматическая загрузка в него значения, содержащегося в регистре T0H. Сам регистр T0H таймер не изменят. Подобно другим режимам Таймера 0, в этом режиме синхронизация может осуществляться от системных синхроимпульсов или от синхроимпульсов на выводе T0 (C/nonT = 1), при этом функция логического вентиля также доступна (GATE = 1).
Режим Таймера 0: Два 8- разрядных Таймера/Счетчика Установка в регистре T0CN значения битов M1:M0 = 11b выбирает для Таймера 0 режим двух 8- разрядных таймеров/счетчиков. В этом режиме регистр T0L используется в качестве 8- разрядного таймера/счетчика, который может синхронизироваться системными синхроимпульсами или по спадающему фронту сигнала на выводе T0 ( в соответствии со значением бита C/nonT (T0CN.2)). Как и в других режимах, функция логического вентиля также доступна. Регистр T0H становится независимым 8- разрядным таймером, который может считать только системные синхроимпульсы (см. рисунок 18). Активность обоих таймеров /счетчиков (T0L и T0H) определяется состоянием бита TR0, но прерывание связано с переполнением только регистра T0H.
Периферийные регистры Таймера/Счетчика 0
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|