Условие «Таймер/счетчик остановлен» запрещает или разрешает функционирование таймера/счетчика. В режимах деления используется частота тактового генератора микроконтроллера. При работе от внешнего источника предварительно должен быть установлен соответствующий бит регистра направления данных.
Рис. 2.28.
Таймер/счетчик реализован как нарастающий счетчик с возможностью чтения и записи. При записи таймера/счетчика, если присутствуют тактовые импульсы, таймер/счетчик продолжает счет в следующем за операцией записи тактовом цикле таймера.
16-разрядный таймер/счетчик может получать импульсы тактовой частоты — СК, импульсы с предварительного делителя (СК/8, СК/64, СК/256 или СК/1024), импульсы с внешнего вывода или быть остановлен соответствующими установками регистра TCCR1A. Флаги состояния таймера (переполнения, совпадения и захвата) и управляющие сигналы находятся в регистре TIFR. Разрешение и запрещение прерываний от таймера 1 управляется регистром TIMCK.
Рис. 2.29.
При работе таймера/счетчика 1 от внешнего сигнала этот сигнал синхронизируется с тактовым генератором микроконтроллера. Для правильной обработки внешнего сигнала минимальное время между соседними импульсами должно превышать период тактовой частоты процессора. Сигнал внешнего источника обрабатывается по спадающему фронту тактовой частоты процессора.
Таймер/счетчик 1 поддерживает функцию совпадения, используя регистр совпадения OCR1А в качестве источника для сравнения с содержимым счетчика. Функция совпадения поддерживает очистку счетчика и переключение выхода по совпадению.
Таймер/счетчик 1 можно использовать как 8-, 9- или 10-разрядный широтно-импульсный модулятор (ШИМ). В этом режиме счетчик и регистр OCR1 работают как защищенный от дребезга независимый ШИМ с отцентрованными импульсами. Подробнее эта функция будет описана ниже.
Функция захвата по входу предусматривает захват содержимого таймера/счетчика 1 в регистр захвата ICR1 и управляется внешним сигналом на входе захвата — ICP. Работа режима захвата определяется управляющим регистром TCCR1.
При работе захвата по входу может быть включена схема подавления шума, при этом сигнал захвата возникает только в том случае, если событие, управляющее захватом, наблюдается на протяжении 4 машинных циклов.
Рис. 2.30.
Биты 7, 6 — СОМ1А1, СОМ1А0: режим выхода совпадения, биты 1 и 0. Эти управляющие биты надают отклик вывода ОС 1 процессора на совпадение регистра сравнения и таймера/счетчика 1. Поскольку это апьтернативная функция пор га, соответствующий бит направления должен устанавливать вывод на выход. Конфигурация управляющих битов показана в следующей таблице.
В режиме ШИМ эти биты имеют другие функции, которые указаны в табл. 2.10.
При изменении битов СОМ1А1 и СОМ1А0 прерывание по совпадению должно быть запрещено очисткой соответствующего бита в регистре TIMCK. В противном случае прерывание может произойти во время изменения этих битов.
Биты 5…2 — в AT90S2313 зарезервированы и всегда читаются как 0.
Биты 1,0 — PWM11, PWM10: биты установки ШИМ. Эти биты устанавливают режим работы таймера/счетчика 1 в качестве ШИМ (табл. 2.7). Подробнее этот режим будет рассмотрен ниже.
Рис. 2.31.
Бит 7 — ICNC1: подавитель входного шума входа захвата. Если ICNC1=0, подавление входного шума входа захвата запрещено. При этом захват срабатывает по первому заданному (нарастающему или спадающему) фронту сигнала на выводе ICP. При установке бита обрабатываются четыре последовательные выборки сигнала на выводе ICP. Для срабатывания захвата все выборки должны соответствовать уровню, заданному битом ICES1. Частота выборок равна тактовой частоте процессора.
Бит 6 — ICES1: выбор фронта сигнала захвата. Если бит ICES1 = 0, содержимое таймера/счетчика 1 переписывается в регистр захвата по спадающему фронту сигнала на выводе ICP. Если бит установлен — по нарастающему фронту сигнала.
Биты 5, 4 — в AT90S2313 зарезервированы и всегда читаются как 0.
Бит 3 — СТС1: очистка таймера/счетчика 1 по совпадению. Если бит СТС1 = 1, таймер/счетчик 1 устанавливается в $0000 в такте, следующем за событием совпадения. Если бит сброшен, таймер/счетчик 1 продолжает считать, пока не будет остановлен, сброшен, произойдет его переполнение или изменение направления счета. В режиме ШИМ этот бит не работает.
Биты 2, 1, 0 — CS12, CS11, CS10: выбор источника тактирования. Эти биты определяют источник счетных импульсов для таймера/счетчика 1.
Рис. 2.32.