МИКРОКОНТРОЛЛЕР AVR - Страница 26

МИКРОКОНТРОЛЛЕР AVR - МИКРОКОНТРОЛЛЕР AVR

Рис. 33.5. Структура таймера 0 (TimerO) в AVR

Рис. 33.6. Структура таймера 1 (Timer1) в AVR

Таймер 1 имеет два ШИМ-режима. Первый режим вызывает запрос прерывания, когда текущее значение счетчика таймера станет равным «А» или «В». Когда содержимое счетчика таймера 1 по величине сравняется с содержимым 16-разрядного регистра «В», таймер может быть сброшен, чтобы обеспечить формирование следующего ШИМ-сигнала. На рис 33.7 показано состояние выхода микроконтроллера в промежуточных точках программы. Обратите внимание, что обработчики прерываний по совпадению содержат всего по две команды. При этих прерываниях не используются какие-либо флаги разрешения прерывания IF, которые надо было бы сбрасывать.

Рис. 33.7. Пример программы вывода ШИМ-сигнала для таймера 1

Второй ШИМ-режим — это использование таймера 1 для вывода ШИМ-сигнала на выход ОС1А микроконтроллера без использования программы обработки. В этом режиме таймер считает до максимально возможного значения и, когда содержимое счетчика становится равным заданному значению А или В, сигнал на выводе ОС1А меняет свое состояние. Когда таймер достигает максимального значения, он начинает считать в обратном направлении, и цикл повторяется. На рис 33.8 содержимое счетчика таймера 1 прёдставлено пилообразной кривой, которая отражает его значение в разные моменты времени. Уровень сравнения - это заданное значение А или В.

Go to Top