电子密码锁程序Word格式文档下载.docx
- 文档编号:17199473
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:22
- 大小:19.05KB
电子密码锁程序Word格式文档下载.docx
《电子密码锁程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电子密码锁程序Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
SHOW6EQU3BH
键盘输入密码暂时缓存区
PW_TEMP1EQU3DH
PW_TEMP2EQU3EH
PW_TEMP3EQU3FH
PW_TEMP4EQU40H
PW_TEMP5EQU41H
PW_TEMP6EQU42H
修改密码时,原密码暂时缓存区
MODI_PW1EQU43H
MODI_PW2EQU44H
MODI_PW3EQU45H
MODI_PW4EQU46H
MODI_PW5EQU47H
MODI_PW6EQU48H
计数
Password_NUMEQU3CH;
输入密码的位数
主程序
ORG0000H
AJMPMAIN
ORG000BH
AJMPTIMER
ORG0013H
AJMPINT1P
ORG0030H
MAINMOVSP,#60H
;
开中断
SETBEX1
SETBL1
SETBL2
SETBL3
SETBL4
SETBL5
SETBL6
;
初始化清零
CLRLOG_IN
CLRMODI_Password
CLRMODI1
CLRMODI2
CLRMODI_Success
CLRCorrect_Password
初始化密码112211
MOVPW1,#01H
MOVPW2,#01H
MOVPW3,#02H
MOVPW4,#02H
MOVPW5,#01H
MOVPW6,#01H
初始化显示CHOOSE
MOVSHOW1,#0EH
MOVSHOW2,#05H
MOVSHOW3,#00H
MOVSHOW4,#00H
MOVSHOW5,#12H
MOVSHOW6,#0CH
计数初始化
MOVPassword_NUM,#00H
初始化8279
LCALLINIT_8279
SJMP$
8279键盘
INIT_8279
MOVDPTR,#5FFFH
MOVA,#0DCH
MOVX@DPTR,A
JUMP1MOVXA,@DPTR
JBACC.7,JUMP1
MOVA,#00H
MOVX@DPTR,A
MOVA,#34H
CLRIT1
NOP
SETBEA
NOP
LCALLDSY
RET
外部中断1
INT1PPUSHACC
PUSHDPH
PUSHDPL
MOVA,#40H
MOVDPTR,#5FFFH
MOVDPTR,#5EFFH
MOVXA,@DPTR
显示缓存
MOV3BH,3AH
MOV3AH,39H
MOV39H,38H
MOV38H,37H
MOV37H,36H
MOV36H,A
键盘输入密码缓存
检查当前选择的功能
输入原密码进入系统
CLRC
MOVC,LOG_IN;
进入系统状态为1,选择功能A,输入密码进入系统
JNCJUMP3;
不是功能A,跳转,是功能A顺序执行,对密码缓存
改变指示灯110001,1:
亮,0不亮
CLRL1
CLRL2
SETBL3
SETBL4
SETBL5
CLRL6
保存键盘输入的密码
MOVPW_TEMP1,PW_TEMP2
MOVPW_TEMP2,PW_TEMP3
MOVPW_TEMP3,PW_TEMP4
MOVPW_TEMP4,PW_TEMP5
MOVPW_TEMP5,PW_TEMP6
MOVPW_TEMP6,A
AJMPJUMP4;
跳过功能B
修改密码的操作,a.验证原密码,b.输入要修改的新密码,c.验证要修改的新密码
JUMP3CLRC
MOVC,MODI_Password;
修改密码状态为1,选择修改密码,输入原密码即可修改密码
JNCJUMP12;
不是功能A,不是修改密码验证原密码
改变指示灯110100,1:
CLRL4
SETBL6
MOVPW_TEMP6,A
跳过修改密码时的原密码验证缓存
JUMP12CLRC;
输入要修改的新密码状态为1,选择输入修改密码
MOVC,MODI1
JNCJUMP13
SETBL2
CLRL5
MOVPW_TEMP2,PW_TEMP3
MOVPW_TEMP3,PW_TEMP4
MOVPW_TEMP4,PW_TEMP5
MOVPW_TEMP5,PW_TEMP6
跳过修改密码时的原密码验证缓存
JUMP13CLRC
MOVC,MODI2
JNCJUMP4
改变指示灯110101,1:
JUMP4LCALLKey_Check密码检验,检查密码是否为0~9
LCALLDSY
设置定时器
MOVR5,#60
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
SETBET0
SETBTR0
POPDPL
POPDPH
POPACC
RETI
时延1s
DELAY1sMOVR3,#0FH
DL13MOVR4,#0FAH
DL12MOVR5,#0F6H;
DL11DJNZR5,DL11;
时延246us
DJNZR4,DL12;
(246+4)250=62500us
DJNZR3,DL13;
6250016=1s
RET
时延3s
DELAY3sMOVR3,#2FH
DL33MOVR4,#0FAH
DL32MOVR5,#0F6H;
DL31DJNZR5,DL31;
DJNZR4,DL32;
DJNZR3,DL33;
LED数码管显示程序
DSYMOVR2,#06H
MOVA,#92H
MOVR0,#36H
TY11MOVA,@R0
MOVDPTR,#TABL
MOVCA,@A+DPTR
MOVDPTR,#5EFFH
INCR0
DJNZR2,TY11
密码检验0~9
Key_Check
MOVC,LOG_IN;
JNCFB
FUNC_A功能A,进入系统
计数,密码输入位数
MOVA,Password_NUM
INCA
MOVPassword_NUM,A
CJNEA,#06H,JUMP5
CLRLOG_IN
LCALLPassword_Verity
MOVC,Correct_Password
JCCorrect
AJMPJUMP16
Correct
改变指示灯110010,1:
LED数码管显示
状态位清零
AJMPJUMP7
JUMP16LCALLLong_Buzzer
改变指示灯110110,1:
CLRL2
CLRL3
LED显示ERR002
MOVSHOW1,#02H
MOVSHOW2,#00H
MOVSHOW4,#0AH
MOVSHOW5,#0AH
MOVSHOW6,#0EH
JUMP5AJMPJUMP7
FBCLRC
修改密码状态为1,选择功能B,输入密码修改密码
JNCFUNC_MODI1
FUNC_B功能B,修改密码
CJNEA,#06H,JUMP6
JNCagain1
LCALLShort_Buzzer
SETBMODI1;
密码正确,进行第一次输入修改密码
JUMP6AJMPJUMP7
again1密码错误重新输入密码
SETBMODI_Password
CLRL6
AJMPJUMP7
FUNC_MODI1CLRC
MOVC,MODI1;
第一次输入修改密码状态,选择功能B2,第二次输入修改密码
JNCFUNC_MODI2
第一次输入新密码
LCALLModify
AJMPJUMP7
FUNC_MODI2CLRC
MOVC,MODI2;
JNCNEXT_A
第二次输入新密码
LCALLModi_Verity
功能选择
NEXT_ACJNEA,#0AH,NEXT_B
SETBLOG_IN;
选择进入系统
NEXT_BCJNEA,#0BH,NEXT_C
SETBMODI_Password;
选择修改密码
NEXT_CCJNEA,#0CH,NEXT_D
AJMPRESET
未定义的功能,选择会出现警告
NEXT_DCJNEA,#0DH,NEXT_E
AJMPWARN1
NEXT_ECJNEA,#0EH,NEXT_F
NEXT_FCJNEA,#0FH,WARN1
RESET复位,密码初始化呢,状态位初始化,显示初始化
WARN1数码管显示ERR001
MOVSHOW1,#01H
蜂鸣器响,重新选择功能
LCALLLong_Buzzer
JUMP7RET
密码校验,与原密码是否一样
Password_Verity
计数清零
MOVPassword_NUM,#00H
密码校验
MOVA,PW_TEMP1
SUBBA,PW1
JNZJUMP8
MOVA,PW_TEMP2
SUBBA,PW2
MOVA,PW_TEMP3
SUBBA,PW3
MOVA,PW_TEMP4
SUBBA,PW4
MOVA,PW_TEMP5
SUBBA,PW5
MOVA,PW_TEMP6
SUBBA,PW6
SETBCorrect_Password;
密码全对
JUMP8RET
Modify保存修改的密码
CJNEA,#06H,JUMP9
完成6位密码输入
改变指示灯101010,1:
CLRMODI1;
第一次修改密码输入完成
SETBMODI2;
第二次输入修改密码
暂时保存原密码,修改密码出现错误,为系统回复原密码
MOVMODI_PW1,PW1
MOVMODI_PW2,PW2
MOVMODI_PW3,PW3
MOVMODI_PW4,PW4
MOVMODI_PW5,PW5
MOVMODI_PW6,PW6
为新密码送入密码缓存区
MOVPW1,PW_TEMP1
MOVPW2,PW_TEMP2
MOVPW3,PW_TEMP3
MOVPW4,PW_TEMP4
MOVPW5,PW_TEMP5
MOVPW6,PW_TEMP6
JUMP9RET
Modi_Verity
CJNEA,#06H,JUMP14
校验两次输入的新密码是否一样
AJMPJUMP15
JUMP14AJMPJUMP11;
结束子程序
JUMP15CLRC
JNCJUMP10
修改密码正确,初始化状态位
SETBMODI_Success;
修改密码成功状态位
改变指示灯111111,1:
LED显示
MOVSHOW1,#06H
MOVSHOW2,#06H
MOVSHOW3,#06H
MOVSHOW4,#06H
MOVSHOW5,#06H
MOVSHOW6,#06H
LCALLDSY
AJMPJUMP11
JUMP10出现错误,标志位清零
提示ERR003
MOVSHOW1,#03H
MOVSHOW3,#0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 密码锁 程序