Таймер-счётчик TC1 в микроконтроллере ATmega328 единственный 16-битный таймер счётчик. TC1 поддерживает 4 режима работы и 4 прерывания.
TCNT1 16-битный счётный регистр таймера-счётчика TC1
В режиме СТС (Clear Timer on Compare Match, сравнение и сброс таймера при совпадении), ведёт подсчёт тактовых импульсов до совпадения с числом, заданным программистом в одном из регистров совпадения OCR1A или ICR1, в зависимости от состояния битов WGM в управляющих регистрах TCCR1A и TCCR1B. В случае совпадения, сигнал, на выходе счётчика меняется на противоположный и счёт начинается сначала. Таймер/счётчик TC1 имеет выходы на порты микроконтроллера PB1 и PB2 (9 и 10 pin Arduino или 15 и 16 pin м-к ATmega328-PU). Подключением таймера-счётчика TC1 к выходам (pin) микроконтроллера управляют с помощью 4-х битов COM управляющего регистра TCCR1A. Таймер-счётчик приводятся в действие от системного тактового генератора, работающего на частоте 16 МГц с предделителем частоты на 1, 8, 64, 256 или 1024. Коэффициент предделителя задаётся тремя битами CS управляющего регистра TCCR1B. Если записать в регистр совпадения 0, Таймер-счётчик делит частоту на входе на 2.
В общем случае, частота на выходе таймера-счётчика TC1 вычисляется по формуле:
Где N коэффициент предделителя частоты, Fclk тактовая частота микроконтроллера.