Rfid Based Home Security System
Comments
Content
BY RAVI-RAJKOT Programming : org 0000h ljmp main
RFID based home security system.
org 0003h ljmp in0
org 000bh ljmp time0
org 0030h
main:
mov sp,#0fh
mov ie,#10000011b setb tcon.0
mov 20h,#00h mov 21h,#00h
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov r1,#30d mov r0,#20d mov th0,#3ch mov tl0,#0b0h mov tmod,#21h
;for 30 second delay ;for 1 second delay
;timer 0 is used to generate 30 sec. delay ;timer 1 is used to generate baud rate
mov th1,#0fah mov scon,#50h setb tr1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov p1,#0ffh
;p1.0,1.1,1.2
sensor inputs
clr p2.5 clr p2.3 clr p2.4
;alarm ;enable status
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;a subroutine to intialize LCD as 2 lines 16*2
mov a,#38h acall command
;Init. LCD 2 lines, 5*7 matrix
mov a,#0eh acall command
;LCD on, cursor on
mov a,#06h acall command
;Shift cursor right
;a subroutine to display set temperature in 1st line ;bit 00h is indicating enable disable status
display: clr 01h
jb 00h,enabling1 sjmp disable
enabling1:
ljmp enabling
;;;;displaying home sec. sys disabled
disable: clr p2.5 clr p2.3
setb p2.4
mov a,#01h acall command
;clear LCD command
mov a,#81h acall command
;cursor line 1 position 1
mov a,#'H' acall datadisplay
mov a,#'o' acall datadisplay
mov a,#'m' acall datadisplay
mov a,#'e' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#'S' acall datadisplay
mov a,#'e'
acall datadisplay
mov a,#'c' acall datadisplay
mov a,#'.' acall datadisplay
mov a,#'S' acall datadisplay
mov a,#'y' acall datadisplay
mov a,#'s' acall datadisplay
;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;
mov a,#0c1h acall command
;cursor line 1 position 1
mov a,#'S' acall datadisplay
mov a,#'t' acall datadisplay
mov a,#'a' acall datadisplay
mov a,#'t' acall datadisplay
mov a,#'u' acall datadisplay
mov a,#'s' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#'-' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#'d' acall datadisplay
mov a,#'`' acall datadisplay
mov a,#'b' acall datadisplay
mov a,#'l' acall datadisplay
mov a,#'e' acall datadisplay
mov a,#'d' acall datadisplay
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
check:
jb 01h,display1 sjmp check
display1:
ljmp display
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;enabling system
enabling:
setb tr0 setb p2.3 setb p2.4
mov a,#01h acall command
mov a,#81h acall command
;cursor line 1 position 1
mov a,#'E' acall datadisplay
mov a,#'n' acall datadisplay
mov a,#'a' acall datadisplay
mov a,#'b' acall datadisplay
mov a,#'l' acall datadisplay
mov a,#'i' acall datadisplay
mov a,#'n' acall datadisplay
mov a,#'g' acall datadisplay
mov a,#'.' acall datadisplay
mov a,#'.' acall datadisplay
mov a,#'.' acall datadisplay
mov a,#'.' acall datadisplay
checkk:
jnb 02h,checkk
;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;
enable:
clr 02h
;time indication to cancel
setb p2.3 clr p2.4
mov a,#01h acall command
mov a,#81h acall command
;cursor line 1 position 1
mov a,#'H' acall datadisplay
mov a,#'o' acall datadisplay
mov a,#'m' acall datadisplay
mov a,#'e' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#'S'
acall datadisplay
mov a,#'e' acall datadisplay
mov a,#'c' acall datadisplay
mov a,#'.' acall datadisplay
mov a,#'S' acall datadisplay
mov a,#'y' acall datadisplay
mov a,#'s' acall datadisplay
;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;
mov a,#0c1h acall command
;cursor line 1 position 1
mov a,#'S' acall datadisplay
mov a,#'t' acall datadisplay
mov a,#'a' acall datadisplay
mov a,#'t' acall datadisplay
mov a,#'u' acall datadisplay
mov a,#'s' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#'-' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#'e' acall datadisplay
mov a,#'`' acall datadisplay
mov a,#'b' acall datadisplay
mov a,#'l' acall datadisplay
mov a,#'e' acall datadisplay
mov a,#'d' acall datadisplay
check2:
jb p1.0,intruder jb p1.1,door11 jb p1.2,door22 sjmp check2
door11: door22:
ljmp door1 ljmp door2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
intruder: wait1:
setb tr0 jnb 02h,wait1 clr 02h
jb 00h,conti setb 01h ljmp check
conti:
setb p2.5
mov a,#081h acall command
;cursor line 1 position 1
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' '
acall datadisplay
mov a,#'A' acall datadisplay
mov a,#'l' acall datadisplay
mov a,#'a' acall datadisplay
mov a,#'r' acall datadisplay
mov a,#'m' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#0c1h
;cursor line 1 position 1
acall command
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#'I' acall datadisplay
mov a,#'N' acall datadisplay
mov a,#'T' acall datadisplay
mov a,#'R' acall datadisplay
mov a,#'U'
acall datadisplay
mov a,#'D' acall datadisplay
mov a,#'E' acall datadisplay
mov a,#'R' acall datadisplay
setb 04h acall message
her1:
jb 00h,her1 ljmp check
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Door 1
door1: wait2:
setb tr0 jnb 02h,wait2 clr 02h
jb 00h,conti1 setb 01h
ljmp check
conti1:
setb p2.5
mov a,#081h acall command
;cursor line 1 position 1
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#'A' acall datadisplay
mov a,#'l' acall datadisplay
mov a,#'a' acall datadisplay
mov a,#'r' acall datadisplay
mov a,#'m' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#0c1h acall command
;cursor line 1 position 1
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#'D' acall datadisplay
mov a,#'O' acall datadisplay
mov a,#'O' acall datadisplay
mov a,#'R' acall datadisplay
mov a,#'1' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
setb 05h acall message
her2:
jb 00h,her2 ljmp check
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Door 1
door2: wait3:
setb tr0 jnb 02h,wait3 clr 02h
jb 00h,conti2 setb 01h ljmp check
conti2:
setb p2.5
mov a,#081h acall command
;cursor line 1 position 1
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#'A' acall datadisplay
mov a,#'l' acall datadisplay
mov a,#'a' acall datadisplay
mov a,#'r' acall datadisplay
mov a,#'m' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#0c1h acall command
;cursor line 1 position 1
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#'D' acall datadisplay
mov a,#'O' acall datadisplay
mov a,#'O' acall datadisplay
mov a,#'R' acall datadisplay
mov a,#'1' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
mov a,#' ' acall datadisplay
setb 06h acall message
her3:
jb 00h,her3 ljmp check
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
command: acall ready mov p0,a clr p2.0 clr p2.1 setb p2.2 clr p2.2 ret
datadisplay: acall ready mov p0,a setb p2.0 clr p2.1 setb p2.2 clr p2.2 ret
ready: setb p0.7 clr p2.0 setb p2.1 back: clr p2.2 setb p2.2 jb p0.7,back ret
;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
message:mov dptr,#first acall serial mov dptr,#second acall serial
mov a,#'"' acall send
mov dptr,#numb acall serial
mov a,#'"' acall send
jb 04h,intru jb 05h,dor1 jb 06h,dor2
intru:
clr 04h mov dptr,#msg1 acall serial ret
dor1:
clr 05h mov dptr,#msg2 acall serial ret
dor2:
clr 06h mov dptr,#msg3 acall serial ret
serial:
clr A movc a,@a+dptr jz complete acall send inc dptr sjmp serial
complete:ret
send: her:
mov sbuf,a jnb ti,her clr ti ret
first:
DB "AT+CMGF=1",0dh,0ah,0
;9
second: DB "AT+CMGS=",0
numb: DB "94284xxxxx",0 msg1: DB 0dh,0ah,"Intruder alert",1ah,0 msg2: DB 0dh,0ah,"Door1 alert",1ah,0 msg3: DB 0dh,0ah,"Door2 alert",1ah,0 ;6
;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
in0:
cpl 00h setb 01h reti
;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
time0:
djnz r0,next djnz r1,next1 clr tr0 setb 02h mov r1,#30d
next1:
mov r0,#20d
next:
mov th0,#3ch mov tl0,#0b0h reti
;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
end
Sponsor Documents