Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .include "m8535def.inc"
- // Program generujacy PWM DUTY = 2,7%, T=20ms
- #define MIN90H 0b00000001
- #define MIN90L 0b00001110
- #define PLS90L 0b00110010
- #define PLS90H 0b00000101
- LDI R16,low(RAMEND) //inicjalizacja stosu
- OUT SPL, R16
- LDI R16,high(RAMEND)
- OUT SPH, R16
- LDI R16,255
- OUT DDRD,R16
- //PWM
- LDI R16,0b10001000 //FOC1A ustawione na 1, czyki OC1A dziala jako wyjscie
- OUT TCCR1A,R16
- // N = 1
- LDI R16,0b00010001
- OUT TCCR1B,R16
- // ICR1 = 10 000
- // High bajt
- LDI R16, 0b00100111
- OUT ICR1H, R16
- //Low bajt
- LDI R16, 0b0001000
- OUT ICR1L, R16
- // Wypelnienie 2,7% OCR1 = 270
- LDI R16, MIN90H
- OUT OCR1AH, R16
- LDI R16, MIN90L
- OUT OCR1AL, R16
- //Program
- prog:
- // Wypelnienie 2,7% OCR1 = 270
- LDI R16, MIN90H
- OUT OCR1AH, R16
- LDI R16, MIN90L
- OUT OCR1AL, R16
- RCALL d0
- // Wypelnienie 13,3% +90 stopni
- LDI R16, PLS90H
- OUT OCR1AH, R16
- LDI R16, PLS90L
- OUT OCR1AL, R16
- RCALL d0
- RJMP prog
- d0:
- LDI R23, 255
- d01:
- LDI R24, 255
- d02:
- LDI R25, 10
- d03:
- DEC R25
- BRNE d03
- DEC R24
- BRNE d02
- DEC R23
- BRNE d01
- RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement