Advertisement
Guest User

Untitled

a guest
Oct 31st, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .def tmp = r16
  2.  
  3.  
  4. .cseg
  5.    
  6. rjmp reset
  7.  
  8. reset:
  9.  
  10.     ldi tmp, high(RAMEND)
  11.     out SPH,tmp
  12.     ldi tmp, low(RAMEND)
  13.     out SPL,tmp
  14.  
  15.     //ledice
  16.     ldi tmp, 0xff
  17.     out DDRA, tmp
  18.     out PORTA, tmp
  19.  
  20.     //buttoni
  21.     /*ldi tmp, 0x00
  22.     out DDRB, tmp
  23.  
  24.     ldi tmp, 0x01
  25.     out PORTB, tmp
  26.     */
  27.  
  28.     set // t flag na 1
  29.  
  30.     /*
  31.     ldi r17, 0x80
  32.     ldi r18, 0x01
  33.     */
  34.     ldi r17, 0xff
  35.     ldi r18, 0xff
  36.  
  37.     clc
  38.     set
  39.  
  40. main:
  41.  
  42.     rcall delay
  43.     rcall aktivnost1
  44.  
  45. rjmp main
  46.  
  47. aktivnost1:
  48.     in tmp, PORTA
  49.  
  50.     ldi tmp, 0xfe
  51.  
  52.     out PORTA, tmp
  53. ret
  54.  
  55. aktivnost2:
  56.     in tmp, PORTA
  57.  
  58.     ldi tmp, 0xf7
  59.  
  60.     out PORTA, tmp
  61. ret
  62.  
  63. aktivnost3:
  64.     in tmp, PORTA
  65.    
  66.     ror tmp
  67.  
  68.     out PORTA, tmp
  69. ret
  70.  
  71. aktivnost4: ;TRCECE SVJETLO KOJE OSTAVLJA UPALJENO
  72.     in tmp, PORTA
  73.  
  74.     cpi tmp, 0x00
  75.     brne a4_jump
  76.         ldi tmp, 0xff
  77.         rjmp a4_end
  78.     a4_jump:
  79.  
  80.     clc
  81.     ror tmp
  82.  
  83.     a4_end:
  84.     out PORTA, tmp
  85. ret
  86.  
  87. aktivnost5: ;PALI I GASI IZ VANA UNUTRA
  88.     in tmp, PORTA
  89.  
  90.     cpi tmp, 0x00
  91.     brne a5_jump
  92.         clt
  93.     a5_jump:
  94.  
  95.     cpi tmp, 0xff
  96.     brne a5_jump2
  97.         set
  98.     a5_jump2:
  99.  
  100.     brtc a5_gasi
  101.     //paljenje
  102.         clc
  103.         rol r17
  104.         andi r17, 0b00001111
  105.         clc
  106.         ror r18
  107.         andi r18, 0b11110000
  108.    
  109.         mov tmp, r17
  110.         or tmp, r18
  111.         rjmp a5_end
  112.  
  113.     a5_gasi:
  114.         sec
  115.         rol r17
  116.         sec
  117.         ror r18
  118.        
  119.         mov tmp, r17
  120.         or tmp, r18
  121.  
  122.     a5_end:
  123.  
  124.     out PORTA, tmp
  125.  
  126. ret
  127.  
  128. aktivnost6: ;PALI IZVANA UNUTRA - GASI IZNUTRA VAN
  129.     sec
  130.     rol r17
  131.     sec
  132.     ror r18
  133.  
  134.     mov tmp, r17
  135.     eor tmp, r18
  136.     com tmp
  137.  
  138.     cpi tmp, 0xff
  139.     brne end2
  140.         clr r17
  141.         clr r18
  142.  
  143. end2:
  144.     out PORTA, tmp
  145. ret
  146.  
  147. aktivnost7: ;PALI IZVANA UNUTRA S TIME DA NE OSTAVLJA UPALJENO
  148. ;POSTAVITI R17 I R 18 NA 0x80 I 0x01
  149.  
  150.     in tmp, PORTA
  151.    
  152.  
  153.     mov tmp, r17 ;r17 ima sto zelim prikazat
  154.     or tmp, r18
  155.     com tmp
  156.  
  157.  
  158.     lsr r17
  159.     lsl r18
  160.     cpi tmp, 0xe7
  161.     brne jump
  162.         ldi r17, 0x80
  163.         ldi r18, 0x01
  164.     jump:
  165.  
  166.     out PORTA,tmp
  167.        
  168. ret
  169.  
  170.  
  171.  
  172. delay:
  173.     clr r23
  174.     clr r24
  175.     ldi r25, 15
  176.  
  177.     delay_loop:
  178.         dec r23
  179.         brne delay_loop
  180.             dec r24
  181.             brne delay_loop
  182.                 dec r25
  183.                 brne delay_loop
  184. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement