Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .def tmp = r16
- .cseg
- rjmp reset
- reset:
- ldi tmp, high(RAMEND)
- out SPH,tmp
- ldi tmp, low(RAMEND)
- out SPL,tmp
- //ledice
- ldi tmp, 0xff
- out DDRA, tmp
- out PORTA, tmp
- //buttoni
- /*ldi tmp, 0x00
- out DDRB, tmp
- ldi tmp, 0x01
- out PORTB, tmp
- */
- set // t flag na 1
- /*
- ldi r17, 0x80
- ldi r18, 0x01
- */
- ldi r17, 0xff
- ldi r18, 0xff
- clc
- set
- main:
- rcall delay
- rcall aktivnost1
- rjmp main
- aktivnost1:
- in tmp, PORTA
- ldi tmp, 0xfe
- out PORTA, tmp
- ret
- aktivnost2:
- in tmp, PORTA
- ldi tmp, 0xf7
- out PORTA, tmp
- ret
- aktivnost3:
- in tmp, PORTA
- ror tmp
- out PORTA, tmp
- ret
- aktivnost4: ;TRCECE SVJETLO KOJE OSTAVLJA UPALJENO
- in tmp, PORTA
- cpi tmp, 0x00
- brne a4_jump
- ldi tmp, 0xff
- rjmp a4_end
- a4_jump:
- clc
- ror tmp
- a4_end:
- out PORTA, tmp
- ret
- aktivnost5: ;PALI I GASI IZ VANA UNUTRA
- in tmp, PORTA
- cpi tmp, 0x00
- brne a5_jump
- clt
- a5_jump:
- cpi tmp, 0xff
- brne a5_jump2
- set
- a5_jump2:
- brtc a5_gasi
- //paljenje
- clc
- rol r17
- andi r17, 0b00001111
- clc
- ror r18
- andi r18, 0b11110000
- mov tmp, r17
- or tmp, r18
- rjmp a5_end
- a5_gasi:
- sec
- rol r17
- sec
- ror r18
- mov tmp, r17
- or tmp, r18
- a5_end:
- out PORTA, tmp
- ret
- aktivnost6: ;PALI IZVANA UNUTRA - GASI IZNUTRA VAN
- sec
- rol r17
- sec
- ror r18
- mov tmp, r17
- eor tmp, r18
- com tmp
- cpi tmp, 0xff
- brne end2
- clr r17
- clr r18
- end2:
- out PORTA, tmp
- ret
- aktivnost7: ;PALI IZVANA UNUTRA S TIME DA NE OSTAVLJA UPALJENO
- ;POSTAVITI R17 I R 18 NA 0x80 I 0x01
- in tmp, PORTA
- mov tmp, r17 ;r17 ima sto zelim prikazat
- or tmp, r18
- com tmp
- lsr r17
- lsl r18
- cpi tmp, 0xe7
- brne jump
- ldi r17, 0x80
- ldi r18, 0x01
- jump:
- out PORTA,tmp
- ret
- delay:
- clr r23
- clr r24
- ldi r25, 15
- delay_loop:
- dec r23
- brne delay_loop
- dec r24
- brne delay_loop
- dec r25
- brne delay_loop
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement