Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .def tmp = r16
- .cseg ;$000
- rjmp reset
- ; izazivanje prekida -> flag -> rcall $002 -> rjmp subrutina -> reti
- .org $002
- rjmp turnOn
- .org $004
- rjmp turnOff
- reset:
- ldi tmp, high(RAMEND)
- out SPH, tmp
- ldi tmp, low(RAMEND)
- out SPL, tmp
- ldi tmp, 0xff
- out DDRA, tmp
- out PORTA, tmp
- ldi tmp, (1 << ISC11) | (1 << ISC10) | (1 << ISC01)
- out MCUCR, tmp
- ldi tmp, (1 << INT1) | (1 << INT0)
- out GICR, tmp
- sei
- main:
- rjmp main
- turnOn:
- in tmp, PORTA
- clc
- rol tmp
- out PORTA, tmp
- rcall delay
- reti
- turnOff:
- in tmp, PORTA
- sec
- ror tmp
- out PORTA, tmp
- rcall delay
- reti
- delay:
- clr r17
- clr r18
- ldi r19, 12
- delay_loop:
- dec r17
- brne delay_loop
- dec r18
- brne delay_loop
- dec r19
- brne delay_loop
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement