Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.25 KB | None | 0 0
  1. .def tmp = r16
  2. .def mask = r20
  3. .def step = r21
  4. .def mtp = r22
  5.  
  6. .equ delayCnt = 2
  7.  
  8. .cseg
  9.  
  10. rjmp reset
  11.  
  12. .org 0x00C
  13.     rjmp blink
  14.  
  15. .org 0x010
  16.     rjmp blink
  17.  
  18. reset:
  19.     ldi tmp, low(RAMEND)
  20.     out SPL, tmp
  21.     ldi tmp, high(RAMEND)
  22.     out SPH, tmp
  23.  
  24.     ldi tmp, 0xff
  25.     out DDRA, tmp
  26.     out PORTA, tmp
  27.     out PORTB, tmp
  28.  
  29.     ldi tmp, 0x00
  30.     out DDRB, tmp
  31.  
  32.     ldi mtp, 0x00
  33.  
  34.     ldi mask, 0x01
  35.     ldi step, 0x0a
  36.  
  37.     ldi tmp, (1 << PD5)
  38.     out DDRD, tmp
  39.  
  40.     ldi tmp, (1 << COM1A0) | (1 << WGM10)
  41.     out TCCR1A, tmp
  42.  
  43.     ldi tmp, (1 << WGM12) | (1 << CS12)
  44.     out TCCR1B, tmp
  45.  
  46.     ldi tmp, (1 << TOIE1) | (1 << OCIE1A)
  47.     out TIMSK, tmp
  48.  
  49.     ldi tmp, high(125)
  50.     out OCR1AH, tmp
  51.     ldi tmp, low(125)
  52.     out OCR1AL, tmp
  53.  
  54.     sei
  55.  
  56. main:
  57.     sbis PINB, 0
  58.         rcall smanji
  59.     sbis PINB, 1
  60.         rcall povecaj
  61.     rcall delay
  62. rjmp main
  63.  
  64. blink:
  65.     in tmp, PORTA
  66.     eor tmp, mask
  67.     out PORTA, tmp
  68. reti
  69.  
  70. smanji:
  71.     out DDRD, mtp
  72.     in tmp, OCR1AL
  73.  
  74.     cpi tmp, 0x02
  75.     brlo end
  76.     sub tmp, step
  77.     end:
  78.         out OCR1AL, tmp
  79. ret
  80.  
  81. povecaj:
  82.     out DDRD, mtp
  83.     in tmp, OCR1AL
  84.  
  85.     cpi tmp, 0xfd
  86.     brsh kraj
  87.     add tmp, step
  88.     kraj:
  89.         out OCR1AL, tmp
  90. ret
  91.  
  92. delay:
  93.     clr r17
  94.     clr r18
  95.     ldi r19, delayCnt
  96.     delay_loop:
  97.         dec r17
  98.         brne delay_loop
  99.             dec r18
  100.             brne delay_loop
  101.                 dec r19
  102.                 brne delay_loop
  103. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement