Почему не получается? Дайте пример Вашего кода.
Вот что должно быть: смотрим таблицу 61, ищем режим Fast PWM, 10бит это режим№7. Записываем значения битов:
WGM13 = 0 ; WGM12 = 1 (обратите внимание, что эти биты находится в регистре TCCR1B); WGM11 = 1; WGM10 = 1. Далее, исходя из таблицы 59, выбираем режим (то, что будет на выходе ШИМов). Возьмем, к примеру, не инвертирующий выход, это COM1A1 = 1, COM1A0 = 0. Теперь выбираем частоту. Это биты CS12, CS11, CS10 регистра TCCR1B. Выберем частоту системного таймера, без деления CS12 = 0, CS11 = 0, CS10 = 1.
Теперь записываем значения в регистры
Код
TCCR1A = 0b10000011; //0x83;
TCCR1B = 0b00001001; //0x09
Записывая в OCR1AH и OCR1AL 0..1023(так как ШИМ 10-ти битный) определяют величину ШИМ:
Код
uint value = 512;
OCR1AH = (char)(value>>8);
OCR1AL = (char)value;
Все, должно работать. Если не можете разобраться в регистрах, советую CodeVisionAVR, там есть генератор начального кода, очень наглядно и поможет разобратся. Так же советую пройти сюда http://[banned]/. Все вычисления заняли 5 минут.