Traffic light system using 8051 Micro-Controller
SOFTWARE: KEIL MICRO VISION 4
SIMULATOR: PROTEUS 8.0
CIRCUIT DIAGRAM:
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.
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:
#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:
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
Post a Comment