Режим таймера

Принцип работы таймера/счетчика Т2 в этом режиме такой же, как и у рассмотренных ранее. По каждому импульсу, поступающему на тактовый вход таймера/счетчика, производится инкремент содержимого счетного регистра TCNT2. При переходе таймера/счетчика из состояния «$FF» в со­стояние «$00» устанавливается флаг TOV2 регистра TIFR и генерируется запрос на прерывание. Разрешение прерывания осуществляется установ­кой в «1» разряда TOIE2 регистра TIMSK (флаг общего разре­шения прерываний I регистра SREG также должен быть установлен в «1»).

Таймер/счетчик Т2 имеет также функцию сравнения, которая заключа­ется в непрерывном (каждый машинный цикл) сравнении содержимого счетного регистра таймера/счетчика с содержимым регистра сравнения OCR2, расположенного по адресу $23 ($43). При совпадении содержимого этих регистров в следующем машинном цикле устанавливается флаг OCF2 регистра TIFR и генерируется запрос на прерывание. Разрешение преры­вания осуществляется установкой в «1» разряда OCIE2 регистра TIMSK. Наряду с установкой флага в регистре TIFR, при равенстве счетного реГистра и регистра сравнения могут выполняться и другие действия:

- сброс таймера/счетчика;

- изменение состояния вывода ОС2.

Поведение микроконтроллера, т.е. выполнение или невыполнение ука-занных действий, определяется состоянием разрядов СОМ21:СОМ20 и СТС2 регистра управления TCCR2.

Состояние разрядов СОМ21 и СОМ20 определяет поведение вывода ОС2 при совпадении содер­жимого счетного регистра и регистра сравнения OCR2. Чтобы таймер/счетчик мог управлять этим выводом, он должен быть сконфигуриро­ван как выходной. Поведение вывода указано в табл.5.9.

Таблица 5.9

Управление выводом ОС2 микроконтроллера

COM21 COM20 Описание
    Таймер/счетчик T2 отключен от вывода ОС2
    Состояние вывода меняется на противоположное
    Вывод сбрасывается в «0»
    Вывод устанавливается в «1»

Сброс таймера/счетчика. Если разряд СТС2 установлен в «1», то при совпадении содержимого счетного регистра и регистра сравнения OCR2 производится сброс таймера/счетчика в состоя­ние «$00».

Примечание. Поскольку сброс выполняется в машинном цикле, следующем за тем, во время кото­рого произошло совпадение, поведение таймера/счетчика зависит от установленного коэффициента деления предделителя таймера (см. табл. 5.8). При коэффициенте деления, равном 1, состояние таймера/счетчика меняется следующим образом:

...→ С-2 → С-1 → С → 0 ® 1 →...

а при коэффициенте деления, не равном 1:

... → (С-2,...,С-2) → (С-1,...,С 1) → (С, 0,..., 0) →..-,

где С — число, находящееся в регистре сравнения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: