Codigo:
#include <stdint.h>
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRD = 0xFF;//Sale Todo
uint8_t Parpadeo_Inicio;
uint8_t Parpadeo_Fin;
while(1) //Bucle Infinito
{
for (PORTD = 0x01; PORTD != 0; PORTD <<= 1) //Avance Izquierdo de Encencido con 1 en HEX como Inicio
{
_delay_ms(100);
}
for (PORTD = 0x80; PORTD != 0; PORTD >>= 1) //Avance Derecho de Encencido con 128 en HEX como Inicio
{
_delay_ms(100);
}
for (Parpadeo_Inicio=0; Parpadeo_Inicio<=3; Parpadeo_Inicio++) //Parpadeo Triple al Iniciar
{
if (PORTD == 0x01)
{
PORTD = 0x01; //Encender el LED
_delay_ms(500);
PORTD = 0x00; //Apagar el LED
_delay_ms(500);
}
}
for (Parpadeo_Fin=0; Parpadeo_Fin<=3; Parpadeo_Fin++) //Parpadeo Triple al Terminar
{
if (PORTD == 0x80)
{
PORTD = 0x80; //Encender el LED
_delay_ms(500);
PORTD = 0x00; //Apagar el LED
_delay_ms(500);
}
}
}
}