Traffic light system using 8051 Micro-Controller

SOFTWARE: KEIL MICRO VISION 4


SIMULATOR: PROTEUS 8.0



CIRCUIT DIAGRAM:

TRAFFIC LIGHT SYSTEM USING 8051 MICRO-CONTROLLER


CIRCUIT WORKING:

In this circuit ,I have used three traffic light. signal 1(P2.0 to P2.2) and signal 2 (P2.3 to P2.5) are connected to port 2 and signal 3(P3.0 to P3.2) is connected to port 3.Traffic light gets turned on as per the sequence provided in the program.

PROGRAM:


#include<reg51.h> //signal 1 sbit tl1r = P2^0; // red sbit tl1o = P2^1; // orange sbit tl1g = P2^2; // green //signal 2 sbit tl2r = P2^3; // red sbit tl2o = P2^4; // orange sbit tl2g = P2^5; // green //signal 3 sbit tl3r = P3^0; // red sbit tl3o = P3^1; // orange sbit tl3g = P3^2; // green void delay(int t); void trafficlight(void); void main() // main program { P2=0x00; // turned off the lights P3=0x00; // turned off the lights while(1) { trafficlight(); } } void delay(unsigned long int t) // delay routine { while(t>0) { unsigned long int i; for(i=1;i<10*1275;i++); t--; } } void trafficlight(void) // traffic light system program { P2= 0x11; // traffic signal control data P3= 0x04; /* tl1r=1; // signal 1 tl1o=0; tl1g=0; tl2r=0; // signal 2 tl2o=1; tl2g=0; tl3r=0; // signal 3 tl3o=0; tl3g=1; */ delay(100); // delay P2= 0x0c; // traffic signal control data P3= 0x02; /* tl1r=0; // signal 1 tl1o=0; tl1g=1; tl2r=1; // signal 2 tl2o=0; tl2g=0; tl3r=0; // signal 3 tl3o=1; tl3g=0; */ delay(100); // delay P2= 0x22; // traffic signal control data P3= 0x01; /* tl1r=0; // signal 1 tl1o=1; tl1g=0; tl2r=0; // signal 2 tl2o=0; tl2g=1; tl3r=1; // signal 3 tl3o=0; tl3g=0; */ delay(100); // delay }

PROGRAM DESCRIPTION:


I have provided logic '1' to turn on the required signal light and logic '0' to turn off the required signal light on the respective pins of port 2 and port 3.Delay is provided in between to provide synchronization between the signals.

VIDEO:





Comments

Popular posts from this blog

Digital Thermometer using 8051 and ADC 0808 Interfacing With 8051

how to display numbers on lcd?

To display custom characters on the lcd using 8051 micro-controller.