Statement: Design a microprocessor system to control traffic lights. The traffic light arrangement is as shown in Fig. The traffic should be controlled in the following manner.
1) Allow traffic from W to E and E to W transition for 20 seconds. 2) Give transition period of 5 seconds (Yellow bulbs ON) 3) Allow traffic from N to 5 and 5 to N for 20 seconds 4) Give transition period of 5 seconds (Yellow bulbs ON) 5) Repeat the process.
HARDWARE FOR TRAFFIC LIGHT CONTROL
Fig. shows the interfacing diagram to control 12 electric bulbs. Port A is used to control lights on N-S road and Port B is used to control lights on W-E road. Actual pin connections are listed in Table 1 below.

The electric bulbs are controlled by relays. The 8255 pins are used to control relay on-off action with the help of relay driver circuits. The driver circuit includes 12 transistors to drive 12 relays. Fig. also shows the interfacing of 8255 to the system.
INTERFACING DIAGRAM
SOFTWARE FOR TRAFFIC LIGHT CONTROL
| Source Program 1: - MVI A, 80H : Initialize 8255, port A and port B
- OUT 83H (CR) : in output mode
- START: MVI A, 09H
- OUT 80H (PA) : Send data on PA to glow R1 and R2
- MVI A, 24H
- OUT 81H (PB) : Send data on PB to glow G3 and G4
- MVI C, 28H : Load multiplier count (40ıο) for delay
- CALL DELAY : Call delay subroutine
- MVI A, 12H
- OUT (81H) PA : Send data on Port A to glow Y1 and Y2
- OUT (81H) PB : Send data on port B to glow Y3 and Y4
- MVI C, 0AH : Load multiplier count (10ıο) for delay
- CALL: DELAY : Call delay subroutine
- MVI A, 24H
- OUT (80H) PA : Send data on port A to glow G1 and G2
- MVI A, 09H
- OUT (81H) PB : Send data on port B to glow R3 and R4
- MVI C, 28H : Load multiplier count (40ıο) for delay
- CALL DELAY : Call delay subroutine
- MVI A, 12H
- OUT PA : Send data on port A to glow Y1 and Y2
- OUT PB : Send data on port B to glow Y3 and Y4
- MVI C, 0AH : Load multiplier count (10ıο) for delay
- CALL DELAY : Call delay subroutine
- JMP START
Delay Subroutine: - DELAY: LXI D, Count : Load count to give 0.5 sec delay
- BACK: DCX D : Decrement counter
- MOV A, D
- ORA E : Check whether count is 0
- JNZ BACK : If not zero, repeat
- DCR C : Check if multiplier zero, otherwise repeat
- JNZ DELAY
- RET : Return to main program
|
Related Programs (Click down)
Generate and display binary up counter
Generate and display BCD up counter with frequency 1Hz
Generate and display BCD down counter
Generate and display the contents of decimal counter