Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
422 Микроконтроллеры AVR от азов программирования... Установка ТОР чересчур близко к значению BOTTOM в тот момент, когда счетчик не работает или при низком коэффициенте предваритель ного деления, должна выполняться осторожно, так как режим СТС не имеет двойной буферизации. Если новое значение, записанное в OCROA, будет ниже, чем текущее значение TCNT0, то счетчик пропустит момент совпадения. В результате счетчик продолжит счет до своего максимального значения (OxFF), затем перейдет через ноль и лишь затем произойдет момент совпадения. Для генерации выходного сигнала в режиме СТС выход ОСОА может быть установлен в режим переключения выходного уровня каждый раз в момент совпадения. Для этого нужно установить в соответствующее положение биты режима вывода сигнала совпадения (СОМ0А1:0 = 1). Значение регистра ОСОА не поступит на соответствующий внешний кон такт порта, если он не сконфигурирован как выход. Сгенерированный сигнал будет иметь максимальную частоту f oco = f dk 1/о /2, когда в регистр OCROA записан ноль (0x00). Частота сигнала может быть рассчитана при помощи следующего уравнения: оелх 2 Л/ (1 +OCRnx) ’ где переменная N — это коэффициент предварительного деления (1, 8, 64, 256 или 1024). Как и в режиме Normal, флаг TOVO устанавливается каждый раз, когда счетчик досчитывает до МАХ и переходит в ноль. Режим Fast PWM (быстрый ШИМ) Микроконтроллер имеет несколько режимов широтно-импульсной модуляции (ШИМ). По-английски это звучит как Pulse Width Modulation (PWM). Быстрый ШИМ (fast PWM) выбирается при WGM02:0 = 3 или 7. В этом режиме формируется самый высокочастотный сигнал ШИМ. Быстрый ШИМ отличается от других режимов ШИМ тем, что для фор мирования сигнала счетчик формирует только возрастающую последо вательность. То есть изменение значения счетчика имеет вид пилообраз ного сигнала с односторонним наклоном. Счет начинается со значения BOTTOM и заканчивается значением ТОР. После этого счетчик перезапускается (снова устанавливается зна чение BOTTOM). Значение ТОР равно OxFF при WGM2:0 - 3. Если же WGM2:0 = 7, значение ТОР определяется содержимым реги стра OCROA. В режиме неинвертирующего выхода сигнал совпадения (ОСОх) сбрасывается в момент совпадения значений TCNT0 и OCROx и перехода к BOTTOM.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==