Такая проблема:
есть микроконтроллер, скажем ATmega8535,
есть кварц, пусть 12 МГц,
использовать таймер-счетчик будем в режиме счета до максимального числа и обратно.
Так вот в чем проблема, в таком режиме таймер-счетчик можно использовать минимум как 8-битный.
мне нужно получить частоту ШИМ = 100 кГц, соответственно, если не используем предделитель частоты
получаемчастоту ШИМ=12 МГц/510,
где 510-кол-во счета таймера
Мне нужно чтоб частота ШИМ равнялась 100 кГц, так вот, если испоьзовать такой счетчик, то кристал должен работать на частоте 12 МГц*510=многова то будет
Спецы, как можно исправить проблему, в принципе, можно заставить таймер считать от 0...61 и от 60 ...1
Уважаемые, помогите настроить таймер, чтоб так считал, вот мой кусок прграммы:
таймер все равно считает до 255 и обратно, где ошибка?
Start:
ldi R16, low(RAMEND)
out SPL, R16
ldi R16, high(RAMEND)
out SPH, R16
clr R16
out ICR1H, R16
ldi R16, 60 ; ICR1 = 60 - "потолок" счетчика
out ICR1L, R16
clr R16
ldi R16, 160 ; ICR1 = 60 - "потолок" счетчика
out TCNT1L, R16
; в OCR1A и(или) OCR1B можно занести коэффициент заполнения ШИМ
; предварительно настроив режим выхода OC1A и OC1B
ldi R16, (1<<WGM11)
out TCCR1A, R16
ldi R16, (1<<WGM13)+(1<<CS10); счетчик работает на тактовой частоте без деления
out TCCR1B, R16
rjmp PC ; просто бесконечный цикл