вторник, 12 марта 2013 г.

Таймер/счетчик T2 (8 бит)

Характеристики таймера/счетчика T2 (8 бит):
  • Два независимых выхода по совпадению 
  • Таймер сброса при совпадении
  • Изменяемый период ШИМ сигнала 
  • Фазовый корректор ШИМ сигнала
  • Тактовый генератор
  • Возможность работы от независимого внешнего часового тактового генератора 32 кГц
  • Три независимых источника прерывания
  • Делитель частоты 10-бит
  • Асинхронный режим
Регистры таймера/счетчика T2:
  • TCNT2 - счетный регистр таймера/счетчика T2
  • OCR2A - регистр сравнения A
  • OCR2B - регистр сравнения B
  • TIMSK2 - регистр маски прерываний для таймера/счетчика T2
  • TIFR2 - регистр флагов прерываний для таймера/счетчика T2
  • TCCR2A - регистр управления A
  • TCCR2B - регистр управления B
  • ASSR - регистр асинхронного режима 
  • GTCCR - главный регистр всех таймеров/счетчиков
Источником тактового сигнала для таймера/счетчика T2 может быть тактовый сигнал используемый для всего микроконтроллера с использованием предделителя. Если не выбран коэффициент деления, то таймер/счетчик останавливается. 
Режим работы таймера/счетчика T2 устанавливается регистрами TCCR2A и TCCR2B аналогично таймеру/счетчику T0.

Регистр TCCR2B:
7
6
5
4
3
2
1
0
FOC2A
FOC2B
-
-
WGM22
CS22
CS21
CS20

Разница лишь в битах CS22 (2), CS21 (1), CS20 (0) регистра TCCR2B которые устанавливают режим тактирования.
  • 000 - таймер остановлен
  • 001 - CLK
  • 010 - CLK/8
  • 011 - CLK/32
  • 100 - CLK/64
  • 101 - CLK/128
  • 110 - CLK/256
  • 111 - CLK/1024
Также у таймера/счетчика есть асинхронный режим работы.

Регистр ASSR:
7
6
5
4
3
2
1
0
-
EXCLK
AS2
TCN2UB
OCR2AUB
OCR2BUB
TCR2AUB
TCR2BUB

Бит EXCLK (6) регистра ASSR разрешает использование внешнего тактового сигнала от кварцевого резонатора 32 кГц при записи в него 1.
Бит  AS2 (5) регистра ASSR управляет способом тактирования (1 - от внешнего резонатора 32 кГц, подключенного к TOSC1 (9 ножка) / 0 - от внутреннего генератора CLK)/
Бит TCN2UB (4) регистра ASSR показывает доступен ли для записи регистр TCNT2 (1-недоступен / 0 - доступен).
Бит OCR2AUB (3) регистра ASSR показывает доступен ли для записи регистр OCR2A (1-недоступен / 0 - доступен).
Бит OCR2BUB (2) регистра ASSR показывает доступен ли для записи регистр OCR2B (1-недоступен / 0 - доступен).
Бит TCR2AUB (1) регистра ASSR показывает доступен ли для записи регистр TCCR2A (1-недоступен / 0 - доступен).
Бит TCR2BUB (0) регистра ASSR показывает доступен ли для записи регистр TCCR2B (1-недоступен / 0 - доступен).

Регистр GTCCR:
7
6
5
4
3
2
1
0
TSM
-
-
-
-
-
PSRASY
PSRSYNC

Бит PSRASY (1) регистра GTCCR сбрасывает предделитель таймера/счетчика T2 если установить в 1, после этого бит сбрасывается в 0  автоматически.
Бит PSRASYNC (0) регистра GTCCR сбрасывает предделитель таймера/счетчика T0 и T1 если установить в 1, после этого бит сбрасывается в 0  автоматически.
Бит TSM (0) регистра GTCCR запрещает автоматический сброс битов PSRASY и PSRASYNC регистра GTCCR.