
#include <16f628.h>                    // Selecciona el PIC
#fuses XT,NOWDT,NOPROTECT,PUT,BROWNOUT // Opciones de configuración
#use delay(clock=4000000)              // Velocidad del Cristal : 4 Mhz
#use standard_io(A)					      // puerto A como digital
#use fixed_io(a_outputs=PIN_A0,PIN_A1,PIN_A2,PIN_A3)
#use standard_io(B)					      // puerto B como digital
#use fixed_io(b_outputs=PIN_B5)

Long const tt=500;
Long const tz=200;

///DECLARACIONES DE FUNCIONES

void derecha(void);					      // ilumina led's derecha a izquierda y buzz
void izquierda(void);				      // ilumina led's izquierda a derecha


///PROGRAMA

void main(void)
{
   
	set_tris_a(0b00000000); 	         // PORTA como salida
	set_tris_b(0b00000000);			      // PORTB como salida
	disable_interrupts(GLOBAL);	      // todas las interrupciones desactivadas

	do{								         // bucle...
		derecha();
		izquierda();
		}while(TRUE);				         // ...infinito
}

void derecha(void)
{
	output_high(PIN_A0);
	delay_ms(tt);
	output_low(PIN_A0);
	output_high(PIN_A1);
	delay_ms(tt);
	output_low(PIN_A1);
	output_high(PIN_A2);
	delay_ms(tt);
	output_low(PIN_A2);
	output_high(PIN_A3);
	delay_ms(tt-tz);

	output_high(PIN_B5);
	delay_ms(tz);
	output_low(PIN_B5);


}

void izquierda(void)
{
	output_low(PIN_A3);
	output_high(PIN_A2);
	delay_ms(tt);
	output_low(PIN_A2);
	output_high(PIN_A1);
	delay_ms(tt);
	output_low(PIN_A1);
	output_high(PIN_A0);
	delay_ms(tt);
	output_low(PIN_A0);
	delay_ms(tt);

}

