Witam.
Próbuję zrobić symulację trybu Fast PWM na liczniku T1 w AVR Studio, ale nie wychodzi mi to. Tryb Fast PWM różni się od innych głównie tym , że po dojściu wartości licznika do szczytu , licznik nie powinien zliczać w dół. U mnie właśnie zlicza w dół , chociaż skonfigurowałem go wg instrukcji.
Oto program poniżej:
Na początek wpisałem wartość do rejestrów granicznych:
i ustawiłem tryb Fast PWM, oraz wypełnianie od zera do zgodnego porównania:
Niestety w symulatorze nie wyszło z licznikiem. Po dojściu do 255 zlicza do zera. A powinien się wyzerować. Proszę o rady;)
Poprawiłem tytuł - regulamin p.11.1
Dodałem znaczniki [code].
Proszę o tym pamiętać , przy zakładaniu kolejnego tematu.
[zumek]
Próbuję zrobić symulację trybu Fast PWM na liczniku T1 w AVR Studio, ale nie wychodzi mi to. Tryb Fast PWM różni się od innych głównie tym , że po dojściu wartości licznika do szczytu , licznik nie powinien zliczać w dół. U mnie właśnie zlicza w dół , chociaż skonfigurowałem go wg instrukcji.
Oto program poniżej:
.INCLUDE "m32def.inc"
sbi DDRD, PD4; to są tryby wyjścia lini OC1A i OC1B
sbi DDRD, PD5
Na początek wpisałem wartość do rejestrów granicznych:
ldi R16, 0
ldi R17, 50
out OCR1AH, r16
OUT OCR1AL, R17
out OCR1bH, r16
OUT OCR1BL, R17
i ustawiłem tryb Fast PWM, oraz wypełnianie od zera do zgodnego porównania:
clr R16
sbr R16, (1<<COM1A1)|(1<<COM1B1)|(1<<WGM10)
out TCCR1A, r16
CLR r16
sbr R16, (1<<WGM12)|(1<<CS10)
OUT tCCR1b, r16
Petla:
jmp Petla
Niestety w symulatorze nie wyszło z licznikiem. Po dojściu do 255 zlicza do zera. A powinien się wyzerować. Proszę o rady;)
Poprawiłem tytuł - regulamin p.11.1
Dodałem znaczniki [code].
Proszę o tym pamiętać , przy zakładaniu kolejnego tematu.
[zumek]
