Регистр управления таймером/счетчиком 2 - TCCR2 - (The Timer/Counter2 Control Register)
Биты |
|
$25 ($45) |
- |
PWM2 |
COM21 |
COM20 |
CTC2 |
CS22 |
CS21 |
CS20 |
|
TCCR2 |
Чтение/Запись |
R |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Начальное состояние |
|
- Bit 7 - Res: Reserved Bit - Зарезервированный бит
Данный бит в микроконтроллерах ATmega603/103 зарезервирован и при считывании
всегда покажет состояние 0.
- Bit 6 - PWM0 / PWM2: Pulse Width Modulator Enable - Разрешение широтно-
импульсного модулятора
Установленный в состояние 1 бит разрешает режим ШИМ для таймеров/счетчиков 0
или 2. Режим подробно описан в разделе Таймеры/счетчики 0 и 2 в ШИМ режиме.
- Bits 5,4 - COM01, COM00 / COM21, COM20: Compare Output Mode, bits 1 and 0 - Режим сравнения выхода, биты 1 и 0
Управляющие биты COMn1 и COMn0 устанавливают состояние выходных
выводов PB4(OC0/PWM0) или PB7(OC2/PWM2). после совпадения в таймере/счетчике2.
Поскольку это альтернативная функция выводов порта I/O, то соответствующий бит
направления вывода должен быть установлен в состояние 1. Управляющая конфигурация показана в таблице 10.
Таблица 10. Выбор режима сравнения
COMn1 |
COMn0 |
Описание |
0 |
0 |
Таймер/счетчикn отсоединен от выходного вывода OCn/PWMn |
0 |
1 |
Переключение выходной линии OCn/PWMn |
1 |
0 |
Очистка выходной линии OCn/PWMn (установка в состояние 0) |
1 |
1 |
Установка выходной линии OCn/PWMn (установка в состояние 1) |
Примечания: n = 0 или 2.
В ШИМ режиме функции этих битов отличаются. Подробное описание приведено
в таблице 13. При изменении битов COMn1/COMn0 прерывание по сравнению
выхода должно быть запрещено очисткой его бита разрешения прерывания в регистре
TIMSK. В противном случае при изменении состояния бита может произойти
прерывание.
- Bit 3 - CTC0 / CTC2: Clear Timer/Counter on Compare match - Очистить таймер/счетчик при совпадении
При установленном в состояние 1 бите CTC0 или CTC2 таймер/счетчик сбрасывается
в состояние $00 в течение одного тактового цикла CPU после наступления совпадения. Если бит управления сброшен, то таймер продолжает считать и не используется в процедуре сравнения. Поскольку факт совпадение детектируется в тактовом цикле CPU следующем за совпадением, то эта функция будет вести себя несколько по другому, если коэффициент предварительного деления будет больше 1. Если используется коэффициент предварительного деления равный 1 и в регистр сравнения A установлено содержимое C, то таймер будет продолжать счет так как это делается при установленном CTC0/2.
... | C-1 | C | C+1 | 0 | 1 | ...
Если установлен коэффициент деления 8, таймер будет считать аналогично следующей
последовательности:
... | C-1, C-1, C-1, C-1, C-1, C-1, C-1, C-1 | C, C, C, C, C, C, C, C | C+1, 0, 0, 0, 0, 0, 0, 0, 0 | 1, 1, 1, ...
В ШИМ режиме состояние этого бита значения не имеет.
- Bits 2,1,0 - CS02, CS01, CS00 / CS22, CS21, CS20: Clock Select bits 2,1 and 0 - Биты выбора тактовой частоты
Биты 2,1 и 0 выбора тактовой частоты таймера/счетчика2 подключают выход
определенной ступени предварительного делителя.
Таблица 11. Выбор коэффициента деления предварительного делителя таймера/счетчика0
CS02 |
CS01 |
CS00 |
Описание |
0 |
0 |
0 |
Таймер/счетчик0 остановлен |
0 |
0 |
1 |
TCK0 |
0 |
1 |
0 |
TCK0 / 8 |
0 |
1 |
1 |
TCK0 / 32 |
1 |
0 |
0 |
TCK0 / 64 |
1 |
0 |
1 |
TCK0 / 128 |
1 |
1 |
0 |
TCK0 / 256 |
1 |
1 |
1 |
TCK0 / 1024 |
Таблица 12. Выбор коэффициента деления предварительного делителя таймера/счетчика2
CS22 |
CS21 |
CS20 |
Описание |
0 |
0 |
0 |
Таймер/счетчик0 остановлен |
0 |
0 |
1 |
CK |
0 |
1 |
0 |
CK / 8 |
0 |
1 |
1 |
CK / 64 |
1 |
0 |
0 |
CK / 256 |
1 |
0 |
1 |
CK / 1024 |
1 |
1 |
0 |
Внешний вывод PD7(T2), падающий фронт |
1 |
1 |
1 |
Внешний вывод PD7(T2), нарастающий фронт |
Условие Stop обеспечивает реализацию функции разрешения/запрещения таймера.
Режим деления CK реализуется непосредственным делением тактовой частоты CK. Если для тактирования таймера/счетчика 2 используется внешний источник, то переключения на выводе PD7/(T2) будут воздействовать на счетчик, даже если этот вывод сконфигурирован как выход.
|