Таймерная секция ТС0: особенности, режимы работы, примеры применения.



Т/с T0 – это универсальный восьмиразрядный счетный модуль с двумя независимыми модулями совпадения и с поддержкой ШИМ (PWM). Он позволяет формировать заданные промежутки времени (для работы в режиме реального времени). А также может служить генератором сигналов. Он имеет следующие особенности:

- два независимых модуля совпадения

- двойная буферизация при записи в регистры сравнения

- сброс таймера при совпадении (автоперезагрузка)

- симметричный широтно-импульсный модулятор с подавлением помех

- программно изменяемый период в режиме ШИМ

- генератор частот

- три независимых источника прерывания (TOV0, OCF0A, OCF0B)

 

 

Режим работы т/с и выхода сигнала совпадения, определяется как режимом работы генератора сигналов (WGM02:0), так и режимом вывода сигнала совпадения (COM0x1:0). Состояния битов, определяющих режим вывода сигнала совпадения, не влияет на последовательность досчета, которая определяется только состоянием битов конфигурации генератора сигналов.

Биты COM0x1:0 определяют, будет ли сигнал на выходе инвертирован или неинвертирован (в не ШИМ определяют, будет ли сигнал на выходе установлен, очищен или будет переключаться в момент совпадения).

 

Режим Normal (WGM02:0 = 0).

В этом режиме направление счета всегда вперед (содержимое увеличивается), и принудительный сброс счетчика не выполняется. Счетчик просто переполняется, когда достигнет максимального для восьми разрядов значения (TOP = 0xFF), а затем перезапускается сначала (0х00).

В нормальном режиме работы в том же цикле тактового сигнала, в котором произошло переполнение, устанавливается флаг переполнения т/с (TOV0). Флаг TOV0 в этом случае ведет себя как 9-ый бит счетчика, но с тем лишь отличием, что он только устанавливается, но не сбрасывается. Одновременно с перезапуском таймера возникает запрос на прерывание, которое автоматически очищает флаг TOV0. В режиме Normal новое значение счетного регистра может быть записано в любой момент времени.

 

Режим сброса при совпадении (СТС) (WGM02:0 = 2, требуется регистр OCR0A)

При работе в режиме СТС счетчик сбрасывается в ноль, если значение его счетного регистра (TCNT0) соответствует значению регистра OCR0A. Этот регистр определяет максимальное значение для счетчика и коэффициент пересчета. Режим СТС позволяет осуществлять непосредственное управление частотой сигнала. Прерывание может вызываться по достижению счетчиком значения TOP. Если прерывание разрешено, процедура обработки прерывания может использоваться для обновления значения TOP.

 

Режим Fast PWM (WGM02:0 = 3 или 7).

Позволяет формировать сигнал с широтно-импульсной модуляцией и относительно высокой частотой. Быстрый ШИМ вырабатывает сигнал в виде пилы с одним наклоном. Счет происходит всегда в одном направлении: от минимального значения до максимального. После этого счетчик сбрасывается в BOTTOM. В неинвертирующем режиме сигнал на выходе (OC0x) устанавливается в единицу в момент вопадения содержимого регистров TCNT0 и OCR0x и сбрасывается в ноль при достижении значения TOP. В инвертирующем режиме сигнал на выходе сбрасывается в момент совпадения и устанавливается при достижении TOP. Т.к. пилообразный сигнал на выходе счетчика имеет один наклон, частота выходного сигнала ШИМ вдвое выше, чем в остальных режимах ШИМ.

 

Режим phase correct PWM (WGM02:0 = 1 или 5)

В этом режиме счетный регистр работает как реверсивный счетчик и вырабатывает пилообразный сигнал с двухсторонним наклоном. Направление счета периодически меняется. Сначала содержимое счетчика увеличивается от BOTTOM до TOP, а затем уменьшается от TOP до BOTTOM. В неинвертирующем режиме сигнал на выходе совпадения (OC0x) сбрасывается в момент совпадения TCNT0 и OCR0x, если счетчик работает на уменьшение, и устанавливается в момент совпадения в том случае, когда счетчик работает на увеличение. В инвертирующем режиме все происходит наоборот. У этого режима максимальная частота выходного сигнала в два раза ниже, чем в режиме с одним наклоном.

 

 


Дата добавления: 2018-06-01; просмотров: 289; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!