Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATmega16(L) Fast PWM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
K_E_A
как рассчитать длительность импульса в режиме Fast PWM для таймеров T0/T2? нужно 1ms
Pyku_He_oTTyda
В даташите написано.
Например для тини13 формула на странице 64
Petka
Легко. Если частота кварца 8Мгц, то натраиваем таймер, например так:
Код
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 125,000 kHz
// Mode: Fast PWM top=FFh
// OC0 output: Non-Inverted PWM
TCCR0=0x6B;
TCNT0=0x00;
OCR0=0x7C;


Расчёт таков, если установи предделитель тактовой частоты равным 64, то таймер будет тикать 8МГц/64=125кГц т.е. один такт таймера 1/125000=8мкс, для того, что бы насчитать 1мс, надо сделать 1мс/8мкс тактов таймера, т.е. 125 шагов, для этого надо в регистр OCRx записать значение 125 минус 1. т.е. 7Сh
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.