Страница 1 из 1

ATTiny13+PWM(f)

Добавлено: Вт дек 22, 2009 23:41:43
fox15
Привет вам господа Кошаки ! 8)


ATTiny13, использую внутренний генератор 4.8МГц, фьюз CKDIV8, стало быть частота 600 кГц

Собственно ШИМ !
DDRB = 0x1;
TCCR0A=0x83;
TCCR0B=0x04;
OCR0A=0x07;

получаю сигнал с частотой 9.470 Hz, (f=fclk/N*256)

А мне надо 10,79 Hz
Есть ли способ не прибегая к внешнему генератору получить эти заветные 10,79 герц :?

Премного благодарен за любую помощь в этом деле :beer:

Re: ATTiny13+PWM(f)

Добавлено: Ср дек 23, 2009 05:29:02
AI_Disable
fox15 писал(а): Есть ли способ не прибегая к внешнему генератору получить эти заветные 10,79 герц :?
Есть. Программный шим, через прерывания по совпадению, вам в руки.
PS: Но точно 10,79 Hz Вы всё равно не получите. Либо ~10,85Гц либо ~10,75Гц
PPS: Хотя, можно будет скорректировать частоту через delay в прерывании. Но это не есть гуд.

Добавлено: Ср дек 23, 2009 07:03:09
DrWatson
Можно и аппаратный: очистка TCNT по совпадению с OCR0A, а ШИМ получать с выхода OCR0B, надо-то в TCCR0B записать 0x0C, в TCCR0A записать 0x23, в OCR0A записать 0xD8, ну а в OCR0B - какой там надо ШИМ (главное меньше 0xD8) - получится те же 600 000/(256*(0xD8+1))~10,8Гц.
А для более точной установки придется поиграться с калибровочным регистром встроенного RC-генератора OSCCAL.
Хотя нет, он даст мигимальное изменение частоты примерно на 1%, что в данном случае не позволит достичь желаемого результата.
В таком случае поможет только внешний кварцевый генератор.

Добавлено: Ср дек 23, 2009 08:50:58
GP1
DrWatson писал(а):Можно и аппаратный: очистка TCNT по совпадению с OCR0A
в режиме СТС - счетчик обнуляется автоматически.

Добавлено: Ср дек 23, 2009 16:06:59
DrWatson
И в режиме FAST PWM TOP=OCR0A, который я предложил, счетчик обнуляется при совпадении с OCR0A.