Таймеры
Микроконтроллер содержит 5 различных таймеров, а именно: TC0,ТС1,ТС2,ТС4. Таймеры в данном расположенные в данном микроконтроллере можно разбить на 2 части:
1)базового семейства
2)верхнего семейства
ТС0,ТС1-таймеры базового семейства
ТС2,ТС4-таймеры верхнего семейства
ТС0,ТС1
Представляют собой 16-ти разрядный таймер, образующий сдвоенный буфер в области регистра специального назначения.
Данные таймеры могут работать в режиме счетчика и таймера. В режиме счетчика сигналов, инкрементируемые являются внешний сигнал микроконтроллера,а во втором случае сигнал синхронизации с коэффициентом деления К. Данные таймеры могут тактироваться от одного до 5-ти источников, выбор которого осуществляется с помощью бита режима таймера. Модуль содержит дополнительные устройства предделитель, с помощью которого можно вводить коэффициент разделения выходного сигнала.
Для организации работы таймеров используются 2 регистра управления и по 2 сдвоенных регистра буферов таймера.
Регистр управления—TCON
Регистр режимов – TMOD
Регистр управления тактированием – TKCON
Буферные регистры таймера нулевого:TLOTHO
Буферные регистры таймера первого:TL1 TH1
Данные таймеры могут работать в одном из 4-х режимов:
1)Режим «0». Предполагают работу как 13-ти разрядные счетчики. Здесь младшие разряды буфера TLявляются нефункциональным. Переполнение таймера генерирует флаг события.
2)Режим «1». Аналогичен предыдущему, но буфер -16 бит.
3) Режим «2». Данные таймеры работают как 8-ми разрядные счетчики с возможностью автоперезагрузки начального значения, а именно младший разряд или младший регистр буферного регистра ТL содержит текущее значение счетчика , регистр ТН содержит перезагружаемое значение, которое загружается в регистр ТL после его переполнения, т е осуществляется переход от значения FF к значению в регистре TH. Переполнение 8-ми разрядного буфера формирует флаг события с возможностью прерывания. Событие переполнения и перезагрузки младшего разряда не изменяет значение старшего разряда. Данный микроконтроллер позволяет организовать формирование необходимых временных отличий.
4)режим «3». В нем работает только нулевой таймер TCO,и в этом режиме данный таймер рассматривается как два 8-ми разрядных таймера. В этом режиме TC1 может работать в любом режиме (0,1,2), но не может тактироваться :
1)внешних сигналом (используется для 1-го из 8-ми разрядных счетчиков)
2)устанавливать флаг события
3)генерировать прерывание
TC2, TC3, TC4
Представляют собой 16-ти разрядные таймеры счетчика, организованные 2-мя буферными регистрами специального назначения. Они могут тактироваться системным тактовым сигналом от внешнего генератора с коэффициентом деления К=8.
Данные таймеры работают в следующих режимах:
1)режим автоперезагрузки
2)режим захвата
3)режим переключаемого выхода с возможностью реверсивного счета
Режим выбирается с помощью регистра специального назначения или регистра конфигурации.
Данный таймер используется для генератора прямоугольных сигналов, периодического запуска модуля АЦП, определения момента обновления выходного сигнала ЦАП, для генерации скорости передачи модуля UART и т.д.
Режим захвата
В этом режиме таймеры функционируют как 16-ти разрядные таймеры-счетчики, при этом переход внешнего сигнала на линии таймера происходит перезагрузка содержимого таймера счетчика с дополнительным регистром захвата. Данное событие сопровождается установкой флага события к возможности генерации прерывания.
Режим автоперезагрузки
Таймеры в этом режиме могут работать в прямом, инверсном режиме, переход от FF к 00 и наоборот может генерировать прерывание.
В этом режиме флаг события инвертируется при каждом переполнении или опустошении буфера и рассматривается как дополнительный (старший разряд) 16-ти разрядного таймера счетчика. Работа режима заключается в загрузке содержимого дополнительных регистров при возникновении переполнения основных буферных регистров, при этом содержимое дополнительных регистров не изменяется.
Режим автоматического переключаемого выхода
В этом режиме происходит переключение состояния соответствующих внешних выходов таймеров. В результате чего генерируется прямоугольные импульсы с коэффициентом заполнения К=2. В этом режиме таймеры могут работать как в прямом, так и в обратном направлении. Частота переключений определяется частотой тактирования таймера и значениями загруженными в дополнительные буферные регистры (дополнительные регистры захвата). Если таймер считает в обратном направлении, то значения FFFFдо 0000 и опустошение будут происходить в тот момент, когда значение таймера станет равно значению дополнительному буферному регистру захвата, то формируется изменение выхода. Для организации работы таймера используются следующие регистры специального назначения:
1)регистр управления(индивидуальный для каждого таймера-соответственно для 2-го,для 3-го и для 4-го)
2)регистр конфигурации
3)регистры счета таймеров
4)дополнительные регистры захвата
7.5.3 Программируемый массив счетчиков (PCA)
Данный модель реализует расширенные функции встроенных таймеров, при котором требует минимального вмешательства со стороны процессора и программы.
В общем виде структура PCAмодуля выглядит следующим образом:
Состоит из специального 16-ти разрядного таймера и 6-ти 16-ти разрядных модулей захвата сравнения.
Таймер-счетчик модуля PCA.
Представляет собой 16-ти разрядный сдвоенный счетчик ,состоящий из 2-х
8-ми разрядных буферных регистров. Таймер-счетчик предназначен для тактирования и задания режима в работы модулей захвата сравнения. Таймер тактируется программируемым внутренним сигналом, в качестве которого могут использоваться:
--системный тактовый сигнал с К=1/4, 1/12,1/16
--внутренний генератор ECI
--функция переполнения таймера «0»
--сигнал с внешнего вывода «0»
Структура таймера выглядит следующим образом:
При переполнении данного таймера устанавливается флаг события, вызывающий прерывание. Организовывает работу таймера модуля PCAрегистры специального назначения:
--регистр управления (индекс С)
--регистр выбора режима (с индексом D)
--сдвоенный PCA(Н,L)