Advertisement
KgCro

L04 Z02

Oct 29th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. .def tmp = r16
  2.  
  3. .cseg
  4.  
  5. rjmp reset
  6.  
  7. //adrese moraju ic po redu 002 -> 004 -> ...
  8. .org $002
  9. rjmp turnOn
  10.  
  11. .org $004
  12. rjmp turnOff
  13.  
  14. reset:
  15. ldi tmp, high(RAMEND)
  16. out SPH, tmp
  17. ldi tmp, low(RAMEND)
  18. out SPL, tmp
  19.  
  20. ldi tmp, 0xff
  21. out DDRA, tmp
  22. out PORTA, tmp
  23.  
  24. ldi tmp, (1 << ISC11) | (1 << ISC01) //
  25. out MCUCR, tmp
  26.  
  27. ldi tmp, (1 << INT1) | (1 << INT0)
  28. out GICR, tmp
  29.  
  30. sei
  31.  
  32. main:
  33.  
  34. rjmp main
  35.  
  36. turnOn:
  37. in tmp, PORTA
  38. lsr tmp
  39.  
  40. out PORTA, tmp
  41. rcall debounce
  42. reti
  43.  
  44. turnOff:
  45. in tmp, PORTA
  46. sec
  47. rol tmp
  48.  
  49. out PORTA, tmp
  50. rcall debounce
  51. reti
  52.  
  53. debounce:
  54. rcall delay
  55. ldi tmp, (1 << INTF1) | (1 << INTF0)
  56. out GIFR, tmp
  57. ret
  58.  
  59. delay:
  60. push r17
  61. push r18
  62. push r19
  63.  
  64. clr r17
  65. clr r18
  66. ldi r19, 8
  67.  
  68. delay_loop:
  69. dec r17
  70. brne delay_loop
  71. dec r18
  72. brne delay_loop
  73. dec r19
  74. brne delay_loop
  75. pop r19
  76. pop r18
  77. pop r17
  78. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement