# support: Устройство 8битного таймера В даташите 71 страница 8-bit Timer/Counter0 with PWM ![](https://i.imgur.com/SdLAxCY.png) На clock подаются тактовые импульсы, которые увеличивают счёт на 1. Результаты счётчика выводятся на порты q. При переполнении счётчик обнуляется и на порт O (overflow) приходит 1 Для сброса счётчика можно подать на r (reset) единичку На d подаётся исходное значение Более подробная схема счётчика изнутри: (работает на t- триггерах) ![](https://i.imgur.com/Mnz8Ngo.png) Так как нам может понадобиться сброс на любом числе, нам нужна ещё система сброса, которая проверяет, что текущее число на счетчике равно необходимому, и сбрасывает счётчик в этом случае, подаёт следующему элементу в цепочке импульс, сигнализирующий о успешной работе таймера Эта схема подходит для жёстко заданного числа для счетчика ![](https://i.imgur.com/QIXySdz.png) А вот эта для того, что можно задавать в рантайме. На неё дополнительно приходит необходимое для сравнения число. Примерно по такой схеме работают счётчики и таймеры в авр ![](https://i.imgur.com/sxq5PgU.png) Функции счетчика: 1. Посчитыввть импульсы. Например, срабатывания датчика 2. Таймеры. Тогда на вход clock должно подаваться сигнал с тактового генератора с известной частотой (постоянной). Для настройки тактового сигнала используется [предделитель](/xRRZwK1LR42uuuzX0FBAog) (я там инфу обновил, теперь все подробнее) Основу таймера составляет двоичный счётчик (timer counter) Приблизительная схема таймера (не для атмега16, но для понимания в самый раз) ![](https://i.imgur.com/gzmG1oA.png) (соре, плохо видно) Control logic содержит необходимую частоту, пред делитель, и он проводит в двоичный таймер клок сигнал и сигнал на сброс При переполнении таймер подаёт сигнал на counter logic Иначе подаёт на компаратор, который проверяет, совпадает ли количество счета с необходимым. Отправляет инфу в counter logic Timer counter compare register содержит информацию о количестве тиков, которые нужно пройти счетчику. Передаёт информацию компаратору В control logic заносится инфа из регистров управления, заносит инфу в регистры статуса В атмега16 вот такое - оно в целом довольно схоже с тем, что было в ролике, основное отличие в наличии направления таймера ![](https://i.imgur.com/k6dPAOW.png) Coutner unit diagram ![](https://i.imgur.com/GRFmpwh.png) 1:45:00 в ролике описание регистров, но там для атмега128, и много инфы отличающейся Для