Раздел: Документация
0 ... 112 113 114 115 116 117 118 ... 195 7.5.2. Режимы работы Режим работы таймера/счетчика ТО (Т2) определяется состоянием битов WGMaj2:WGMajO регистра TCCRaj (TCCR/jA/TCCRajB). Зависимость режима работы таймеров/счетчиков от состояния этих битов показана в Табл. 7.13. Таблица 7.13. Режимы работы таймеров/счетчиков ТО и Т2
Примечание, л = 0 или 2. Режим Normal Это наиболее простой режим работы таймеров/счетчиков. А в таймере/счетчике ТО модели ATmega8x это вообще единственный режим. В режиме Normal счетный регистр функционирует как обычный суммирующий счетчик. По каждому импульсу тактового сигнала clkT„ осуществляется инкрементирование счетного регистра. При переходе через значение $FF возникает переполнение, и счет продолжается со значения $00. В том же такте сигнала clkT„, в котором обнуляется регистр TCNTaj, флаг прерывания по переполнению TOVaj устанавливается в 1. При равенстве счетного регистра и регистра сравнения устанавливается соответствующий флаг прерывания OCFaj (OCFajA/OCFajB) и, если бит OCIEaj (OCIEajA/OCIEajB) регистра маски установлен в 1, генерируется прерывание. Наряду с установкой флага при равенстве счетного регистра и регистра сравнения может изменяться состояние вывода ОСп (ОСяА/ОСяВ) микроконтроллера. Каким образом оно будет изменяться, определяется битами СОМл1:СОМлО (СОМлх1:СОМшЮ) регистра управления TCCRai/TCCR/jA в соответствии с Табл. 7.14. Таблица 7.14. Управление выводами ОСп (ОСлА/ОСлВ) в режиме Normal
Примечание, л = 0 или 2 При необходимости состояние вывода ОСп (ОСлА/ОСлВ) может быть изменено принудительно записью лог. 1 в бит FOO/ (FOOjA/FOOjB) соответствующего регистра управления. Прерывание при этом не генерируется. Режим СТС (сброс при совпадении) В этом режиме счетный регистр тоже функционирует как обычный суммирующий счетчик, инкрементирование которого осуществляется по каждому импульсу тактового сигнала clkT„. Однако максимально возможное значение счетного регистра и, следовательно, разрешающая способность счетчика определяются регистром сравнения OCR/7 (OCR/jA). После достижения значения, записанного в регистре сравнения, счет продолжается со значения $00. Если в регистре сравнения записано $FF, то в том же такте сигнала clkT/7, в котором обнуляется счетный регистр, устанавливается флаг прерывания по переполнению TOVn в соответствующем регистре флагов. Временные диаграммы для этого режима работы таймера/счетчика приведены на Рис. 7.13. При достижении счетчиком максимального значения устанавливается флаг OCFaj (OCFM), и, если бит ОСЛЕл (ОСЛЕлА) соответствующего регистра маски установлен в 1, генерируется прерывание. Одновременно с установкой флага может изменяться состояние выводов ОСп (ОСлА/ОСлВ) микроконтроллера. Состояние выводов определяется битами СОМл 1:СОМл0 (СОМлх1:СОМлх0) регистра управления TCCR/*/TCCR/zA, как указано в Табл. 7.15. TCNTn OCn (Перекл ) Период Устанавливается флаг прерывания OCn (ОСпх) СОМп1 0 = 1 (COMnxl 0 = 1) п = 0или 2 Рис. 7.13. Временные диаграммы для режима СТС Таблица 7.15. Управление выводами ОСл (ОСлА/ОСлВ) в режиме СТС
Примечание, п = О или 2. Для генерации сигнала заданной частоты необходимо записать в биты СОМя1:СОМл0 (COM/dcIiCOMaixO) значение 01 (переключение вывода). Частота генерируемого сигнала будет определяться выражением /с ОСл clk I/Q 2-N-(l + OCRnx) где W — коэффициент деления предделителя (см. Табл. 7.12). При необходимости состояние вывода ОСл (ОСлА/ОСлВ) можно изменить принудительно записью лог. 1 в бит FOO* (FOOjA/FOOjB) соответствующего регистра управления. Прерывание при этом не генерируется и сброса счетного регистра не производится. Режим Fast PWM Режим Fast PWM («Быстродействующий ШИМ») позволяет генерировать высокочастотный сигнал с широтно-импульсной модуляцией. В связи с высокой частотой генерируемого сигнала данный режим с успехом 0 ... 112 113 114 115 116 117 118 ... 195
|