Traffic light controller

 #include <reg51.h>

sbit R1 = P1^0;  // Red LED - Road 1
sbit Y1 = P1^1;  // Yellow LED - Road 1
sbit G1 = P1^2;  // Green LED - Road 1

sbit R2 = P1^3;  // Red LED - Road 2
sbit Y2 = P1^4;  // Yellow LED - Road 2
sbit G2 = P1^5;  // Green LED - Road 2

void delay(unsigned int time) {
    unsigned int i, j;
    for (i = 0; i < time; i++)
        for (j = 0; j < 1275; j++);
}

void main() {
    while (1) {
        // Road 1: Green, Road 2: Red
        G1 = 1; Y1 = 0; R1 = 0;
        G2 = 0; Y2 = 0; R2 = 1;
        delay(500);  // Wait ~5 sec

        // Road 1: Yellow, Road 2: Red
        G1 = 0; Y1 = 1; R1 = 0;
        delay(200);  // Wait ~2 sec

        // Road 1: Red, Road 2: Green
        G1 = 0; Y1 = 0; R1 = 1;
        G2 = 1; Y2 = 0; R2 = 0;
        delay(500);  // Wait ~5 sec

        // Road 1: Red, Road 2: Yellow
        G2 = 0; Y2 = 1; R2 = 0;
        delay(200);  // Wait ~2 sec
    }
}

Post a Comment

Post a Comment (0)

Previous Post Next Post

ads

ads

Update cookies preferences