Está en la página 1de 8

#include <16f628a.

h> //Declara el pic


#device PIC16F628A
#list
#fuses HS, NOWDT, NOLVP, NOPROTECT
#use

DELAY(CLOCK=4M)

#byte

TRISB=0x86

#byte

PORTB=0x06

#byte
#byte

TRISA=0x85
PORTA=0x05

void main() { //funcion principal


TRISB= 0b0000000; //todo el puerto b como salida
TRISA= 0b0000000;
//inicializacion
PORTB= 0;
PORTA= 0;
while(true) { //bucle principal
PORTB= 0b1000000;
delay_ms(80); //un segundo
PORTB= 0b0100000;
delay_ms(80); //un segundo
PORTB= 0b0010000;
delay_ms(80); //un segundo
PORTB= 0b0001000;
delay_ms(80); //un segundo
PORTB= 0b0000100;
delay_ms(80); //un segundo
PORTB= 0b0000010;
delay_ms(80);
PORTB= 0b0000001;
delay_ms(80);
PORTB= 0b0000000;
delay_ms(80);

// prender uno por uno el led salida b

PORTA= 0b0000001;

// parpadeo de la salida a

delay_ms(80); //un segundo


PORTA= 0b0000010;
delay_ms(80); //un segundo
PORTA= 0b0000100;
delay_ms(80); //un segundo
PORTA= 0b0001000;
delay_ms(80);
PORTA= 0b0000000;
delay_ms(80);
PORTA= 0b0000001;
delay_ms(80); //un segundo
PORTA= 0b0000010;
delay_ms(80); //un segundo
PORTA= 0b0000100;
delay_ms(80); //un segundo
PORTA= 0b0001000;
delay_ms(80);
PORTA= 0b0000000;
delay_ms(80);
PORTB= 0b1111111; // parpadep de la salida b
delay_ms(80); //un segundo
PORTB= 0b0000000;
delay_ms(80); //un segundo
PORTB= 0b1111111;
delay_ms(80); //un segundo
PORTB= 0b0000000;
delay_ms(80); //un segundo
PORTB= 0b1111111;
delay_ms(80); //un segundo
PORTA= 0b0000001;

// parpadeo de la salida a

delay_ms(80); //un segundo

PORTA= 0b0000010;
delay_ms(80); //un segundo
PORTA= 0b0000100;
delay_ms(80); //un segundo
PORTA= 0b0001000;
delay_ms(80);
PORTA= 0b0000000;
delay_ms(80);
PORTA= 0b0000001;
delay_ms(80); //un segundo
PORTA= 0b0000010;
delay_ms(80); //un segundo
PORTA= 0b0000100;
delay_ms(80); //un segundo
PORTA= 0b0001000;
delay_ms(80);
PORTA= 0b0000000;
delay_ms(80);
PORTA= 0b1111111; // parpadeo de las dos salidas juntas
PORTB= 0b1111111;
delay_ms(80);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(80);
PORTA= 0b1111111;
PORTB= 0b1111111;
delay_ms(80);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(80);
PORTA= 0b1111111;
PORTB= 0b1111111;

delay_ms(80);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(80);
PORTB= 0b1111111; // parpadep de la salida b
delay_ms(50); //un segundo
PORTB= 0b0000000;
delay_ms(50); //un segundo
PORTB= 0b1111111;
delay_ms(50); //un segundo
PORTB= 0b0000000;
delay_ms(50); //un segundo
PORTB= 0b1111111;
delay_ms(50); //un segundo
PORTB= 0b0000000;
delay_ms(50);
PORTA= 0b0001111;

// parapdeo de salida a

delay_ms(50); //un segundo


PORTA= 0b0000000;
delay_ms(50); //un segundo
PORTA= 0b0001111;
delay_ms(50); //un segundo
PORTA= 0b0000000;
delay_ms(50);
PORTA= 0b1111111; // parpadeo de las dos salidas juntas
PORTB= 0b1111111;
delay_ms(50);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(50);
PORTA= 0b1111111;
PORTB= 0b1111111;

delay_ms(50);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(50);
PORTA= 0b1111111;
PORTB= 0b1111111;
delay_ms(50);
PORTA= 0b0000000;
PORTB= 0b0000000;
PORTB= 0b1111111; // parpadep de la salida b
delay_ms(50); //un segundo
PORTB= 0b0000000;
delay_ms(50); //un segundo
PORTB= 0b1111111;
delay_ms(50); //un segundo
PORTB= 0b0000000;
delay_ms(50); //un segundo
PORTB= 0b1111111;
delay_ms(50); //un segundo
PORTB= 0b0000000;
delay_ms(50);
PORTA= 0b0001111;

// parapdeo de salida a

delay_ms(50); //un segundo


PORTA= 0b0000000;
delay_ms(50); //un segundo
PORTA= 0b0001111;
delay_ms(50); //un segundo
PORTA= 0b0000000;
delay_ms(50);
PORTA= 0b0001000; // parpadeo de las dos salidas juntas
PORTB= 0b1000000;
delay_ms(80);

PORTA= 0b0001100;
PORTB= 0b1100000;
delay_ms(80);
PORTA= 0b0001110;
PORTB= 0b1110000;
delay_ms(80);
PORTA= 0b0001111;
PORTB= 0b1111000;
delay_ms(80);
PORTA= 0b0001111;
PORTB= 0b1111100;
delay_ms(80);
PORTA= 0b0001111;
PORTB= 0b1111110;
delay_ms(80);
PORTA= 0b1111111;
PORTB= 0b1111111;
delay_ms(200);
PORTA= 0b1111111; // parpadeo de las dos salidas juntas
PORTB= 0b1111111;
delay_ms(100);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(100);
PORTA= 0b1111111;
PORTB= 0b1111111;
delay_ms(100);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(100);
PORTA= 0b1111111;
PORTB= 0b1111111;

delay_ms(100);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(100);
PORTA= 0b1111111;
PORTB= 0b1111111;
delay_ms(100);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(100);
PORTA= 0b1111111;
PORTB= 0b1111111;
delay_ms(50);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(50);
PORTA= 0b1111111;
PORTB= 0b1111111;
delay_ms(50);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(50);
PORTA= 0b1111111;
PORTB= 0b1111111;
delay_ms(50);
PORTA= 0b0000000;
PORTB= 0b0000000;
delay_ms(50);
PORTA= 0b1111111;
PORTB= 0b1111111;
delay_ms(50);
PORTA= 0b0000000;

PORTB= 0b0000000;
delay_ms(50);
}
}