Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств

Шаг 6. Осваиваем все возможности микроконтроллера ATtiny23 13 455 значений ТОР неиспользованные старшие разряды регистров OCRlx всегда остаются равными нулю, какое бы значение в этот регистр не записывалось. Рекомендуется использовать режим phase and frequency correct PWM вместо режима phase correct PWM, если требуется изменять значение ТОР «на ходу», то есть в то время, когда таймер/счетчик работает. Если во время работы таймера значение ТОР менять не требуется, то между этими двумя режимами нет никаких различий. В режиме phase correct PWM модуль совпадения формирует сигнал ШИМ на выводах ОС1х. Установка битов СОМ1х1:0 = 2 приводит к тому, что на выходе будет сформирован неинвертированный сигнал ШИМ. Инвертированный сигнал ШИМ формируется при СОМ1х1:0 = 3 (смотри табл. 6.44). Реально значение ОС1х появится на соответству ­ ющем выводе микросхемы только тогда, когда он будет сконфигуриро ­ ван как выход (при помощи бита DDR_OClx). Частота сигнала ШИМ в режиме phase correct PWM может быть вычислена по следующей формуле: ’ оспхрсгмм 2 N TOP' Переменная N — это коэффициент деления предварительного дели ­ теля (1, 8, 64, 256 или 1024). Особый случай представляет собой генерация ШИМ при предельных значениях регистра OCRlx. Если в неинвертирующем режиме содержи ­ мое OCRlx равно BOTTOM, то на выходе будет постоянный нулевой уровень. А если это содержимое равно ТОР, на выходе будет постоянный уровень логической единицы. Для инвертирующего режима выходной сигнал будет иметь обратные значения. Режим phase and frequency correct PWM Режим phase and frequency correct PWM или ШИМ, корректный по фазе и частоте, включается при WGM13:0 - 8 или 9. Этот режим, как и предыдущий, основан на пилообразном сигнале с двухсторонним накло ­ ном. Счетчик периодически меняет направление и считает сначала от BOTTOM (0x0000) до ТОР, а затем от ТОР до BOTTOM. В неинвертированном режиме сигнал на выходе совпадения (ОС1х) сбрасывается в момент совпадения содержимого регистров TCNT1 и OCRlx, если счет происходит в прямом направлении, и устанавливается в единицу в момент совпадения регистров в том случае, если счетчик считает в обратном направлении.

RkJQdWJsaXNoZXIy MTExODQxMg==