20 de marzo de 2017

Semaforo de dos vias



Abrimos  mikroC PRO for PIC
Next
Nombramos el archivo
Elegimos la ruta o carpeta donde se guardara
Elegimos el PIC16F887
Elegimos la frecuencia de 8MHz
Next
Incluimos todas las librerías
Marcamos Open Edit Project
Editamos los pines de la siguiente manera

Ahora copiamos el siguiente programa:

//LV=led verde, LA=led amarillo, LR=led rojo

//semaforo 1
#define  LV1  PORTA.RA0
#define  LA1  PORTA.RA1
#define  LR1  PORTA.RA2
//semaforo 2
#define  LV2  PORTA.RA3
#define  LA2  PORTA.RA4
#define  LR2  PORTA.RA5
void main() {
TRISA=0;
PORTA=0;

ANSEL=0;
ANSELH=0;

SEMAFORO1:
LV1=1;
LR2=1;
LR1=0;
LV2=0;
delay_ms(8000);  //tiempo de encendido de luz verde y roja (milisegundos)
goto AMARILLO1;

SEMAFORO2:
LV1=0;
LV2=1;
LR2=0;
LR1=1;
delay_ms(8000);   //tiempo de encendido de luz verde y roja (milisegundos)
goto AMARILLO2;

AMARILLO1:
LV1=0;
delay_ms(300);  //tiempo en estado bajo de luz verde (parpadeo)
LV1=1;
delay_ms(300);  //tiempo en estado alto de luz verde (parpadeo)
LV1=0;
delay_ms(300);  //tiempo en estado bajo de luz verde (parpadeo)
LV1=1;
delay_ms(300);  //tiempo en estado alto de luz verde (parpadeo)
LV1=0;
delay_ms(300);  //tiempo en estado bajo de luz verde (parpadeo)
LV1=1;
delay_ms(300);  //tiempo en estado alto de luz verde (parpadeo)
LV1=0;
LA1=1;
delay_ms(550);  //tiempo de encendido de luz amarilla
LA1=0;
LR1=1;
goto SEMAFORO2;

AMARILLO2:
LV2=0;
delay_ms(300);  //tiempo en estado bajo de luz verde (parpadeo)
LV2=1;
delay_ms(300);  //tiempo en estado alto de luz verde (parpadeo)
LV2=0;
delay_ms(300);  //tiempo en estado bajo de luz verde (parpadeo)
LV2=1;
delay_ms(300);  //tiempo en estado alto de luz verde (parpadeo)
LV2=0;
delay_ms(300);  //tiempo en estado bajo de luz verde (parpadeo)
LV2=1;
delay_ms(300);  //tiempo en estado alto de luz verde (parpadeo)
LV2=0;
LA2=1;
delay_ms(550);  //tiempo de encendido de luz amarilla
LA2=0;
LR2=1;
goto SEMAFORO1;



}

Una vez pegado el programa, seleccionamos la opción Build


Ahora abrimos PROTEUS
Y una vez armado el circuito, hacemos doble click sobre el PIC
En Program File: elegimos el archivo.hex de la carpeta donde                     guardamos el programa del semáforo.

Elegimos la frecuencia de 8MHz.

LISTO !!! 

Simulamos el circuito


1 comentario: