Таблица 5.11
Таблица 5.10
Поведение выходов схемы сравнения в режиме ШИМ
Регистр TCCR2 | Поведение вывода ОС2 | |
COM21 | COM20 | |
Таймер/счетчик T2 отключен от вывода ОС2 | ||
Таймер/счетчик T2 отключен от вывода ОС2 | ||
Сбрасывается в «0» при прямом счете и устанавливается в «1» при обратном счете (неинвертированный ШИМ-сигнал) | ||
Устанавливается в «1» при прямом счете и сбрасывается в «0» при обратном счете и (инвертированный ШИМ-сигнал) |
Соответственно, если в счетный регистр записать значение $00 или $FF, то при следующем совпадении состояния счетчика и содержимого регистра сравнения выход схемы сравнения переключится в устойчивое состояние согласно табл. 5.11.
Устойчивые состояния выхода схемы сравнения
Регистр TCCR2 | Регистр OCR2 | Состояние вывода ОС2 | |
COM21 | COM20 | ||
$00 | |||
$FF | |||
$00 | |||
$FF |
Как и в случае таймера/счетчика ТС1, при записи значения в регистр OCR2 записываемое число на самом деле сохраняется в специальном временном регистре. А изменение содержимого регистра OCR2 происходит только в момент достижения счетчиком значения $FF.
|
|
Соответственно при чтении регистра OCR2 в промежутке между записью в него и его действительным изменением возвращается содержимое временного регистра. То есть всегда возвращается значение, записанное последним.
И несколько слов о прерываниях. При работе таймера/счетчика Т2 в режиме ШИМ может генерироваться как прерывание по переполнению счетного регистра таймера/счетчика, так и прерывание от схемы сравнения. Флаг прерываний устанавливаются в «1» при изменении счетчиком направления счета: флаг TOV2 — в точке $00, а флаг OCF2 — в точке $FF. Разрешение и обработка соответствующих прерываний выполняется как обычно.
Отличительной особенностью таймера/счетчика Т2 является его возможность работать в асинхронном режиме. В этом режиме на вход предделителя поступает сигнал с вывода TOSC1, что позволяет использовать таймер/счетчик в качестве часов реального времени. Источником сигнала может быть как кварцевый резонатор частотой 32768 Гц, подключаемый к выводам TOSC1 и TOSC2 микроконтроллера, так и внешняя схема. Несмотря на то, что тактовый генератор таймера/счетчика настроен на частоту 2768 Гц, частота сигнала от внешней схемы может лежать в пределах 0...256 кГц. При этом частота внешнего сигнала должна быть в четыре раза меньше частоты тактового сигнала микроконтроллера.
Непосредственная запись в регистры TCNT2, OCR2 и TCCR2 в асинхронном режиме синхронизируется с тактовым сигналом таймера/счетчика. При записи числа в любой из указанных регистров оно сохраняется в медиальном временном регистре, своем для каждого регистра таймера/счетчика. А пересылка содержимого временного регистра в рабочий реестр таймера/счетчика осуществляется по третьему после записи положительному фронту сигнала на выводе TOSC1. Соответственно запись нового значения можно производить только после пересылки содержимого ременного регистра в регистр таймера/счетчика.
|
|
Для определения момента действительного изменения регистров ТСNТ2, OCR2 и TCCR2, а также для переключения таймера/счетчика в 'синхронный режим предназначен регистр ASSR, расположенный по адресу $22 ($42). Формат этого регистра приведен на рис.5.16.