.include "m8def.inc"
ldi acc, 127
out SPL, acc
rjmp RESET ;reset handle
.def T1 = r1
;.def T2 = r2
.def temp = r19
.def acc=r20
.def rzero=r25
.def rone=r26
;* Resets the data direction register D
;* Defines
.equ led = 2 ;LED at PD6
;* Code
RESET:
sei
ldi rzero, 0
ldi rone, 0b01111111
ldi acc, 255
out DDRB, acc ;connect LED to PORTD pin 6
ldi acc, 0b01111111
out PORTB, acc
;* Main program
;* This part will let the LED go on and off by X
;* Register variables
.equ X = 1 ;enter delaytime X
flash:
dec r11
brne flash
out PORTB, rzero ;LED on
ldi temp, X ;X sec delay
rcall init_loop
rjmp off
off:
dec r11
brne off
out PORTB, rone ;LED off
ldi temp, X ;X sec delay
rcall init_loop
rjmp flash ;another run
init_loop:
mov r11, r10
ret