16-Разрядный таймер/счетчик1
16-разрядный таймер/счетчик1 управляется двумя регистрами TCCR1A и TCCR1B.
Регистр управления А таймера/счетчика 1 - TCCR1A
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$2F ($4F) |
COM1A1 |
COM1A0 |
COM1B1 |
COM1B0 |
― |
― |
PWM11 |
PWM10 |
TCCR1A |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R |
R |
R/W |
R/W |
|
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Биты 7,6 - COM1A1, COM1A0: Compare Output Mode1A, bits 1 and 0 - Режим1A сравнения выхода, биты 1 и 0
Управляющие биты COM1A1 и COM1A0 определяют характер сигнала выхода, следующего за совпадением при сравнении таймера/счетчика1. Сигнал выхода поступает на вывод 19 OC1A (Output CompareA). Поскольку это альтернативная функция порта I/O, то соответствующий бит управления направлением должен быть установлен в 1 (вывод работает на выход). Конфигурирование управления представлено в табл. 2.7.
Биты 5,4 - COM1B1, COM1B0: Compare Output Mode1B, bits 1 and 0 - Режим1B сравнения выхода, биты 1 и 0
Управляющие биты COM1B1 и COM1B0 определяют характер сигнала выхода, следующего за совпадением при сравнении таймера/счетчика1. Сигнал выхода поступает на вывод 18 OC1B (Output CompareB). Поскольку это альтернативная функция порта I/O, то соответствующий бит управления направлением должен быть установлен в 1 (вывод работает на выход). Конфигурирование управления представлено в табл. 2.7.
В ШИМ режиме функции этих битов отличаются.
При изменении битов COM1X1/COM1X0 прерывания по сравнению выхода1 должны быть запрещены очисткой битов разрешения прерывания в регистре TIMSK. В противном случае при изменении битов может произойти прерывание
Таблица 2.7. Выбор режима сравнения 1
COM1X1 |
COM1X0 |
Описание |
0 |
0 |
Таймер/счетчик1 отключен от вывода выхода OC1X |
0 |
1 |
Переключение выходной линии OC1X |
1 |
0 |
Очистка выходной линии OC1X (на линии низкий уровень) |
1 |
1 |
Установка выходной линии OC1X (на линии высокий уровень) |
Примечание: X = A или В
Биты 3.. 2 - Res: Reserved Bits – Зарезервированные биты
Данные биты в микроконтроллерах AT90S8535 зарезервированы и при считывании всегда покажут состояние 0.
Биты 1.. 0 - PWM11, PWM10: Pulse Width Modulator Select Bits - Биты выбора режима ШИМ
Данные биты определяют установку режима ШИМ, как это показано в табл. 2.8
Таблица 2.8. Выбор ШИМ режима
PWM11 |
PWM10 |
Описание |
0 |
0 |
Работа таймера/счетчика1 в ШИМ режиме запрещена |
0 |
1 |
Работа таймера/счетчика1 в 8-разрядном ШИМ режиме |
1 |
0 |
Работа таймера/счетчика1 в 9-разрядном ШИМ режиме |
1 |
1 |
Работа таймера/счетчика1 в 10-разрядном ШИМ режиме |
Регистр управления B таймера/счетчика1 - TCCR1B
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$2E ($4E) |
ICNC1 |
ICES1 |
― |
― |
CTC1 |
CS12 |
CS11 |
CS10 |
TCCR1B |
Чтение/Запись |
R/W |
R/W |
R |
R |
R/W |
R/W |
R/W |
R/W |
|
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Бит 7 - ICNC1: Input Capture1 Noise Canceler (4 CKs) - Установка режима подавления шума на входе захвата 1
При сброшенном в состояние 0 бите ICNC1 функция подавления шума входного триггера захвата запрещена. Вход захвата переключается по первому нарастающему/падающему фронту, поступившему на вывод входа захвата ICР. При установленном в состояние 1 бите ICNC1 выполняются четыре последовательных опроса состояния вывода ICР и все четыре выборки должны иметь одинаковый (высокий/низкий), определяемый битом ICES1, уровень. Частота опроса соответствует частоте XTAL.
Бит 6 - ICES1: Input Capture1 Edge Select - Выбор фронта срабатывания на входе захвата 1
При сброшенном в состояние 0 бите ICES1 содержимое таймера/счетчика1, по падающему фронту на выводе входа захвата ICP, пересылается в регистр захвата входа ICR1. При установленном в 1 бите ICES1 содержимое таймера/счетчика1 пересылается в регистр захвата входа ICR1 по нарастающему фронту на выводе входа захвата ICP.
Биты 5, 4 - Res: Reserved Bits – Зарезервированные биты
Данные биты в микроконтроллерах AT90S8535 зарезервированы и при считывании всегда покажут состояние 0.
Бит 3 - CTC1: Clear Timer/Counter1 on Compare Match - Очистка таймера/счетчика1 по совпадению
При установленном в состояние 1 бите CTC1 таймер/счетчик1 сбрасывается в состояние $0000 в течение тактового цикла, следующего за совпадением при сравнении в A. Если бит CTC1 очищен, таймер/счетчик1 продолжает отсчет и не реагирует на совпадение при сравнении. Поскольку совпадение при сравнении детектируется в течение тактового цикла CPU, следующего за совпадением, то поведение функции будет отличаться при установке коэффициента предварительного деления таймера/счетчика1 большем 1. При коэффициенте предварительного деления 1 и установленном в регистре сравнения A значения C таймер будет считать в соответствии с установкой CTC1:
... | C-2 | C-1 | C | 0 | 1 | ...
При установленном коэффициенте предварительного деления 8 таймер будет считать подобно:
... | C-2, C-2, C-2, C-2, C-2, C-2, C-2, C-2 | C-1, C-1, C-1, C-1, C-1,C-1, C-1, C-1 | C, 0, 0, 0, 0, 0, 0, 0, 0 | 1,1,1,1,1,1,1,1|...
В ШИМ режиме состояние бита CTC1 значения не имеет.
Биты 2,1,0 - CS12, CS11, CS10: Clock Select1, bit 2,1 and 0 - Выбор источника тактовой частоты, биты 2,1 и 0
Установкой состояния данных битов производится выбор источника тактового сигнала (см. табл. 2.9).
Таблица 2.9. Выбор источника тактового сигнала таймера/счетчика1
CS12 |
CS11 |
CS10 |
Описание |
0 |
0 |
0 |
Stop условие – таймер/счетчик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 |
Внешний тактирующий сигнал на выводе Т1, нарастающий фронт |
1 |
1 |
1 |
Внешний тактирующий сигнал на выводе Т1, падающий фронт |
Stop условие выполняет функцию разрешения/запрещения таймера/счетчика1. В режимах с предварительным делением на соответствующий коэффициент делится частота CK тактового генератора. При использовании внешнего тактирования необходимо выполнить соответствующие установки в регистре управления направлением (очистка переводит вывод в режим входа).
Таймер/счетчик1 осуществляет счет в 16-разрядном регистре TCNT1.