0% found this document useful (0 votes)
28 views4 pages

8051 Code For Password Based Door Lock System: From

8051 code for password based door lock system. This is the corrected code and it works fine. Make sure to change the pins according to your design. The project is available in circuitstoday.com/digital-door-lock-password-based-security-8051

Uploaded by

Shamanth KS
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views4 pages

8051 Code For Password Based Door Lock System: From

8051 code for password based door lock system. This is the corrected code and it works fine. Make sure to change the pins according to your design. The project is available in circuitstoday.com/digital-door-lock-password-based-security-8051

Uploaded by

Shamanth KS
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

1 RS EQU P3.

7
2 RW EQU P3.6
3 E EQU P3.5
4 SEL EQU 41H
5
6 ORG 000H
7 CLR P0.0
8 MOV TMOD,#00100001B
9 MOV TH1,#253D
10 MOV SCON,#50H
11 SETB TR1
12 ACALL LCD_INIT
13 MOV DPTR,#TEXT1
14 ACALL LCD_OUT
15 ACALL LINE2
16 MOV DPTR,#TEXT2
17 ACALL LCD_OUT
18
19 MAIN:ACALL LCD_INIT
20 MOV DPTR,#TEXT1
21 ACALL LCD_OUT
22 ACALL LINE2
23 MOV DPTR,#TEXT2
24 CLR P0.0
25 ACALL LCD_OUT
26 ACALL DELAY1
27 ACALL DELAY1
28 ACALL READ_KEYPRESS
29 ACALL LINE1
30 MOV DPTR,#CHKMSG
31 ACALL LCD_OUT
32 ACALL DELAY1
33 ACALL CHECK_PASSWORD
34 SJMP MAIN
35
36 LCD_INIT: MOV DPTR,#INIT_COMMANDS
37 SETB SEL
38 ACALL LCD_OUT
39 CLR SEL
40 RET
41
42 LCD_OUT: CLR A
43 MOVC A,@A+DPTR
44 JZ EXIT
45 INC DPTR
46 JB SEL,CMD
47 ACALL DATA_WRITE
48 SJMP LCD_OUT
49 CMD: ACALL CMD_WRITE
50 SJMP LCD_OUT
51 EXIT: RET
52
53 LINE2: MOV A,#0C0H
54 ACALL CMD_WRITE
55 RET
56
57 LINE1: MOV A,#80H
58 ACALL CMD_WRITE
59 RET
60
61 CLRSCR: MOV A,#01H
62 ACALL CMD_WRITE
63 RET
64
65 CMD_WRITE: MOV P2,A
66 CLR RS
67 CLR RW
68 SETB E
69 CLR E
70 ACALL DELAY
71 RET
72

Page 1
73 DATA_WRITE: MOV P2,A
74 SETB RS
75 CLR RW
76 SETB E
77 CLR E
78 ACALL DELAY
79 RET
80
81 DELAY:CLR E
82 CLR RS
83 SETB RW
84 MOV P2,#0FFh
85 SETB E
86 MOV A,P2
87 JB P2.7,DELAY
88 CLR E
89 CLR RW
90 RET
91
92 DELAY1:MOV R3,#46D
93 BACK: MOV TH0,#00000000B
94 MOV TL0,#00000000B
95 SETB TR0
96 HERE1: JNB TF0,HERE1
97 CLR TR0
98 CLR TF0
99 DJNZ R3,BACK
100 RET
101
102 DELAY2: MOV R3,#250D
103 BACK2: MOV TH0,#0FCH
104 MOV TL0,#018H
105 SETB TR0
106 HERE2: JNB TF0,HERE2
107 CLR TR0
108 CLR TF0
109 DJNZ R3,BACK2
110 RET
111
112 READ_KEYPRESS: ACALL CLRSCR
113 ACALL LINE1
114 MOV DPTR,#IPMSG
115 ACALL LCD_OUT
116 ACALL LINE2
117 MOV R0,#5D
118 MOV R1,#160D
119
120 READ_STORE: CLR A
121 ACALL KEY_SCAN
122 MOV @R1,A
123 ACALL DATA_WRITE
124 ACALL DELAY2
125 INC R1
126 DJNZ R0,READ_STORE
127 RET
128
129 CHECK_PASSWORD: MOV R0,#5D
130 MOV R1,#160D
131 MOV DPTR,#PASSW
132 RPT:CLR A
133 MOVC A,@A+DPTR
134 XRL A,@R1
135 JNZ FAIL
136 INC R1
137 INC DPTR
138 DJNZ R0,RPT
139 ACALL CLRSCR
140 ACALL LINE1
141 MOV DPTR,#TEXT_S1
142 ACALL LCD_OUT
143 ACALL LINE2
144 ACALL DELAY1

Page 2
145 SETB P0.0
146 MOV DPTR,#TEXT_S2
147 ACALL LCD_OUT
148 ACALL DELAY1
149 SJMP GOBACK
150 FAIL: ACALL CLRSCR
151 ACALL LINE1
152 MOV DPTR,#TEXT_F1
153 ACALL LCD_OUT
154 ACALL DELAY1
155 ACALL LINE2
156 MOV DPTR,#TEXT_F2
157 ACALL LCD_OUT
158 ACALL DELAY1
159 GOBACK:RET
160
161 KEY_SCAN: MOV P1,#11111111B
162 CLR P1.0
163 JB P1.4, NEXT1
164 WAIT1: JNB P1.4,WAIT1
165 MOV A,#49D
166 RET
167
168 NEXT1:JB P1.5,NEXT2
169 WAIT2: JNB P1.5,WAIT2
170 MOV A,#50D
171 RET
172
173 NEXT2: JB P1.6,NEXT3
174 WAIT3: JNB P1.6,WAIT3
175 MOV A,#51D
176 RET
177
178 NEXT3: JB P1.7,NEXT4
179 WAIT4: JNB P1.7,WAIT4
180 MOV A,#65D
181 RET
182
183 NEXT4:SETB P1.0
184 CLR P1.1
185 JB P1.4, NEXT5
186 WAIT5: JNB P1.4,WAIT5
187 MOV A,#52D
188 RET
189
190 NEXT5:JB P1.5,NEXT6
191 WAIT6: JNB P1.5, WAIT6
192 MOV A,#53D
193 RET
194
195 NEXT6: JB P1.6,NEXT7
196 WAIT7: JNB P1.6, WAIT7
197 MOV A,#54D
198 RET
199
200 NEXT7: JB P1.7,NEXT8
201 WAIT8: JNB P1.7, WAIT8
202 MOV A,#66D
203 RET
204
205 NEXT8:SETB P1.1
206 CLR P1.2
207 JB P1.4, NEXT9
208 WAIT9: JNB P1.4, WAIT9
209 MOV A,#55D
210 RET
211
212 NEXT9:JB P1.5,NEXT10
213 WAIT10: JNB P1.5, WAIT10
214 MOV A,#56D
215 RET
216

Page 3
217 NEXT10: JB P1.6,NEXT11
218 WAIT11: JNB P1.6, WAIT11
219 MOV A,#57D
220 RET
221
222 NEXT11: JB P1.7,NEXT12
223 WAIT12: JNB P1.7, WAIT12
224 MOV A,#67D
225 RET
226
227 NEXT12:SETB P1.2
228 CLR P1.3
229 JB P1.4, NEXT13
230 WAIT13: JNB P1.4, WAIT13
231 MOV A,#42D
232 RET
233
234 NEXT13:JB P1.5,NEXT14
235 WAIT14: JNB P1.5, WAIT14
236 MOV A,#48D
237 RET
238
239 NEXT14: JB P1.6,NEXT15
240 WAIT15: JNB P1.6, WAIT15
241 MOV A,#35D
242 RET
243
244 NEXT15: JB P1.7,NEXT16
245 WAIT16: JNB P1.7, WAIT16
246 MOV A,#68D
247 RET
248
249 NEXT16:LJMP KEY_SCAN
250
251 INIT_COMMANDS: DB 0CH,01H,06H,80H,3CH,0
252
253 TEXT1: DB "PASSWORD BASED",0
254 TEXT2: DB "SECURITY SYSTEM",0
255 IPMSG: DB "INPUT 5 DIGITS",0
256 CHKMSG: DB "CHECKING PIN ",0
257 TEXT_S1: DB "ACCESS - GRANTED",0
258 TEXT_S2: DB "DOOR OPENED",0
259 TEXT_F1: DB "WRONG PASSWORD",0
260 TEXT_F2: DB "ACCESS DENIED",0
261 PASSW: DB '1','2','3','4','5',0
262 END
263

Page 4

You might also like