Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. .def tmp = r16
  2. .def step = r18
  3. .def delayCnt = r19
  4. .def cnt = r24
  5.  
  6. .cseg
  7. rjmp reset
  8.  
  9. .org $00C
  10. rjmp timer1
  11.  
  12. reset:
  13. ldi tmp, low(RAMEND)
  14. out SPL, tmp
  15. ldi tmp, high(RAMEND)
  16. out SPH, tmp
  17.  
  18. ldi tmp, (1<<PD5)
  19. out DDRD, tmp
  20.  
  21. ldi tmp, (1 << WGM10)
  22. out TCCR1A, tmp
  23.  
  24. ldi tmp, (1 << CS11) | (1 << CS10)
  25. out TCCR1B, tmp
  26.  
  27. ldi tmp, 0xf0
  28. out DDRB, tmp
  29.  
  30. ldi tmp, 0x0f
  31. out PORTB, tmp
  32.  
  33. ldi step, 0x10
  34.  
  35. ldi tmp, high(128)
  36. out OCR1AH, tmp
  37. ldi tmp, low(128)
  38. out OCR1AL, tmp
  39.  
  40. ldi tmp, (1 << OCIE1A)
  41. out TIMSK, tmp
  42.  
  43. ldi delayCnt, 1
  44.  
  45. sei
  46.  
  47. main:
  48. sbis PINB,0
  49. rcall smanji
  50.  
  51. sbis PINB,1
  52. rcall povecaj
  53.  
  54. rcall delay
  55. rjmp main
  56.  
  57. timer1:
  58. in tmp, DDRD
  59. com tmp
  60. out DDRD, tmp
  61. reti
  62.  
  63. smanji:
  64. ldi tmp, 0x10
  65. in cnt, OCR1AL
  66. cpse cnt, tmp
  67. sub cnt, step
  68. out OCR1AL, cnt
  69. ret
  70.  
  71. povecaj:
  72. ldi tmp, 0xe0
  73. in cnt, OCR1AL
  74. cpse cnt, tmp
  75. add cnt, step
  76. out OCR1AL, cnt
  77. ret
  78.  
  79.  
  80. delay:
  81. clr r20
  82. clr r21
  83. mov r22, delayCnt
  84. delayLoop:
  85. dec r20
  86. brne delayLoop
  87. dec r21
  88. brne delayLoop
  89. dec r22
  90. brne delayLoop
  91. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement