![]() ![]() ![]() ![]() ![]()
Раздел: Документация
0 ... 110 111 112 113 114 115 116 ... 195 (продолжение)
Счетный регистр таймера/счетчика TCNTaj входит в состав основного блока модуля — блока реверсивного счетчика. В зависимости от режима работы модуля содержимое счетного регистра сбрасывается, инкре-ментируется или декрементируется по каждому импульсу тактового сигнала таймера/счетчика clkT0 (clkT2). Независимо от того, присутствует тактовый сигнал или нет, регистр доступен в любой момент времени как для чтения, так и для записи. Однако следует помнить, что любая операция записи в счетный регистр блокирует работу блока сравнения на время одного периода тактового сигнала таймера/счетчика. После подачи напряжения питания в регистре TCNTaj находится нулевое значение. При достижении таймером/счетчиком максимального или минимального значения (конкретный вариант зависит от его режима работы) уста- навливается флаг ТОУл в регистре флагов TIFR (TIFR/*). Разрешение прерывания осуществляется установкой в 1 бита Т01Ел регистра маски TIMSK (TIMSK/7). Разумеется, флаг I регистра SREG также должен быть установлен в 1. Регистры сравнения OCR/i (OCR«A/OCR«B) входят в состав блоков сравнения модуля. Во время работы таймера/счетчика производится непрерывное (в каждом такте) сравнение этих регистров с регистром TCNTrt. В случае равенства содержимого этих регистров в следующем такте устанавливается флаг ОС¥п (OCF«A/OCF«B) в соответствующем регистре флагов и генерируется прерывание (если оно разрешено). Кроме того, при наступлении этого события может изменяться состояние вывода ОСп (ОСлА/ОСлВ) микроконтроллера. Чтобы таймер/счетчик мог управлять состоянием этих выводов, они должны быть сконфигурированы как выходы (соответствующий бит регистра DDRx должен быть установлен в 1). Напоминаю, что любая операция записи в счетный регистр блокирует формирование сигнала о совпадении, если оно произойдет в следующем такте. Регистры TCCR/7 (TCCRrtA/TCCRB) предназначены для управления модулем таймера/счетчика. Формат этих регистров приведен на Рис. 7.10...7.12, а описание их битов — соответственно в Табл. 7.9...7.11. 7 6 5 4 3 2 1 0
ATmega8x Чтение (Р/Запись (W) R R R R R R/W R/W R/W Начальное значение 00000000 Чтение (R)/3anncb(W) Начальное значение
ATmega8515x/8335x ATmega 16х/32х ATmega 162х ATmega64x/128x Чтение (R)/3anncb (W) Начальное значение
ATmega 8x ATmega 16x/32x ATmega64x/128x Puc. 7JO. Формат регистров TCCR0 (а) и TCCR2 (6) Таблица 7.9. Биты регистра TCCRO (TCCR2)
Примечания: 1.л = 0или 2. 2.В регистре TCCR0 модели ATmega8x задействованы только биты CS02. .CS00. Остальные биты регистра зарезервированы и читаются как 0. Таймер/счетчик этих моделей работает только в режиме Normal.
ATmega 165х ATmega325x/3250x ATmega645x/6450x ATmega 165х ATmega325x/3250x ATmega645x/6450x б) Рис. 7.11. Формат регистров TCCR0A (а) и TCCR2A (б) моделей Atmegal65x/325x/3250x/645x/6450x 0 ... 110 111 112 113 114 115 116 ... 195 |