8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 112 113 114 115 116 117 118 ... 195

7.5.2. Режимы работы

Режим работы таймера/счетчика ТО (Т2) определяется состоянием битов WGMaj2:WGMajO регистра TCCRaj (TCCR/jA/TCCRajB). Зависимость режима работы таймеров/счетчиков от состояния этих битов показана в Табл. 7.13.

Таблица 7.13. Режимы работы таймеров/счетчиков ТО и Т2

Номер режима

WGMл21)

WGMnl

WGMaO

Режим работы таймера/счетчика Тл

Модуль счета (TOP)

Обновление регистров OCR/uc

Момент установки флага ТОУл

0

0

0

0

Normal

$FF

Немедленно

$FF

1

0

0

1

Phase correct PWM

$FF

При ТОР

$00

2

0

1

0

CTC (сброс при совпадении)

ОС1*л (ОС1*лА)

Немедленно

$FF

3

0

1

1

Fast PWM

$FF

При ТОР

$FF

4п

1

0

0

Зарезервировано

-

-

-

5>

1

0

1

Phase correct PWM

ОС1*л (ОС1*лА)

При ТОР

$00

6>>

1

1

0

Зарезервировано

-

-

-

7d

1

1

1

Fast PWM

ОС1*л (ОС1*лА)

При ТОР

TOP

0 В моделях ATmega48x/88x/l68x

Примечание, л = 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

СОМл1 (COM/ucl)

СОМлО (СОМл*0)

Описание

0

0

Таймер/счетчик Тл отключен от вывода ОСл (ОСлх)

0

1

Состояние вывода меняется на противоположное

1

0

Вывод сбрасывается в 0

1

1

Вывод устанавливается в 1

Примечание, л = 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. Управление выводами ОСл (ОСлА/ОСлВ) в режиме СТС

СОМл1 (COM/ucl)

СОМлО (СОМлхО)

Описание

0

0

Таймер/счетчик Та? отключен от вывода ОСа? (OCaix)

0

1

Состояние вывода меняется на противоположное

1

0

Вывод сбрасывается в 0

1

1

Вывод устанавливается в 1

Примечание, п = О или 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