Traffic light control system using 8086 AIM:To develop Traffic light Control system using 8086 APPARATUS:Microprocessor trainer kit, Traffic light controller kit, power supply, data cable etc THEORY:Traffic light controller interface module is designed to simulate the function of four way traffic light controller. Combinations of red, amber and green LED’s are provided to indicate Halt, Wait and Go signals for vehicles. Combination of red and green LED’s are provided for pedestrian crossing. 36 LED’s are arranged in the form of an intersection. A typical junction is represented on the PCB with comprehensive legend printing. At the left corner of each road, a group of five LED’s (red, amber and 3 green) are arranged in the form of a T-section to control the traffic of that road. Each road is named North (N), South(S), East (E) and West (W). LED’s L1, L10, L19 & L28 (Red) are for the stop signal for the vehicles on the road N, S, W, & E respectively. L2, L11, L20 & L29 (Amber) indicates wait state for vehicles on the road N, S, W, & E respectively. L3, L4 & L5 (Green) are for left, strait and right turn for the vehicles on road S. similarly L12-L13-L14, L23-L22-L21 & L32-L31L30 simulates same function for the roads E, N, W respectively. A total of 16 LED’s (2 Red & 2 Green at each road) are provided for pedestrian crossing. L7L9.L16-L18, L25-L27 & L34-L36 (Green) when on allows pedestrians to cross and L6-L8, L15-L17, L24-L26 & L33-L35 (Red) when on alarms the pedestrians to wait. To minimize the hardware pedestrian’s indicator LED’s (both red and green are connected to same port lines (PC4 to PC7) with red inverted. Red LED’s L10 & L28 are connected to port lines PC2 & PC3 while L1 & L19 are connected to lines PC0 & PC1 after inversion. All other LED’s (amber and green) are connected to port A & B. WORKING:8255 is interfaced with 8086 in I/O mapped I/O and all ports are output ports. The basic operation of the interface is explained with the help of the enclosed program. The enclosed program assumes no entry of vehicles from North to West, from road East to South. At the beginning of the program all red LED’s are switch ON, and all other LED‘s are switched OFF. Amber LED is switched ON before switching over to proceed state from Halt state.
The sequence of traffic followed in the program is given below. a) From road north to East From road east to north From road south to west From road west to south From road west to north From road north to East From road south to west From road south to north From road south to east c) From road north to south From road south to north Pedestrian crossing at roads west & east d) From road east to west From road west to east Pedestrian crossing at roads north & south
ASSEMBLY LANGUAGE PROGRAMS:MODEL SMALL .STACK 100 .DATA CWR EQU 0FFC6 H PORTA EQU 0FFC0 H PORTB EQU 0FFC2 H PORTC EQU 0FFC4 H .CODE START: MOV AX,@DATA MOV DS,AX MOV AL,80H MOV DX,CWR OUT DX,AL MOV AL,F3H MOV DX,PORTC OUT DX,AL MOV AL,FFH
MOV DX,PORTA OUT DX,AL MOV AL,FFH MOV DX,PORTB OUT DX,AL MOV CL,03H CALL DELAY TOP: MOV AL,EEH MOV DX,PORTA OUT DX,AL MOV AL,EEH MOV DX,PORTB OUT DX,AL MOV CL,02H CALL DELAY MOV AL,FCH MOV DX,PORTC OUT DX,AL MOV AL,7DH MOV DX,PORTA OUT DX,AL MOV AL,57H MOV DX,PORTB OUT DX,AL MOV CL,15H CALL DELAY MOV AL,E7H MOV DX,PORTB OUT DX,AL MOV AL,FDH MOV DX,PORTA OUT DX,AL MOV AL,EDH MOV DX,PORTA OUT DX,AL MOV CL,02H CALL DELAY
MOV AL,F7H MOV DX,PORTB OUT DX,AL MOV AL,F0H MOV DX,PORTC OUT DX,AL MOV AL,F1H MOV DX,PORTA OUT DX,AL MOV CL,15H CALL DELAY MOV AL,FBH MOV DX,PORTA OUT DX,AL MOV AL,FBH MOV DX,PORTB OUT DX,AL MOV AL,50H MOV DX,PORTC OUT DX,AL MOV CL,15H CALL DELAY MOV AL,FEH MOV DX,PORTA OUT DX,AL MOV AL,FEH MOV DX,PORTB OUT DX,AL MOV CL,03H CALL DELAY MOV AL,FFH MOV DX,PORTA OUT DX,AL MOV AL,AFH MOV DX,PORTC OUT DX,AL
MOV AL,EEH MOV DX,PORTA OUT DX,AL MOV AL,EEH MOV DX,PORTB OUT DX,AL MOV CL,02H CALL DELAY MOV AL,BFH MOV DX,PORTA OUT DX,AL MOV AL,BFH MOV DX,PORTB OUT DX,AL MOV CL,15H CALL DELAY JMP TOP DELAY: MOV BX,10H D1: MOV CX,0FFFFH D2: LOOP D2 DEC BX JNZ D1 INT 03H END START
#include
#define ON
1
//register map for 8051
#define OFF
sbit red_traf = P1^0;
//red traffic light is connected to bit 0 of P1
sbit amber_traf = P1^1; //amber traffic light is connected to bit 1 of P1 sbit green_traf = P1^2; //green traffic light is connected to bit 2 of P1 sbit red_ped = P1^3;
//red pedestrian light is connected to bit 3 of P1
sbit green_ped = P1^4;
//green pedestrian light is connected to bit 4 of P1
sbit bleeper = P1^5;
//bleeper is connected to bit 5 of P1
sbit button = P2^0;
//pedestrian button is connected to bit 0 of P2
unsigned char count;
void delay(int del)
//delay procedure
{ int c=0; TMOD=0x01;
//CT1 not used, CT0 as a timer, in mode 01
TR0=0; TF0=0; do { TH0=0;
//Load CT0 with zero to get
TL0=0;
//the longest possible time.
TR0=1;
//start timer
while(!TF0);
//while Timer Flag is low, do nothing i.e.wait till it
TR0=0;
//stop timer
TF0=0;
//make timer flag low again
goes high
c++; } while (c