Белов, А.В. Микроконтроллеры 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.

RkJQdWJsaXNoZXIy MTExODQxMg==