You are on page 1of 5

#include<p16f877a.

inc> ; ADDING HEADER FILE

ORG 0X00 ; INTIAL STATE

GOTO PASS

ORG 0X04

GOTO ALARM; CALLING INTERUPT

PASS:

BSF STATUS,RP0; SELECTING BANK1

MOVLW 0X0F

MOVWF TRISB;SETTING 4 LSB AS OUTPUT AND 4 MSB

AS INPUT

MOVLW 0X00

MOVWF TRISC;MAKING PORTC AS OUTPUT PORT

MOVLW 0X00

MOVWF TRISD ;MAKING PORTD AS OUTPUT PORT

BSF OPTION_REG,INTEDG ;ENABLING INTRUPT MEMORY

BCF STATUS,RP0; SELECTING BANK0

BSF PORTC,RC2; ENABLING THE L293 (DECODER)

BSF INTCON,GIE; ENABLIG GIE OF INTRUPT

BSF INTCON,INTE; ENABLING INTE OF INTRUPT

BCF INTCON,INTF; CLEARING INTF OF INTERUPT

BCF PORTB,RB2;CLEARING RB2(BIT) OF PORTB

BCF PORTB,RB3;CLEARING RB3(BIT) OF PORTB

BCF PORTB,RB4;CLEARING RB4(BIT) OF PORTB

BCF PORTB,RB5;CLEARING RB5(BIT) OF PORTB

BCF PORTB,RB6;CLEARING RB6(BIT) OF PORTB

BCF PORTB,RB7;CLEARING RB7(BIT) OF PORTB

MLOOP:

BTFSS PORTB,RB1 ;CHECKING RB1 (BIT) PORTB

CALL TRAFFIC; CALLING TRAFFIC IF RB1 (BIT) IS

CLEAR
BSF PORTB,RB2; TURNING ON GREEN LIGHT

GOTO MLOOP

TRAFFIC:

CALL BLINK_LED; CALLING BLINK_LED FUNCTION

CALL BARRIER_DOWN; CALLING BARRIER_DOWN FUNCTION

CALL BARRIER_UP;CALLING BARRIER_UP FUNCTION

BLINK_LED: ;GREEN LED BLINK 5 TIMES

BSF PORTB,RB2 ; TURNING ON GREEN LIGHT

CALL LDELAY ;CALLING DELAY

BCF PORTB,RB2 ; TURNING OFF GREEN LIGHT

CALL LDELAY

BSF PORTB,RB2

CALL LDELAY

BCF PORTB,RB2

CALL LDELAY

BSF PORTB,RB2

CALL LDELAY

BCF PORTB,RB2

CALL LDELAY

BSF PORTB,RB2

CALL LDELAY

BCF PORTB,RB2

CALL LDELAY

BSF PORTB,RB2

CALL DELAYF

BCF PORTB,RB2; GREEN LIGHT TURNED OFF AFTER

;BLINKING 5 TIMES

BSF PORTB,RB3; RED LIGHT TURNS 'ON'

CALL DELAYF; 5 SECOND DELAY

CALL DELAYF; 5 SECOND DELAY


CALL DELAYF; 5 SECOND DELAY

RETURN

BARRIER_DOWN:

BCF PORTB,RB7

BSF PORTB,RB5

CALL DELAY

BCF PORTB,RB5

BSF PORTB,RB6

CALL DELAY

BCF PORTB,RB6

BSF PORTB,RB4

CALL DELAY

BCF PORTB,RB4

BSF PORTB,RB7

CALL DELAY

CALL LDELAY; 5 SECOND DELAY

CALL LDELAY; 5 SECOND DELAY

CALL LDELAY; 5 SECOND DELAY

RETURN

BARRIER_UP:

BCF PORTB,RB7 ;CLEARING RB7 OF PORTB

BSF PORTB,RB4 ;SETTING RB4 OF PORTB

CALL DELAY

BCF PORTB,RB4

BSF PORTB,RB6

CALL DELAY

BCF PORTB,RB6

BSF PORTB,RB5

CALL DELAY
BCF PORTB,RB5

BSF PORTB,RB7

CALL DELAY

CALL DELAYF; DELAY 5 SECOND

CALL DELAYF; DELAY 5 SECOND

CALL DELAYF; DELAY 5 SECOND

BCF PORTB,RB3;RED LIGHT TURNS OFF

CALL DELAY

BSF PORTB,RB2;GREEN LIGHT TURNS ON

RETURN

ALARM:;TRESPASSING

BCF PORTC,RC2

BCF INTCON,INTF

RETFIE;RETURN FROM INTRUPT SERVICE ROUTINE

DELAY:

MOVLW 0XFF

MOVWF 0X21

LABEL:

DECFSZ 0X21,1

GOTO LABEL1

RETURN

LABEL1:

MOVLW 0XFF

MOVWF 0X22

LABEL2:

NOP

NOP

NOP

NOP

NOP
DECFSZ 0X22,1; CONDITIONAL DECREMENT

GOTO LABEL2

GOTO LABEL

DELAYF: ;5 SECOND DELAY

CALL DELAY

CALL DELAY

CALL DELAY

CALL DELAY

CALL DELAY

RETURN

END

You might also like