Timer/Counter 1 Control Register A – TCCR1A (регистр управления)




  COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10
Read/Write R/W R/W R/W R/W W W R/W R/W
Initial Value                

 

Bit 7:6 – COM1A1:0: Compare Output Mode for channel A

Bit 5:4 – COM1B1:0: Compare Output Mode for channel B

Биты COM1A1: 0 и COM1B1: 0 управляют выводами сравнения (OC1A и OC1B соответственно). Если один или оба бита COM1A1: 0установлены в 1, выход OC1A переопределяет нормальную функциональность контакта порта ввода-вывода, к которому он подключен. Если в один или оба бита COM1B1: 0 записываются единицы, выход OC1B переопределяет нормальную работу контакта порта ввода-вывода, к которому он подключен. Однако обратите внимание, что бит регистра данных DDR (DDR), соответствующий выводу OC1A или OC1B, должен быть установлен на вывод данных.

Когда OC1A или OC1B подключены к выходу, функция бит COM1x1: 0 зависит от настройки WGM13: 0. Таблица показывает функциональность COM1x1: 0 бит, когда бит WGM13: 0 установлен в нормальный режим или режим CTC (без PWM).

COM1A1/ COM1B1 COM1A0/ COM1B0   Description
    Нормальная работа порта, OC1A/OC1B отключены
    Переключить OC1A / OC1B на сравнение соответствия
    Очистить OC1A / OC1B от сравнения соответствия (установить выход в 0) низкий уровень)
    Установите OC1A / OC1B (установите на выходе на высокий уровень 1)

 

В таблице ниже показана функциональность COM1x1: 0 бит, когда бит WGM13: 0 установлен в режим быстрой PWM (режим ШИМ).

COM1A1/ COM1B1 COM1A0/ COM1B0   Description
    Нормальная работа порта, OC1A/OC1B отключены
    WGM13: 0 = 15: Переключить OC1A на сравнение, OC1B отключен (нормальный режим работы порта). Для всех других параметров WGM1, нормальный режим работы порта, OC1A / OC1B отключен.
    Очистить OC1A / OC1B от сравнения соответствия, установить OC1A / OC1B в BOTTOM (режим без иинвертирования)
    Установите OC1A / OC1Bв 1, очистите OC1A / OC1B в BOTTOM (режим инвертирования)

 

Таблица показывает функциональность COM1x1: 0 бит, когда бит WGM13: 0 установлен на фазовую коррекцию или правильную фазу и частоту, режим PWM.

COM1A1/ COM1B1 COM1A0/ COM1B0   Description
    Нормальная работа порта, OC1A/OC1B отключены
    WGM13: 0 = 9 или 14: Переключить OC1A в 1, OC1B отключен (нормальный режим работы порта).
    Очистить OC1A / OC1B от сравнения совпадения при пересчете. становите OC1A / OC1B на сравнение соответствия при подсчете.
    Установите OC1A / OC1B на соответствие совпадению при пересчете. Очистить OC1A / OC1B от сравнения совпадения при подсчете.

Bit 3 – FOC1A: Force Output Compare for channel A

Bit 2 – FOC1B: Force Output Compare for channel B

Биты FOC1A / FOC1B активны только тогда, когда бит WGM13: 0 определяет режим без ШИМ. Однако для обеспечения совместимости с будущими устройствами эти биты должны быть установлены на ноль, когда TCCR1A записывается при работе в режиме PWM. При записи логической единицы в FOC1A / FOC1B происходит немедленное сравнение и Match принудительно подается на блок генерации сигналов. Выход OC1A / OC1B изменяется в соответствии с его настройкой COM1x1: 0 бит. Обратите внимание, что бит FOC1A / FOC1B реализован как стробы. Поэтому значение, присутствующее в битах COM1x1: 0, определяет эффект принудительного сравнения.

Строб FOC1A / FOC1B не будет генерировать никаких прерываний и не очистит таймер в режиме Clear Timer on Compare Match (CTC), используя OCR1A как TOP. Биты FOC1A / FOC1B всегда считаются нулями.

Bit 1:0 – WGM11:0: Waveform Generation Mode

В сочетании с WGM13: 2 битами, найденными в регистре TCCR1B, эти биты управляют последовательностью подсчета счетчика, источником максимального (TOP) значения счетчика и тем, какой тип генерации волновой формы используется, (см. Таблицу Режимы). Операции, поддерживаемые блоком таймера / счетчика, следующие: Нормальный режим (счетчик), Режим «Сброс таймера» в режиме сравнения (CTC) и три типа режимов широтно-импульсной модуляции (PWM) (см. «Режимы работы» на стр. 87).

  Mode   WGM13 WGM12 (CTC1) WGM11 (PWM11) WGM10 (PWM10) Timer/Counter Mode of Operation(1)   TOP Update of OCR1x TOV1 Flag Set on
          Нормальный режим 0xFFFF Immediate MAX
          PWM, Phase Correct, 8-bit 0x00FF TOP BOTTOM
          PWM, Phase Correct, 9-bit 0x01FF TOP BOTTOM
          PWM, Phase Correct, 10-bit 0x03FF TOP BOTTOM
          CTC OCR1A Immediate MAX
          Fast PWM, 8-bit 0x00FF BOTTOM TOP
          Fast PWM, 9-bit 0x01FF BOTTOM TOP

 

  Mode   WGM13 WGM12 (CTC1) WGM11 (PWM11) WGM10 (PWM10) Timer/Counter Mode of Operation(1)   TOP Update of OCR1x TOV1 Flag Set on
          Быстрая PWM, 10-битная 0x03FF BOTTOM TOP
          PWM, Phase and Frequency Correct ICR1 BOTTOM BOTTOM
          PWM, Phase and Frequency Correct OCR1A BOTTOM BOTTOM
          PWM, Phase Correct ICR1 TOP BOTTOM
          PWM, Phase Correct OCR1A TOP BOTTOM
          CTC ICR1 Immediate MAX
          (Reserved)
          Fast PWM ICR1 BOTTOM TOP
          Fast PWM OCR1A BOTTOM TOP

 

Имена определения CTC1 и PWM11: 0 бит устарели. Используйте определения WGM12: 0. Однако функциональность и расположение этих битов совместимы с предыдущими версиями таймера.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-06-06 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: