LDI r16, 0xFF ;Carga todos los bits en 1 <<encendidos>> en el registro 16
OUT DDRB, r16 ;Inicializa la salida de la data en el registro B para los pines OUT DDRD, r16 bucle: // aqui tenemos el 1 SBI PORTB, 5 CALL delay CBI PORTB, 5 CALL delay // aqui tenemos el 2 SBI PORTB, 4 CALL delay CBI PORTB, 4 CALL delay // aqui tenemos el 3 SBI PORTB, 5 SBI PORTB, 4 CALL delay CBI PORTB, 5 CBI PORTB, 4 CALL delay // aqui tenemos el 4 SBI PORTB, 3 CALL delay CBI PORTB, 3 CALL delay // aqui tenemos el 5 SBI PORTB, 3 SBI PORTB, 5 CALL delay CBI PORTB, 3 CBI PORTB, 5 CALL delay // aqui tenemos el 6 SBI PORTB, 3 SBI PORTB, 4 CALL delay CBI PORTB, 3 CBI PORTB, 4 CALL delay // aqui tenemos el 7 SBI PORTB, 3 SBI PORTB, 4 SBI PORTB, 5 CALL delay CBI PORTB, 3 CBI PORTB, 4 CBI PORTB, 5 CALL delay
RJMP bucle ;Reinicia el loop (bucle)
;Delay para reducir el ciclo del bucle delay:
LDI r16, 25 ;Carga en el registro 16 la cantidad de sgds para elencendido del
led salida_bucle: LDI r24, low(100) ;Establece el registro 24 como salida en low (LED apagado) LDI r25, high(100) ;Establece el registro 25 como salida en high (LED encendido ) delay_bucle: ADIW r24, 1 ;Anade 1 bit al registro 25 para hacer el blinkeo desdelos registro s BRNE delay_bucle DEC r16 BRNE salida_bucle RET