Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .NOLIST
- .INCLUDE "m8def.inc"
- .LIST
- .DEF can = R17
- .DEF kan = R18
- .DEF ban = R19
- .equ c1 = 1000
- .equ c2 = 30000
- .equ c3 = 15000
- .equ c4 = 63500
- init:
- // Stack
- ldi can,High(RAMEND)
- out SPH,can
- ldi can,LOW(RAMEND)
- out SPL,can
- // Timer setzen
- ldi R25,HIGH(c1)
- ldi R24,LOW(c1)
- // Ausgรคnge
- ldi can,0xff
- out ddrc,can
- ldi kan,0xff
- out ddrd,kan
- ldi ban,0xff
- out ddrb,ban
- // Timer
- ldi can, (1<<ISC01) | (1<<ISC11)
- out MCUCR, can
- ldi can, (1<<INT0) | (1<<INT1)
- out GICR, can
- sei
- Main:
- step1:
- sbiw r24,1
- ldi can,0b00000001
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step2:
- sbiw r24,1
- ldi can,0b00000010
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step3:
- sbiw r24,1
- ldi can,0b00000100
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step4:
- sbiw r24,1
- ldi can,0b00001000
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step5:
- sbiw r24,1
- ldi can,0b00010000
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step6:
- sbiw r24,1
- ldi can,0b00100000
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step7:
- sbiw r24,1
- ldi can,0b00000000
- out portc,can
- ldi ban,0b000000001
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step8:
- sbiw r24,1
- ldi can,0b00000000
- out portc,can
- ldi ban,0b000000010
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step9:
- sbiw r24,1
- ldi can,0b00000000
- out portc,can
- ldi ban,0b000000100
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step91:
- sbiw r24,1
- ldi can,0b00000000
- out portc,can
- ldi ban,0b000000100
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step10:
- sbiw r24,1
- ldi can,0b00000000
- out portc,can
- ldi ban,0b000000010
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step11:
- sbiw r24,1
- ldi can,0b00000000
- out portc,can
- ldi ban,0b000000001
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step12:
- sbiw r24,1
- ldi can,0b00100000
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step13:
- sbiw r24,1
- ldi can,0b00010000
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step14:
- sbiw r24,1
- ldi can,0b00001000
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step15:
- sbiw r24,1
- ldi can,0b00000100
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step16:
- sbiw r24,1
- ldi can,0b00000010
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- step17:
- sbiw r24,1
- ldi can,0b00000001
- out portc,can
- ldi ban,0b000000000
- out portb,ban
- ldi kan,0b00000000
- out portd,kan
- ldi R25,HIGH(c3)
- ldi R24,LOW(c3)
- rcall Looptimer
- reti
- Looptimer:
- ldi XH, HIGH(c3)
- ldi XL, LOW(c3)
- Loop:
- sbiw XL, 1
- brne Loop
- reti
- .exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement