При работе таймера/счетчика 1 от внешнего сигнала, внешний сигнал синхронизируется с тактовым генератором ЦПУ. Для правильной обработки внешнего сигнала, минимальное время между соседними импульсами должно превышать период тактовой частоты процессора. Сигнал внешнего источника обрабатывается по спадающему фронту тактовой частоты процессора.
16-разрядный таймер/счетчик 1 можно использовать как счетчик с высоким разрешением, так и для точных применений с низким коэффициентом деления тактовой частоты. Более высокие коэффициенты деления можно использовать для медленных функций или измерения временных интервалов между редкими событиями.
Таймер/счетчик 1 поддерживает функцию совпадения используя регистр совпадения OCR1A в качестве источника для сравнения с содержимым счетчика. Функция совпадения поддерживает очистку счетчика и переключение выхода по совпадению.
Таймер/счетчик 1 можно использовать как 8-, 9- или 10-разрядный широтно-импульсный модулятор. В этом режиме счетчик и регистр OCR1 работают как защищенный от дребезга независимый ШИМ с отцентрованными импульсами. Подробно эта функция будет описана ниже.
Функция захвата по входу предусматривает захват содержимого таймера/счетчика 1 в регистр захвата ICR1 и управляется внешним сигналом на входе захвата - ICP. Работа режима захвата определяется управляющим регистром TCCR1.
При работе захвата по входу, может быть включена схема подавления шума, при этом сигнал захвата возникает только в том случае, если событие управляющее захватом наблюдается на протяжении 4-х машинных циклов.
РЕГИСТР A УПРАВЛЕНИЯ ТАЙМЕРОМ/СЧЕТЧИКОМ 1 - TCCR1A
2Fh(4Fh) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
COM1A1 | COM1A0 | - | - | - | - | PWM11 | PWM10 | |
R\W | R\W | R | R | R | R | R\W | R\W | |
Начальное значение | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Биты 7,6 - COM1A1, COM1A0: Режим выхода совпадения, биты 1 и 0: Эти управляющие биты задают отклик вывода OC1 процессора на совпадение регистра сравнения и таймера/счетчика 1. Поскольку это альтернативная функция порта, соответствующий бит направления должен устанавливать вывод на выход. Конфигурация управляющих бит показана в таблице 9.
В режиме ШИМ эти биты имеют другие функции, которые будут указаны при рассмотрении работы ШИМ.
При изменении битов COM1A1 и COM1A0 прерывание по совпадению должно быть запрещено, очисткой соответствующего бита в регистре TIMSK. Иначе, прерывание может произойти во время изменения битов.
Биты 5..2 - зарезервированы. В AT90S2313 эти биты зарезервированы и всегда читаются как 0.
Биты 1,0 - PWM11, PWM10: Биты установки ШИМ: Эти биты устанавливают режим работы таймера/счетчика 1 в качестве ШИМ (см. табл. 10). Подробнее этот режим будет рассмотрен ниже.
Таблица 9. Установка режима совпадения
COM1A1 | COM1A0 | Описание |
0 | 0 | Таймер/счетчик 1 отключен от вывода OC1 |
0 | 1 | Переключение выхода OC1 |
1 | 0 | Сброс (0) вывода OC1 |
1 | 1 | Установка (1) вывода OC1 |
Таблица 10. Установка режима работы ШИМ
PWM11 | PWM10 | Описание |
0 | 0 | Работа ШИМ запрещена |
0 | 1 | 8 разрядный ШИМ |
1 | 0 | 9 разрядный ШИМ |
1 | 1 | 10 разрядный ШИМ |
РЕГИСТР B УПРАВЛЕНИЯ ТАЙМЕРОМ/СЧЕТЧИКОМ 1 - TCCR1B
2Eh(4Eh) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ICNC1 | ICES1 | - | - | CTC1 | CS12 | CS11 | CS10 | |
R\W | R\W | R | R | R\W | R\W | R\W | R\W | |
Начальное значение | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Бит7 - ICNC1: Подавитель входного шума входа захвата: Если этот бит сброшен (0), подавление входного шума входа захвата запрещено. При это захват срабатывает по первому заданному (нарастающему или спадающему) фронту сигнала на выводе ICP. При установке бита обрабатываются четыре последовательные выборки сигнала на выводе ICP. Для срабатывания захвата все выборки должны соответствовать уровню заданному битом ICES1. Частота выборок равна тактовой частоте процессора.
Бит 6 - ICES1: выбор фронта сигнала захвата: Если бит ICES1 сброшен (0) содержимое таймера/счетчика 1 переписывается в регистр захвата по спадающему фронту сигнала на выводе ICP. Если бит установлен - по нарастающему фронту сигнала.
Биты 5,4 - зарезервированы. В AT90S2333/4433 эти биты зарезервированы и всегда читаются как 0.
Бит 3 - CTC1: Очистка таймера счетчика 1 по совпадению: Если бит установлен (1), таймер/счетчик 1 устанавливается в 0000h в такте следующем за событием совпадения. Если бит сброшен, таймер/счетчик 1 продолжает считать, совпадение не отражается на состоянии таймера/счетчика. Поскольку совпадение обнаруживается процессором в цикле следующем
за событием совпадения, в следующем после совпадения такте в счетчик запишется число на 1 большее значения регистра совпадения. При коэффициенте деления 1, установке регистра совпадения на величину С и установленном бите CTC1, таймер принимает следующие значения:
...С-1,С,С+1,0,1...
при делении тактовой частоты на 8:
...С-1,С-1,С-1,С-1,С-1,С-1,С-1,С-1,С,С,С,С,С,С,С,С, С+1,0,0,0,0,0,0,0,0,1...
В режиме ШИМ этот бит не работает.
Биты 2,1,0 - CS12, CS11, CS10: выбор тактирования: Эти биты определяют источник счетных импульсов для таймера/счетчика 1.
Таблица 11. Выбор источника счетных импульсов
CS12 | CS11 | CS10 | Описание |
0 | 0 | 0 | Таймер/счетчик 1 остановлен |
0 | 0 | 1 | CK |
0 | 1 | 0 | CK/8 |
0 | 1 | 1 | CK/64 |
1 | 0 | 0 | CK/256 |
1 | 0 | 1 | CK/1024 |
1 | 1 | 0 | Спадающий фронт на выводе T1 |
1 | 1 | 1 | Нарастающий фронт на выводе T1 |
Условие Stop запрещает/разрешает функционирование таймера/счетчика. В режимах деления используется частота тактового генератора. При использовании работы от внешнего источника предварительно должен быть установлен соответствующий бит регистра направления данных (0 - включает ножку на ввод).
ТАЙМЕР/СЧЕТЧИК 1 - TCNT1H И TCNT1L
TCNT1H
2Dh(4Dh) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MSB | - | - | - | - | - | - | - | |
R\W | R\W | R\W | R\W | R\W | R\W | R\W | R\W | |
Начальное значение | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TCNT1L