Таймер/счетчик 0 и 2 - TCNT 0 2 - (Timer/Counter 0 2)

Регистр управления таймером/счетчиком 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 Описание
    Таймер/счетчикn отсоединен от выходного вывода OCn/PWMn
    Переключение выходной линии OCn/PWMn
    Очистка выходной линии OCn/PWMn (установка в состояние 0)
    Установка выходной линии 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 остановлен
      TCK0
      TCK0 / 8
      TCK0 / 32
      TCK0 / 64
      TCK0 / 128
      TCK0 / 256
      TCK0 / 1024

Таблица 12. Выбор коэффициента деления предварительного делителя таймера/счетчика2

CS22 CS21 CS20 Описание
      Таймер/счетчик0 остановлен
      CK
      CK / 8
      CK / 64
      CK / 256
      CK / 1024
      Внешний вывод PD7(T2), падающий фронт
      Внешний вывод PD7(T2), нарастающий фронт

Условие Stop обеспечивает реализацию функции разрешения/запрещения таймера.

Режим деления CK реализуется непосредственным делением тактовой частоты CK. Если для тактирования таймера/счетчика 2 используется внешний источник, то переключения на выводе PD7/(T2) будут воздействовать на счетчик, даже если этот вывод сконфигурирован как выход.

Таймер/счетчик 0 и 2 - TCNT 0 2 - (Timer/Counter 0 2)


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



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