Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Принцип работы таймера/счетчика Т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) →..-,
где С — число, находящееся в регистре сравнения.
Дата публикования: 2014-11-26; Прочитано: 205 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!