Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- jmp RESET
- jmp INT0_RUTIN
- jmp INT1_RUTIN
- .org $2a;fint
- RESET:
- ;avbrott
- ldi r16,$0F
- out MCUCR,r16 ; set int0 och int1 att interrupta stigande
- ldi r16,(1<<INT0|1<<INT1);enable interrupt int0 int1
- out GICR,r16 ;
- sei
- ;portar
- clr r16
- out DDRD,r16
- ser r16
- out DDRA,r16
- out DDRB,r16
- ;stackpekare
- ldi r16,HIGH(RAMEND)
- out SPH,r16
- ldi r16,LOW(RAMEND)
- out SPH,r16
- clr r20
- sts $200,r20
- sts $201,r20
- sts $202,r20
- sts $203,r20
- LABEL:
- rjmp LABEL
- INT0_RUTIN:
- clr YL
- LOAP:
- ld r20,Y
- inc r20
- sbrc YL,0
- cpi r20,$06
- breq NOLLA
- cpi r20,$0A
- breq NOLLA
- st Y,r20
- rjmp END
- NOLLA:
- clr r20
- st Y,r20
- inc YL
- cpi YL,4
- brne LOAP
- END:
- reti
- INT1_RUTIN:
- inc r19
- out PORTB,r19
- andi r19,$3
- rcall LOOKUP
- reti
- LOOKUP:
- ldi ZH,HIGH(TABELL*2)
- ldi ZL,LOW(TABELL*2)
- ldi YH,$02
- mov YL,r19
- ld r18,Y
- add ZL,r18
- lpm r17,Z
- out PORTA,r17
- ret
- TABELL:
- .db $3F,$06,$5B,$4F,$66,$6d,$7C,$07,$7F,$67
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement