Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AVR.doc
Скачиваний:
17
Добавлен:
26.04.2019
Размер:
2.79 Mб
Скачать

Регистр сравнения выхода т/с0

OCR0 – (Timer/Counter0 Output Compare Register)

Регистр сравнения выходов является 8-разрядным регистром с возможностью чтения/записи. Регистр OCR0 расположен по адресу ($31($51)). Выполнение процедуры сравнения определяется регистром TCCR0. Совпадение при сравнении произойдет только тогда, когда таймер/счетчик досчитает до значения содержимого OCR. Программная запись одного и того же значения в таймер/счетчик и в регистр сравнения выхода не приведет к формированию совпадения при сравнении.

Совпадение при сравнении приведет к установке флага прерывания по совпадению в течение тактового цикла CPU следующего за совпадением.

Режимы работы т/с0

Normalнаиболее простой режим работы Т/С. В этом режиме счетный регистр функционирует как обычный суммирующий счетчик. По каждому тактовому импульсу осуществляется инкремент регистра. При переходе через значение $FF возникает переполнение и счет продолжается со значения $00. В том же такте тактового сигнала, в котором обнуляется счетный регистр, устанавливается в «1» флаг переполнения – TOV0.

При равенстве счетного регистра и регистра сравнения устанавливается в «1» флаг прерывания по событию «совпадение» – OCF0.

Наряду с установкой флага при равенстве счетного регистра и регистра сравнения может изменяться состояние вывода ОС0 МК. Изменение состояния ОС0 определяется разрядами СОМ01:СОМ00 регистра TCCR0.

Таблица 13. Состояние вывода ОС0 МК

СОМ01

СОМ00

Описание состояния вывода ОС0

0

0

T/C отключен от вывода ОС0.

0

1

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

1

0

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

1

1

Вывод ОС0 устанавливается в1.

СТС (сброс при совпадении) – счетный регистр функционирует как обычный суммирующий счетчик, инкремент которого осуществляется по каждому импульсу тактового сигнала. Максимально возможное значение счетного регистра и разрешающая способность счетчика определяется регистром сравнения ОCR0. После достижения значения, записанного в регистре сравнения, счет продолжается со значения $00. В том же такте устанавливается флаг OCF0.

Изменение состояния ос0 определяется разрядами сом01:сом00 регистра tccr0 (состояние вывода ос0 изменяется в соответствии с таблицей 11).

Fast PWM (быстродействующая ШИМ) в этом режиме генерируются сигналы с широтно-импульсной модуляцией. Режим используется в регулировании мощности, выпрямлении и др. Счетный регистр функционирует как суммирующий счетчик, инкрементирующий состояние по каждому тактовому импульсу. Состояние счетчика изменяется от $00 до $FF, после чего сбрасывается и цикл повторяется.

Особенностью схемы сравнения в этом режиме является двойная буферизация записи в регистр ОCR0 – записываемое число сохраняется в специальном буферном регистре. Изменение содержимого регистра сравнения происходит только в момент достижения счетчиком максимального значения $FF. Это исключает появление несимметричных импульсов сигнала на выходе модулятора (помех), которые были бы неизбежны при непосредственной записи в регистр сравнения. Изменение состояния ОС0 определяется разрядами СОМ01:СОМ00 регистра TCCR0:

Таблица 14. Состояние вывода ОС0 МК

СОМ01

СОМ00

Описание состояния вывода ОС0

0

0

T/C отключен от вывода ОС0.

0

1

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

1

0

Вывод ОС0 сбрасывается в 0 при равенстве счетного регистра и регистра сравнения. Устанавливается в 1 при обнулении счетного регистра.

1

1

Вывод ОС0 устанавливается в1 при равенстве счетного регистра и регистра сравнения. Сбрасывается в 0 при обнулении счетного регистра.

Phase correct PWM (ШИМ с точной фазой) – также используется для генерации сигналов с широтно-импульсной модуляцией. В этом режиме счетный регистр изменяет состояние по импульсу тактового сигнала от $00 до $FF, а затем обратно от $FF до $00. Максимальная частота тактового сигнала в этом режиме в 2 раза меньше максимальной частоты в режиме Fast PWM. Этот режим предпочтительнее использовать при решении задач управления двигателем. Изменение состояния ОС0 определяется разрядами СОМ01:СОМ00 регистра TCCR0:

Таблица 15. Состояние вывода ОС0 МК

СОМ01

СОМ00

Описание состояния вывода ОС0

0

0

T/C отключен от вывода ОС0.

0

1

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

1

0

Вывод ОС0 сбрасывается в 0 при прямом счете. Устанавливается в 1 при обратном счете. (Вывод ОС0 изменяет состояние, если регистр сравнения равен регистру счета).

1

1

Вывод ОС0 устанавливается в1 при прямом счете. Сбрасывается в 0 при обратном счете. (Вывод ОС0 изменяет состояние, если регистр сравнения равен регистру счета).

В ШИМ режиме при записи содержимое регистра сравнения выхода пересылается на временное хранение. Содержимое фиксируется при достижении таймером/счетчиком состояния $FF. Такой прием предохраняет от появления ШИМ импульсов увеличенной ширины (ложных выбросов) в случае несинхронной записи OCR0 или OCR2. Пример (для состояния СОМ01: СОМ00=1:0) см. на рис.21.

Рис. 21. Эффект несинхронной фиксации OCR

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]