Глава 3
100
режим, в режим сброса таймера при совпадении или в один из режимов с
генерацией ШИМ-сигналов. Общим для всех режимов является
невыполнение каких-либо действий с выводом OC0 при выполнении условия
сравнения, если оба бита COM01, COM00 равны нулю.
После установки бит COM01, COM00 они вступают в силу только после
первого возникшего совпадения вслед за этой
установкой. Для режимов без
ШИМ установки могут быть незамедлительно активизированы с помощью
стробирующего бита FOC0.
Режим работы таймера, в том числе поведение таймера-счетчика и
связанного с ним выхода формирователя сигнала, задается комбинацией бит,
задающих режим работы таймера (WGM01, WGM00) и режим формирования
выходного сигнала (COM01, COM00). При этом биты задания режима
формирования выходного сигнала
не влияют на алгоритм счета, т.к. алгоритм
счета зависит только от состояния бит задания режима работа таймера. В
режимах с ШИМ биты COM01, COM00 позволяют включить/отключить
инверсию на генерируемом ШИМ-выходе (т.е. выбрать ШИМ с инверсией
или ШИМ без инверсии). Для режимов без ШИМ биты COM01:0
определяют, какое действие необходимо выполнить
при выполнении условия
сравнения: сбросить, установить или инвертировать выход.
Самым простым режимом работы является
нормальный режим
(WGM01, WGM00 =
0b00). В данном режиме счетчик работает как
суммирующий (инкрементирующий), при этом сброс счетчика не
выполняется. Переполнение счетчика происходит при переходе через
максимальное 8-разр. значение (верхний предел =
0xff) к нижнему пределу
счета (
0x00). В нормальном режиме работы флаг переполнения таймера-
счетчика TOV0 будет установлен на том же такте синхронизации, когда
TCNT0 примет нулевое значение. Фактически, флаг переполнения TOV0
является 9-ым битом таймера-счетчика за тем исключением, что он только
устанавливается и не сбрасывается. Однако программно это свойство может
быть использовано для повышения разрешающей способности таймера, если