Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. ; PROJEKT KROKOWIEC ZE STEROWANIEM PEŁNOKROKOWYM 2
  2. .include "m32def.inc"
  3. .def licznik1 = R18
  4. .def licznik2 = R19
  5. .def licznik3 = R20
  6. .org 0x0000
  7. jmp Start
  8. ; miejsce na ISRy przerwan
  9. Start:
  10. ; przygotowania STOSu
  11. ldi R17, HIGH(RAMEND)
  12. out SPH, R17
  13. ldi R17, LOW(RAMEND)
  14. out SPL, R17
  15.  
  16. ; robimy standardowa PRZESTRZEN We/Wy
  17. ldi R21, 0b11110000
  18. out DDRB, R21 ; krokowiec bedzie sterowany z pinow PB4 – PB7
  19. ldi R22, 43 ; definicje przerwan, jeśli beda potrzebne
  20. //ldi R23, 1
  21. ; zaczynamy krecic silniczkiem
  22. Procedura_krecenia:
  23. ldi R16, 0b10010000
  24. out PORTB, R16
  25. rcall Opoznienie
  26. nop
  27. ldi R16, 0b00110000
  28. out PORTB, R16
  29. rcall Opoznienie
  30. nop
  31. ldi R16, 0b01100000
  32. out PORTB, R16
  33. rcall Opoznienie
  34. nop
  35. ldi R16, 0b11000000
  36. out PORTB, R16
  37. rcall Opoznienie
  38. nop
  39. dec R22
  40. brne Procedura_krecenia
  41. //dec R23
  42. //brne Procedura_krecenia
  43. rjmp Koniec ; i tak w nieskonczonosc…
  44.  
  45. ; procedura Opoznienie sluzyc będzie do sterowania czestotliwoscia generowanych impulsów elektrycznych
  46. Opoznienie:
  47. ldi licznik3, 12
  48. LoopA:
  49. ldi licznik2, 8
  50. LoopA0:
  51. ldi licznik1, 161
  52. LoopA1:
  53. dec licznik1
  54. brne LoopA1
  55. dec licznik2
  56. brne LoopA0
  57. dec licznik3
  58. brne LoopA
  59. ret
  60.  
  61. Koniec:
  62. ldi R16,0
  63. out PORTB, R16
  64. rjmp Koniec
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement