Описание регистров 16-разрядных таймеров-счетчиков
Регистр А управления таймером-счетчиком 1 – TCCR1A
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
COM1A1 |
COM1A0 |
COM1B1 |
COM1B0 |
COM1C1 |
COM1C0 |
WGM11 |
WGM10 |
TCCR1A |
Чтение/запись |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр А управления таймером-счетчиком 3 – TCCR3A
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
COM3A1 |
COM3A0 |
COM3B1 |
COM3B0 |
COM3C1 |
COM3C0 |
WGM31 |
WGM30 |
TCCR3A |
Чтение/запись |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Разряды 7:6 – COMnA1:0: Режим формирования выходного сигнала канала A
Разряды 5:4 – COMnB1:0: Режим формирования выходного сигнала канала В
Разряды 3:2 – COMnC1:0: Режим формирования выходного сигнала канала С
Биты COMnA1:0, COMnB1:0 и COMnC1:0 влияют на работу выводов OCnA, OCnB и OCnC, соответственно. Если один или оба бита COMnA1:0 равны 1, то вывод OCnA переходит к выполнению альтернативной функции, запрещая его работу как обычного порта ввода-вывода. Аналогичные изменения происходят с выводами OCnB и OCnC во время записи лог. 1 в один из битов COMnB1:0 и COMnC1:0, соответственно. Однако необходимо учитывать, что остается влияние на работу данных выводов со стороны регистра направления данных (DDR) и в соответствующих разрядах этого регистра должно быть задано выходное направление для выводов OCnA, OCnB или OCnC.
Если выбрано подключение сигналов OCnA, OCnB или OCnC к выводам микроконтроллера, то назначение бит COMnx1:0 определяется выбранным с помощью бит WGMn3:0 режима работы таймера-счетчика. В таблице 58 показано назначение бит COMnx1:0, когда битами WGMn3:0 выбран режим сброса при совпадении (СТС) или нормальный режим, т.е. режимы без ШИМ.
Таблица 58 – Режимы формирования выходного сигнала в режимах работы таймера без ШИМ
COMnA1/COMnB1/COMnC1 |
COMnA0/COMnB0/COMnC0 |
Описание |
0 |
0 |
Нормальная работа порта, сигналы OCnA/OCnB/OCnC отключены. |
0 |
1 |
Переключение (инвертирование) OCnA/OCnB/OCnC при совпадении. |
1 |
0 |
Сброс OCnA/OCnB/OCnC при совпадении (установка лог. 0). |
1 |
1 |
Установка OCnA/OCnB/OCnC при совпадении (установка лог. 1). |
В таблице 59 представлено назначение бит COMnx1:0, когда с помощью бит WGMn3:0 выбран режим быстрой ШИМ.
Таблица 59 – Режим формирования выходного сигнала в режиме работа таймера с быстрой ШИМ
COMnA1/COMnB1/COMnC1 |
COMnA0/COMnB0/COMnC0 |
Описание |
0 |
0 |
Нормальная работа порта, сигналы OCnA/OCnB/OCnC отключены. |
0 |
1 |
WGMn3:0 = 15: Переключение (инвертирование) OCnA при совпадении, OCnB/OCnC отключены (нормальная работа порта). Для всех других установок WGMn соответствует нормальная работа порта, когда OCnA/OCnB/OCnC отключены. |
1 |
0 |
Сброс OCnA/OCnB/OCnC при совпадении, установка OCnA/OCnB/OCnC на вершине счета |
1 |
1 |
Установка OCnA/OCnB/OCnC при совпадении, сброс OCnA/OCnB/OCnC на вершине |
Прим.: Имеются особые случаи, когда OCRnA/OCRnB/OCRnC равно верхнему пределу счета и установлен COMnA1/COMnB1/COMnC1. В этом случае возникшее совпадение игнорируется, но установка или сброс на вершине счета выполняется (см. “Режим быстрой ШИМ”).
В таблице 59 представлено назначение бит COMnx1:0 для режима ШИМ ФК и ШИМ ФЧК
Таблица 60 – Режим формирования выходного сигнала в режимах работы таймера с ШИМ ФК и ШИМ ФЧК
COMnA1/COMnB1/COMnC1 |
COMnA0/COMnB0/COMnC0 |
Описание |
0 |
0 |
Нормальная работа порта, сигналы OCnA/OCnB/OCnC отключены. |
0 |
1 |
WGMn3:0 = 9 или 14: Переключение (инвертирование) OCnA при совпадении, OCnB/OCnC отключены (нормальная работа порта). Для всех других установок WGMn соответствует нормальная работа порта, когда OCnA/OCnB/OCnC отключены. |
1 |
0 |
Сброс OCnA/OCnB/OCnC при совпадении во время прямого счета, установка OCnA/OCnB/OCnC при совпадении во время обратного счета |
1 |
1 |
Установка OCnA/OCnB/OCnC при совпадении во время прямого счета, сброс OCnA/OCnB/OCnC при совпадении во время обратного счета |
Прим.: Имеются особые случаи, когда OCRnA/OCRnB/OCRnC равно верхнему пределу и установлен COMnA1/COMnB1//COMnC1 (см. “Режим ШИМ с фазовой коррекцией”).
Разряд 1:0 – WGMn1:0: Режим работы таймера-счетчика
В сочетании с битами WGMn3:2 из регистра TCCRnB данные биты определяют алгоритм счета, источник для задания вершины счета (ВП) и тип генерируемой формы сигнала (см. табл. 61). Таймер-счетчик может работать в одном из следующих режимов: нормальный режим (счетчик), сброс таймера при совпадении (CTC) и три режима с широтно-импульсной модуляцией (ШИМ) (см. "Режимы работы 16-разр. таймеров-счетчиков").
Таблица 61 – Режимы работы таймера-счетчика
Режим |
WGMn3 |
WGMn2 (CTCn) |
WGMn1 (PWMn1) |
WGMn0 (PWMn0) |
Режим работа таймера-счетчика(1) |
Верхний предел |
Обновление OCRnx |
Установка флага TOVn на: |
0 |
0 |
0 |
0 |
0 |
Нормальный |
0xFFFF |
сразу после записи |
МАКС |
1 |
0 |
0 |
0 |
1 |
8-разр. ШИМ ФК |
0x00FF |
на вершине счета |
нижнем пределе |
2 |
0 |
0 |
1 |
0 |
9-разр. ШИМ ФК |
0x01FF |
на вершине счета |
нижнем пределе |
3 |
0 |
0 |
1 |
1 |
10-разр. ШИМ ФК |
0x03FF |
на вершине счета |
нижнем пределе |
4 |
0 |
1 |
0 |
0 |
СТС |
OCRnA |
сразу после записи |
МАКС |
5 |
0 |
1 |
0 |
1 |
8-разр. быстрая ШИМ |
0x00FF |
на вершине счета |
на вершине счета |
6 |
0 |
1 |
1 |
0 |
9-разр. быстрая ШИМ |
0x01FF |
на вершине счета |
на вершине счета |
7 |
0 |
1 |
1 |
1 |
10-разр. быстрая ШИМ |
0x03FF |
на вершине счета |
на вершине счета |
8 |
1 |
0 |
0 |
0 |
ШИМ ФЧК |
ICRn |
на нижнем пределе |
нижнем пределе |
9 |
1 |
0 |
0 |
1 |
ШИМ ФЧК |
OCRnA |
на нижнем пределе |
нижнем пределе |
10 |
1 |
0 |
1 |
0 |
ШИМ ФК |
ICRn |
на вершине счета |
нижнем пределе |
11 |
1 |
0 |
1 |
1 |
ШИМ ФК |
OCRnA |
на вершине счета |
нижнем пределе |
12 |
1 |
1 |
0 |
0 |
СТС |
ICRn |
сразу после записи |
МАКС. |
13 |
1 |
1 |
0 |
1 |
(резерв) |
– |
- |
- |
14 |
1 |
1 |
1 |
0 |
Быстрая ШИМ |
ICRn |
на вершине счета |
на вершине счета |
15 |
1 |
1 |
1 |
1 |
Быстрая ШИМ |
OCRnA |
на вершине счета |
на вершине счета |
Прим.: 1. Наименования бит CTCn и PWMn1:0 являются устаревшими, поэтому, необходимо использовать имена WGMn2:0. Однако назначение и расположение этих бит совместимо с предыдущими версиями таймеров.
Регистр В управления таймером-счетчиком 1 – TCCR1B
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
ICNC1 |
ICES1 |
- |
WGM13 |
WGM12 |
CS12 |
CS11 |
CS10 |
TCCR1B |
Чтение/запись |
Чт./Зп. |
Чт./Зп. |
Чт. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр В управления таймером-счетчиком 3 – TCCR3B
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
ICNC3 |
ICES3 |
- |
WGM33 |
WGM32 |
CS32 |
CS31 |
CS30 |
TCCR3B |
Чтение/запись |
Чт./Зп. |
Чт./Зп. |
Чт. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Разряд 7 – ICNCn: Подавитель шума на входе захвата
Установка данного бита (запись лог. 1) активизирует подавитель шума на входе захвата. После активизации подавителя шумов сигнал с вывода ICPn пропускается через фильтр. Логика работы фильтра состоит в определении четырех подряд равных по значению выборок и только в этом случае изменении своего выходного состояния. Следовательно, после разрешения подавления шумов сигнал с входа захвата будет задерживаться на 4 такта системной синхронизации.
Разряд 6 – ICESn: Выбор детектируемого фронта на входе захвата
Данный бит позволяет задать, какой фронт на входе захвата ICPn приведет к захвату состояния таймера. Если ICESn =0, то падающий (отрицательный) фронт приводит к захвату состояния таймера, а если же ICESn = 1, то нарастающий (положительный) фронт приводит к возникновению захвата.
Если в соответствии с установкой ICESn возникает условие захвата, то содержимое счетчика копируется в регистр захвата ICRn. При этом также устанавливается флаг захвата ICFn, который может использоваться для генерации прерывания по захвату (если данное прерывание разрешено).
Если регистр ICRn используется для хранения значения верхнего предела счета (см. табл. 61), то вход ICPn отключается от соответствующего вывода микроконтроллера и функция захвата блокируется.
Разряд 5 – Зарезервированный бит
Данный бит зарезервирован для дальнейшего использования. В целях совместимости с будущими разработками рекомендуется во время записи в регистр TCCRnB в данном разряде указывать лог. 0.
Разряд 4:3 – WGMn3:2: Режим работы таймера-счетчика
См. описание регистр TCCRnA.
Разряд 2:0 – CSn2:0: Выбор тактового источника
Данный три бита позволяют выбрать тактовый источник для таймера-счетчика (см. рисунок 55 и рисунок 56).
Таблица 62 – Описание бит выбора тактового источника
CSn2 |
CSn1 |
CSn0 |
Описание |
0 |
0 |
0 |
Нет синхронизации. Таймер-счетчик остановлен. |
0 |
0 |
1 |
clkI/O/1 (без предделения) |
0 |
1 |
0 |
clkI/O /8 (с предделением) |
0 |
1 |
1 |
clkI/O/64 (с предделением) |
1 |
0 |
0 |
clkI/O/256 (с предделением) |
1 |
0 |
1 |
clkI/O/1024 (с предделением) |
1 |
1 |
0 |
Внешний тактовый источник с выв. Tn. Синхронизация по падающему фронту. |
1 |
1 |
1 |
Внешний тактовый источник с выв. Tn. Синхронизация по нарастающему фронту. |
Если для тактирования таймера выбран внешний вывод Tn, то данная функция за ним сохраняется, даже при его настройке на вывод. Данная функция позволяет программно управлять счетом.
Регистр С управления таймером-счетчиком 1 – TCCR1C
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
FOC1A |
FOC1B |
FOC1C |
- |
- |
- |
- |
- |
TCCR1C |
Чтение/запись |
Зп. |
Зп. |
Зп. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр С управления таймером-счетчиком 3 – TCCR3C
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
FOC3A |
FOC3B |
FOC3C |
- |
- |
- |
- |
- |
TCCR3C |
Чтение/запись |
Зп. |
Зп. |
Зп. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Разряд 7 – FOCnA: Бит принудительной установки результата сравнения для канала A
Разряд 6 – FOCnB: Бит принудительной установки результата сравнения для канала B
Разряд 5 – FOCnC: Бит принудительной установки результата сравнения для канала C
Биты FOCnA/FOCnB/FOCnC становятся активными, когда с помощью бит WGMn3:0 выбран режим без ШИМ. В этом случае запись в FOCnA/FOCnB/FOCnC лог. 1 приводит к немедленной установке результата сравнения на входе блока формирователя сигнала. Выход OCnA/OCnB/OCnC изменяется в соответствии с установками бит COMnx1:0. Обратите внимание, что биты FOCnA/FOCnB/FOCnC реализованы как стробы. Стробы FOCnA/FOCnB/FOCnC не генерируют каких-либо прерываний и сбрасывают счетчик в режиме сброса таймера при совпадении (CTC), где OCRnA используется для задания вершины счета.
При чтении бит FOCnA/FOCnB/FOCnB всегда возвращается нулевое значение.
Разряды 4:0 – Зарезервированные биты
Данные биты зарезервированы для дальнейшего использования. В целях совместимости с последующими разработками во время записи в регистр TCCRnC необходимо записывать лог. 0.
Таймер-счетчик 1 – TCNT1H и TCNT1L
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
TCNT1[15:8] |
TCNT1H |
|
TCNT1[7:0] |
TCNT1L |
Чтение/запись |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Таймер-счетчик 3 – TCNT3H и TCNT3L
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
TCNT3[15:8] |
TCNT3H |
|
TCNT3[7:0] |
TCNT3L |
Чтение/запись |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Две ячейки в области ввода-вывода (TCNTnH и TCNTnL, вместе TCNTn) дают полный доступ, как на чтение, так и на запись к 16-разрядному счетчику. В целях гарантирования одновременности чтения и записи старшего и младшего байтов этих регистров, доступ организован с использованием 8-разрядного временного регистра старшего байта (TEMP). Временный регистр является общим для всех 16-разрядных регистров таймера (см. также “Доступ к 16-разр. регистрам”).
Изменение содержимого счетчика TCNTn во время его работы (счета) связано с риском возникновения совпадения между TCNTn и одним из регистров OCRnx. Запись в регистр TCNTn блокирует отработку совпадения, которое возникнет на следующем такте, для всех блоков сравнения.
Регистр сравнения 1 A – OCR1AH и OCR1AL
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
OCR1A [15:8] |
OCR1AH |
|
OCR1A [7:0] |
OCR1AL |
Чтение/запись |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр сравнения 1 B – OCR1BH и OCR1BL
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
OCR1B [15:8] |
OCR1BH |
|
OCR1B [7:0] |
OCR1BL |
Чтение/запись |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр сравнения 1 C – OCR1CH и OCR1CL
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
OCR1C [15:8] |
OCR1CH |
|
OCR1C [7:0] |
OCR1CL |
Чтение/запись |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр сравнения 3 A – OCR3AH и OCR3AL
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
OCR3A [15:8] |
OCR3AH |
|
OCR3A [7:0] |
OCR3AL |
Чтение/запись |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр сравнения 3 B – OCR3BH и OCR3BL
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
OCR3B [15:8] |
OCR3BH |
|
OCR3B [7:0] |
OCR3BL |
Чтение/запись |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр сравнения 3 C – OCR3CH и OCR3CL
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
OCR3C [15:8] |
OCR3CH |
|
OCR3C [7:0] |
OCR3CL |
Чтение/запись |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
В регистрах сравнения хранится 16-разр. значение, которое непрерывно сравнивается со значением счетчика (TCNTn). Возникающее совпадение может использоваться для генерации прерывания по результату сравнения и генерации прямоугольных импульсов на выводе OCnx.
Регистры сравнения являются 16-разрядными, поэтому, одновременность записи младшего и старшего байтов достигнута за счет использования 8-разр. временного регистра старшего байта (TEMP). Временный регистр является общим для всех 16-разрядных регистров таймера (см. также “Доступ к 16-разр. регистрам”).
Регистр захвата 1 – ICR1H и ICR1L
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
ICR1C [15:8] |
ICR1CH |
|
ICR1C [7:0] |
ICR1CL |
Чтение/запись |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр захвата 3 – ICR3H и ICR3L
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
ICR3C [15:8] |
ICR3CH |
|
ICR3C [7:0] |
ICR3CL |
Чтение/запись |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
Зп./Чт. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистры захвата обновляются содержимым соответствующего счетчика (TCNTn) при каждом определении условия захвата на входе ICPn (или альтернативно на выходе аналогового компаратора для таймера-счетчика 1).
Регистры захвата альтернативно могут использоваться для задания верхнего предела счета.
Регистры захвата также являются 16-разрядными, поэтому, одновременность записи младшего и старшего байтов достигнута за счет использования 8-разр. временного регистра старшего байта (TEMP). Временный регистр является общим для всех 16-разрядных регистров таймера (см. также “Доступ к 16-разр. регистрам”).
Регистр маски прерываний таймера-счетчика – TIMSK
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
OCIE2 |
TOIE2 |
TICIE1 |
OCIE1A |
OCIE1B |
TOIE1 |
OCIE0 |
TOIE0 |
TIMSK |
Чтение/запись |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Прим.: Данный регистр биты управления прерываниями для нескольких таймер-счетчиков, но в данном разделе детализированы только биты таймера 1. Описание остальных бит необходимо искать при описании соответствующих таймеров.
Разряд 5 – TICIE1: Разрешение прерывания по захвату состояния таймера-счетчика 1
Если в данный бит записана лог. 1, а также установлен флаг I в регистре статуса (активно общее разрешение прерываний), то разрешается прерывание по захвату состояния таймера-счетчика 1. Если устанавливается флаг в регистре TIFR, программа переходит на соответствующий вектор прерывания (см. раздел "Прерывания").
Разряд 4 – OCIE1A: Разрешение прерывания по результату сравнения канала А таймера-счетчика 1
Если в данный бит записана лог. 1 и установлен флаг I в регистре статуса, то разрешается работа прерывания по результату сравнения канала A. Если устанавливается флаг OCF1A в регистре TIFR, то программа переходит на соответствующий вектор прерываний (см. раздел "Прерывания").
Разряд 3 – OCIE1В: Разрешение прерывания по результату сравнения канала В таймера-счетчика 1
Действие аналогично предыдущему, но в отношении канала сравнения В.
Разряд 2 – TOIE1: Разрешение прерывания при переполнении таймера-счетчика 1
Если в данный бит записана лог. 1 и установлен флаг I в регистре статуса, то разрешается прерывание по переполнению таймера-счетчика 1. После этого, установка флага TOV1 в регистре TIFR приведет к переходу на соответствующий вектор прерывания.
Расширенный регистр маски прерываний таймера-счетчика– ETIMSK
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
- |
- |
TICIE3 |
OCIE3A |
OCIE3B |
TOIE3 |
OCIE3C |
TOIE3C |
ETIMSK |
Чтение/запись |
Чт. |
Чт. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Прим.: Данный регистр не доступен в режиме совместимости с ATmega103.
Разряд 7:6 – Зарезервированные биты
Данные биты зарезервированы для дальнейшего использования. В целях совместимости с последующими версиями во время записи в регистр в данный бит необходимо записывать лог. 0.
Разряд 5 – TICIE3: Разрешение прерывания по захвату состояния таймера-счетчика 3
Если в данный бит записана лог. 1 и установлен флаг I в регистре статуса, то разрешается работа прерывания по захвату состояния таймера-счетчика 3. Если устанавливается флаг ICF3 в регистре ETIFR, то программа переходит на соответствующий вектор прерывания (см. раздел "Прерывания").
Разряд 4 – OCIE3A: Разрешение прерывания по результату сравнения канала А таймера-счетчика 3
Если данный бит равен 1 и установлен флаг I в регистре статуса, то разрешается работа прерывания по результату сравнения канала А таймера-счетчика 3. Если устанавливается флаг OCF3A в регистре ETIFR, то программа переходит на соответствующий вектор прерывания (см. раздел "Прерывания").
Разряд 3 – OCIE3B: Разрешение прерывания по результату сравнения канала B таймера-счетчика 3
Аналогично предыдущему, но по отношению к каналу В.
Разряд 2 – TOIE3: Разрешение прерывания по переполнению таймера-счетчика
Если в данный бит записана лог. 1 и установлен флаг I в регистре статуса, то разрешается прерывание по переполнению таймера-счетчика 3. После этого, установка флага TOV3 в регистре ETIFR приведет к переходу на соответствующий вектор прерывания (см. раздел "Прерывания").
Разряд 1 – OCIE3C: Разрешение прерывания по результату сравнения канала С таймера-счетчика 3
Если данный бит равен 1 и установлен флаг I в регистре статуса, то разрешается работа прерывания по результату сравнения канала С таймера-счетчика 3. Если устанавливается флаг OCF3C в регистре ETIFR, то программа переходит на соответствующий вектор прерывания (см. раздел "Прерывания").
Разряд 0 – OCIE3C: Разрешение прерывания по результату сравнения канала С таймера-счетчика 1
Если данный бит равен 1 и установлен флаг I в регистре статуса, то разрешается работа прерывания по результату сравнения канала С таймера-счетчика 1. Если устанавливается флаг OCF1C в регистре ETIFR, то программа переходит на соответствующий вектор прерывания (см. раздел "Прерывания").
Регистр флагов прерываний таймеров-счетчиков – TIFR
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
OCF2 |
TOV2 |
ICF1 |
OCF1A |
OCF1B |
TOV1 |
OCF0 |
TOF0 |
TIFR |
Чтение/запись |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Прим.: Биты данного регистра относятся к нескольким таймерам, но в данном параграфе рассматриваются биты только одного таймера. Описание остальных бит необходимо смотреть в соответствующих разделах.
Разряд 5 – ICF1: Флаг захвата состояния таймера-счетчика 1
Флаг устанавливается, если на входе ICP1 определяется условие захвата. Если регистр захвата ICR1 выбран с помощью бит WGMn3:0 в качестве источника верхнего предела счета, флаг ICF1 устанавливается по достижении верхнего предела счета.
ICF1 автоматически сбрасывается при переходе на вектор прерывания по захвату состояния таймера-счетчика. Альтернативно флаг ICF1 можно сбрасывать путем записи в него лог. 1.
Разряд 4 – OCF1A: Флаг результата сравнения канала А таймера-счетчика 1
Данный флаг устанавливается следующим тактом после совпадения значения TCNT1 с регистром А порога сравнения (OCR1A).
Обратите внимание, что строб принудительной установки результата сравнения (FOC1A) не устанавливает флаг OCF1A. Флаг OCF1A автоматически сбрасывается при переходе на соответствующий вектор прерывания. Альтернативно, флаг OCF1A сбрасывается путем записи в него лог. 1.
Разряд 3 – OCF1B: Флаг результата сравнения канала B таймера-счетчика 1
Данный флаг действует аналогично предыдущему, но в отношении канала сравнения В.
Разряд 2 – TOV1: Флаг переполнения таймера-счетчика 1
Установка данного флага зависит от значений бит WGMn3:0. В нормальном режиме и режиме СТС флаг TOV1 устанавливается при переполнении таймера-счетчика. См. табл. 61 для изучения поведения флага TOV1 при задании других значений WGMn3:0. Флаг TOV1 автоматически сбрасывается при переходе на вектор прерывания по переполнению таймера-счетчика 1. Альтернативно флаг TOV1 сбрасывается путем записи в него лог. 1.
Расширенный регистр флагов прерываний таймеров-счетчиков – ETIFR
Разряд |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
- |
- |
ICF3 |
OCF3A |
OCF3B |
TOV3 |
OCF3C |
OCF1C |
ETIFR |
Чтение/запись |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
Чт./Зп. |
|
Исх. значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Разряды 7:6 – Зарезервированные биты
Данные биты зарезервированы для дальнейшего использования. В целях совместимости с последующими версиями необходимо в данные разряды записывать лог. 0 во время записи в регистр ETIFR.
Разряд 5 – ICF3: Флаг захвата состояния таймера-счетчика 3
Флаг устанавливается, если на входе ICP3 определяется условие захвата. Если регистр захвата ICR3 выбран с помощью бит WGM3:0 в качестве источника верхнего предела счета, то флаг ICF3 устанавливается по достижении верхнего предела счета.
ICF3 автоматически сбрасывается при переходе на вектор прерывания по захвату состояния таймера-счетчика. Альтернативно флаг ICF3 можно сбросить путем записи в него лог. 1.
Разряд 4 – OCF3A: Флаг результата сравнения канала А таймера-счетчика 3
Данный флаг устанавливается следующим тактом после совпадения значения TCNT3 с регистром А порога сравнения (OCR3A).
Обратите внимание, что строб принудительной установки результата сравнения (FOC3A) не устанавливает флаг OCF3A. Флаг OCF3A автоматически сбрасывается при переходе на соответствующий вектор прерывания. Альтернативно, флаг OCF3A сбрасывается путем записи в него лог. 1.
Разряд 3 – OCF3B: Флаг результата сравнения канала B таймера-счетчика 3
Действует аналогично предыдущему, но в отношении канала В таймера-счетчика 3.
Разряд 2 – TOV3: Флаг переполнения таймера-счетчика 3
Установка данного флага зависит от значений бит WGM3:0. В нормальном режиме и режиме СТС флаг TOV3 устанавливается при переполнении таймера-счетчика. См. табл. 61 для изучения поведения флага TOV3 при задании других значений WGM3:0. Флаг TOV3 автоматически сбрасывается при переходе на вектор прерывания по переполнению таймера-счетчика 3. Альтернативно флаг TOV3 сбрасывается путем записи в него лог. 1.
Разряд 1 – OCF3C: Флаг результата сравнения канала С таймера-счетчика 3
Данный флаг устанавливается следующим тактом после совпадения значения TCNT3 с регистром С порога сравнения (OCR3С).
Обратите внимание, что строб принудительной установки результата сравнения (FOC3С) не устанавливает флаг OCF3С. Флаг OCF3С автоматически сбрасывается при переходе на соответствующий вектор прерывания. Альтернативно, флаг OCF3С сбрасывается путем записи в него лог. 1.
Разряд 0 – OCF1C: Флаг результата сравнения канала С таймера-счетчика 1
Действует аналогично предыдущему, но в отношении TCNT1 и канала С таймера 1.
|