You are on page 1of 5

SOURCE CODE :

ASM PROGRAMME FOR AUTOMATIC RAILWAY GATE CONTROL:


gateon
.reg
p3.0
gateoff
.reg
p3.1
ce
.reg
p1.2
sig1r
.reg
p0.2
sig1g
.reg
p0.3
sig2r
.reg
p0.0
sig2g
.reg
p0.1
sig3r
.reg
p2.3
sig3g
.reg
p2.4
sig4r
.reg
p0.5
sig4g
.reg
p0.4
rsg5r .reg
p2.2
rsg5g
.reg
p2.7
rsg6r
.reg
p2.5
rsg6g
.reg
p2.6
ldr1
.reg
p3.2
ldr1
.reg
p3.3
ldr3
.reg
p2.1
ldr4
.reg
p2.0
rlysens1
.reg
p3.7
rlysens2
.reg
p3.6
rlysens3
.reg
p3.5
rlysens4
.reg
p3.4
buzzer
.reg
p1.0
laser
.reg
p1.1
count
.reg
23h
count2
.reg
24h
org 0000h
jmp start
org 0003h
reti
org 000bh
reti
org 0013h
reti
org 001bh
reti
org 0023h
reti
start:
clr ce
mov p0,#00h
mov p2,#03h
clr buzzer
clr laser
clr gateon
clr gateoff
gon:
mov count1,#ffh
loop15:
mov count2,#ffh
loop2:
djnz count2,loop2
djnz count1,loop15
call dly
mn:
setb sig1r
setb sig2r
setb sig4r
setb sig3r
setb rsg5g
setb rsg6g
clr buzzer
clr laser
main:
jnb rlysens1,loop1
jb rlysens4,main
clr sig4g
setb buzzer
setb laser
setb rsg5r
clr rsg5g
setb rsg6r
clr rsg6g
jnb ldr1,loop20
jnb ldr2,loop20
jnb ldr3,loop20
jnb ldr3,loop20
jnb ldr4,loop20
loop2a:
call gatecls
clr buzzer
clr laser
clr sig3r
clr sig4r
setb sig4g
setb sib3g
loop5:
jb rlysens2,loop5
loop6:
jnb rlysens2,loop6
clr sig3g
setb sig3r
clr sig4g
setb sig4r
clr rsg5r
clr rsg6r
setb rsg5g
setb rsg6g
call delay
call gateopen
call delay
clr rsg5r
clr rsg6r
setb rsg5g
setb rsg6g
call delay
call delay
jmp mn
loop20:
setb buzzer
setb laser
setb sig3r
setb sig2r
loop21:
jnb ldr1,loop21
jnb ldr2,loop21
jnb ldr3,loop21
jnb ldr4,loop21
clr buzzer
clr laser
jmp loop2a
loop1:
setb sig2r
clr sig1g
setb buzzer
setb laser
setb rsg5r
clr rsg5g
setb rsg6r
clr rsg6g
jnb ldr1,loop23
jnb ldr2,loop23
jnb ldr3,loop23
jnb ldr4,loop23
loop24:
call gatecls
clr buzzer
clr laser
setb sig1g
clr sig1r
setb sig2g
clr sig2r
call delay
setb rsg5r
setb rsg6r
loop9:
jb rlysens3,loop9
loop10:
jnb rlysens3.loop10
call delay
call gateopen
clr buzzer
clr laser
clr sig1g
clr sig2g
setb sig1r
setb sig2r
clr rsg5r
clr rsg6r
setb rsg5g
setb rsg6g
call delay
call delay
jmp mn
loop23:
setb buzzer
setb sig3r
setb sig2r
loop26:
jnb ldr1,loop26
jnb ldr2,loop26
jnb ldr3,loop26
jnb ldr4,loop26
clr buzzer
jmp loop24
gateopen:
setb gateon
clr gateoff
call delay
clr gateon
ret
gatecls:
setb gateoff
clr gateon
call delay
clr gateoff
ret
delay:
mov 50h,#04h
ji:
mov 51h,#f0h
bala:
mov 52h,#ffh
riju:
djnz 52h,riju
djnz 51h,bala
djnz 50h,ji
ret
dly:
mov 53H,#50H
kr:
djnz 53h,kr
ret

You might also like