Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. .def tmp = r16
  2.  
  3. .cseg
  4. rjmp reset
  5.  
  6. reset:
  7. ldi tmp, high(RAMEND)
  8. out SPH, tmp
  9. ldi tmp, low(RAMEND)
  10. out SPL, tmp
  11.  
  12. ldi tmp, (1 << PD4)
  13. out DDRD, tmp
  14.  
  15. ; 9 bit phase correct PWM
  16. ldi tmp, (1 << COM1B1) | (1 << COM1B0) | (1 << WGM11) ; COM1B0 je dodan na za inverting
  17. out TCCR1A, tmp
  18.  
  19. ldi tmp, (1 << CS10)
  20. out TCCR1B, tmp
  21.  
  22. ; foc1x = fclk / (2 * N * (1 + TOP)) TOP = OCR1A
  23. ; N = fclk / (foc1 * (1 + TOP))
  24. ; N = 7372800 / (20 * 256)
  25. ; N = 1440 -> N = 1024
  26.  
  27. ; foc1 = 7372800 / (1024 * (1 + 255))
  28. ; foc1 = 28.125 HZ
  29.  
  30. ; odrediti duty cicle od 50% u ocr1b registru
  31. ; DC = CMP / TOP
  32. ; CMP = DC * TOP
  33. ; CMP = 0.5 * 512
  34. ; CMP = 255
  35.  
  36. ldi tmp, high(5)
  37. out OCR1BH, tmp
  38. ldi tmp, low(5)
  39. out OCR1BL, tmp
  40.  
  41. main:
  42. rjmp main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement