电子密码锁Word下载.docx
- 文档编号:3286091
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:15
- 大小:15.97KB
电子密码锁Word下载.docx
《电子密码锁Word下载.docx》由会员分享,可在线阅读,更多相关《电子密码锁Word下载.docx(15页珍藏版)》请在冰点文库上搜索。
next1:
cjnea,#'
B'
next2;
LJMPinput_password;
next2:
ajmpmain;
sys_initialization:
clrled;
clropen;
clrspeaker;
MOV34h,#'
1'
;
MOV35h,#'
MOV36h,#'
MOV37h,#'
MOV38h,#'
MOV39h,#'
;
存放初始密码
MOVr7,#12;
MOVr0,#40h;
loop:
MOV@r0,#10h;
incr0;
djnzr7,loop;
密码键值存放区清零完毕
lcalldelay0_1s;
MOVp0,#03h;
callwrite_instruction;
液晶软复位
MOVp0,#01h;
movp0,#3fh;
movp0,#0fh;
movp0,#06h;
液晶初始化完毕
movr4,#10;
movtmod,#11h;
movth0,#0b0h;
setbea;
setbet0;
;
定时器t0,0.5s定时中断初始化完毕
ret;
系统初始化完毕
intermit_t0:
pushacc;
pushpsw;
movth0,#3ch;
movtl0,#0b0h;
djnzr4,return;
cplled;
return:
poppsw;
popacc;
reti;
intermit_t1:
movth1,#9eh;
movtl1,#58h;
djnzr4,return_t1;
cplspeaker;
return_t1:
poppsw;
键盘扫描
key:
callks;
jnzk1;
jmpkey;
k1:
calldelay;
callks;
jnzk2;
k2:
clrtr0;
movr2,#0feh;
movr6,#00h;
k3:
mova,r2;
movp1,a;
mova,p1;
jbacc.4,l1;
mova,#0;
LJMPlk;
l1:
jbacc.5,l2;
mova,#4;
ljmplk;
l2:
jbacc.6,l3;
mova,#8;
l3:
jbacc.7,next_key;
mova,#12;
lk:
adda,r6;
movr6,a;
k4:
jnzk4;
mova,r6;
movdptr,#table0;
movca,@a+dptr;
mov50h,a;
查表取值存入50H,保护键值
next_key:
incr6;
jnbacc.7,key;
rla;
movr2,a;
jmpk3;
ks:
movp1,#0f0h;
xrla,#0f0h;
设置密码程序
set_password:
callclear_display;
movdptr,#table4;
callinput_hint;
movr0,#40h;
callpassword;
jbcreturnbit,set_password;
先输入原密码完毕
movr5,#6;
movr1,#34h;
input_compere:
mova,@r0;
xrla,@r1;
jnzinput_error;
incr1;
nop;
djnzr5,input_compere;
验证输入密码完毕
jmpset_password0;
input_error:
movdptr,#table5;
calldelay1_5s;
inc52h;
mova,52h;
cjnea,#3,set_password;
sjmp$;
输入密码错误次数超过3次,锁死
set_password0:
movdptr,#table2;
第一次输入新密码完毕
movdptr,#table3;
显示再次输入新密码完毕
movr0,#46h;
第二次输入新密码完毕
movr1,#46h;
set_compere:
jnzset_error;
djnzr5,set_compere;
mov34h,40h;
mov35h,41h;
mov36h,42h;
mov37h,43h;
mov38h,44h;
mov39h,45h;
存入新密码完毕
jmpmain0;
设置新密码成功,返回主程序
set_error:
setbspeaker;
ljmpset_password0;
前后两次输入新密码不一致,返回重设
输入密码开锁程序
input_password:
jbcreturnbit,input_password;
输入原密码完毕
input_compere0:
jnzinput_error22;
djnzr5,input_compere0;
jmpdisplay_right;
input_error22:
cjnea,#3,input_password;
;
输入密码错误超过3次,锁死
display_right:
movdptr,#table6;
;
显示输入密码正确提示完毕
setbopen;
开锁
next_key1:
callkey;
F'
next_key1;
按下开锁键,开锁
返回主程序
strat_display:
movp0,#80h;
movdptr,#table1;
movp0,#0c0h;
movdptr,#table11;
clear_display:
movdisplay,#01h;
input_hint:
movr5,#16;
mova,#00h;
all_or_not:
movdisplay,a;
callwritedata;
incdptr;
clra;
djnzr5,all_or_not;
password:
movr1,#0c0h;
mova,r1;
movp0,a;
loop1:
callkey;
C'
next_to;
setbreturnbit;
jmpendt;
next_to:
mova,50h;
mov@r0,a;
movdisplay,#'
*'
djnzr5,loop1;
endt:
写数据指令
writedata:
SETBrs;
CLRrw;
clren;
setben;
写指令
write_instruction:
CLRrs;
延时程序
delay1_5s:
push07h;
push02h;
push03h;
movr7,#15;
del22s:
MOVr3,#0;
del11s:
MOVr2,#0;
djnzr2,$;
djnzr3,del11s;
djnzr7,del22s;
pop03h;
pop02h;
pop07h;
delay0_1s:
push02h;
movr3,#0;
del21s:
movr2,#0;
djnzr3,del21s;
delay:
push06h;
movr7,#10;
dl:
movr6,#248;
djnzr6,$;
djnzr7,dl;
pop06h;
table0:
db'
'
0'
D'
9'
8'
7'
E'
6'
5'
4'
3'
2'
table1:
db'
PASSWORD:
ASET'
table11:
BOPEN'
table2:
SETPASSWORD:
'
table3:
INPUTAGAIN!
'
table4:
INPUTPASSWORD:
table5:
PASSWORDERROR!
table6:
PASSWORDOK!
!
end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 密码锁