3x3按键可修改密码锁程序
更新时间:2023-07-26 10:08:01 阅读量: 实用文档 文档下载
- 怎样修改按键密码锁的密码推荐度:
- 相关推荐
单之六位按键密码
/***************************************************************************
标题:3*3按键输入调试,按键密码6位,密码可修改
效果:输入密码正确LED显示,P2=55H,否则P2=7FH
工作于:LY5A-L2A开发板
作者:梦西湖
邮箱:1005910987@
参数设定:
P0.0--P0.2行键3个
P1.0--P1.2列键3个
P3.7为密码修改键
R0列数判断,并依此从左向右扫描
R1行数判断,并依此从上向下扫描
R2指示按键输出值
50H用于存储行数据值
51H存储待显示的数据值
52H暂时调用设定的密码值,用于数值比较
53H暂时调用读取的密码值,用于数值比较
54H判断是否调用修改密码程序
55H采集密码完成信号
56H为密码修改时转换参数,相当于第三个杯子
31H--36H存储读取的6位密码
41H--46H存储设置的6位密码
若此程序用作子程序,则调用是记得现场保护!
关于设置的密码值是否要不断重新输入--【本次采用重复赋值模式】
*****************************************************************************/
ORG 0000H
LJMP MAIN
ORG 0050H
MAIN:
MOV R0,#00H
MOV R1,#41H
/*密码6位赋值循环*/
S0:
MOV DPTR,#TAB2
MOV A,R0;
MOVC A,@A+DPTR
MOV @R1,A
INC R0
INC R1
CJNE R0,#6H,S0
MAIN1:
MOV P0,#0FFH
MOV P1,#00H
LCALL DELAY;
JNB P3.7,GAIMIMA;判断此键是否按下,是则转修改密码子程序
MOV A,P0
MOV 54H,#0FFH
MOV 55H,#0FFH
CJNE A,#0FFH,ANJ;判断按键是否按下
LJMP MAIN1;
/*修改密码,先输入旧密码程序*/
GAIMIMA:
LCALL DELAY;延时10MS去抖
JB P3.7,MAIN1;
MOV P2,#7EH;判断此键为按下时,则指示闪灯一次
LCALL DELAY1S;判断此键为按下时,则指示闪灯一次
JNB P3.7,$;等待修改密码键松开
MOV P2,#0FFH;判断此键为按下时,则指示闪灯一次
MOV 54H,#0FH
LJMP ANJ;采集旧密码程序
/*采集新密码程序*/
MIMAZHI:
MOV P2,#0F9H;P2指示旧密码验证完毕
LCALL DELAY1S;P2指示旧密码验证完毕
MOV P2,#0FFH;P2指示旧密码验证完毕
MOV 55H,#0FH;采集密码完成信号
LJMP ANJ;采集新密码程序
/*更新密码程序*/
/*将31H--36H中的值对应赋值到41H--46H中去*/
MIMAGAI:
MOV P2,#0BDH;判断此键为按下时,则指示闪灯一次
LCALL DELAY1S;判断此键为按下时,则指示闪灯一次
MOV P2,#0FFH;判断此键为按下时,则指示闪灯一次
PUSH 00H
PUSH 01H
PUSH 02H
PUSH ACC
MOV R0,#31H
MOV R1,#41H
MOV R2,#06H
M1:
MOV 56H,@R0
MOV A,56H
MOV @R1,A
INC R0
INC R1
DJNZ R2,M1;
POP ACC
POP 02H
POP 01H
POP 00H
LJMP MAIN1;
ANJ:
MOV R
0,#06H;循环扫瞄次数设定=密码位数=6
MOV R1,#31H;36H存储读取的6位密码
MOV R2,#00H;用于LED显示已经输入的位数
/*扫描是否有六次按键按下*/
S1:
PUSH 00H;有效数据堆栈处理;现场保护
PUSH 01H
PUSH 02H
单之六位按键密码
LCALL ANJIAN;调用键盘扫描程序
POP 02H
POP 01H
POP 00H
MOV @R1,51H;将扫描的数值保存在31H_36H中
MOV DPTR,#TAB3
MOV A,R2
MOVC A,@A+DPTR
MOV P2,A
INC R2
INC R1
SB:
MOV A,P0
CJNE A,#0FFH,SB;等待按键松开
DJNZ R0,S1
/*添加的修改密码程序*/
MOV A,55H
CJNE A,#0FFH,MIMAGAI
/*比较六位密码是否正确*/
MOV R0,#31H;31H_36H存储读取的6位密码
MOV R1,#41H;41H--46H存储设置的6位密码
MOV R2,#06H;比较次数设定=密码位数=6
S2:
MOV 53H,@R0;暂时调用读取的密码值,用于数值比较
MOV A,53H
MOV 52H,@R1;暂时调用设定的密码值,用于数值比较
CJNE A,52H,S3;密码数值比较
INC R0
INC R1
DJNZ R2,S2
PUSH ACC
MOV A,54H;判断密码是否正确,是则调用修改密码程序
CJNE A,#0FFH,MIMAZHI;判断密码是否正确,是则调用修改密码程序
POP ACC
MOV P2,#55H;密码正确显示;用于输出控制锁
LCALL DELAY1S;
LJMP MAIN1
S3:
MOV P2,#7FH;密码错误显示;用于输出控制锁
LCALL DELAY1S;
LJMP MAIN1
ANJIAN:;若此程序用作子程序,则改MAIN为ANJIAN
MOV P1,#00H
MOV R2,#00H
LCALL DELAY;延时10MS去抖
MOV A,P0;读取行键数据
CJNE A,#0FFH,W0;行键有数据则继续判断
LJMP ANJIAN;若此程序用作子程序,则改LJMP MAIN为RET
/*判断第几列有按键按下*/
W0:
MOV R0,#00H;列数判断
MOV R1,#03H;行数判断
W2:
MOV DPTR,#TAB
MOV A,R0;按顺序调用列数数据
MOVC A,@A+DPTR
MOV P1,A;按顺序调用列数数据第N位
MOV A,P0;读取行键数据
CJNE A,#0FFH,W3;判断该列是否有按键按下,有则转
INC R0
INC R2;指示按键输出值
INC R2
INC R2
DJNZ R1,W2;跳出按键程序;调试时调回MAIN
LJMP ANJIAN;若此程序用作子程序,则改LJMP MAIN为RET
/*确定第几列第几行有按键按下*/
W3:
MOV R0,#00H;列数判断
MOV R1,#03H;行数判断
W4:
MOV DPTR,#TAB
MOV 50H,P0;50H用于存储行数据值
MOV A,R0
MOVC A,@A+DPTR
CJNE A,50H,W5
MOV DPTR,#TAB1
MOV A,R2
MOVC A,@A+DPTR
MOV 51H,A;51H存储待显示的数据值
RET;若此程序用作子程序,则改ANJIAN为RET
W5:
INC R0
INC R2
DJNZ R1,W4
LJMP ANJIAN;若此程序用作子程序,则改LJMP MAIN为RET
/*延时1S子程序*/
DELAY1S: ;延时1S
MOV R7,#0A7H
DL11:
MOV R6,#0ABH
DL10:
MOV R5,#10H
DJNZ R5,$
DJNZ R6,DL10
DJNZ R7,DL11
NOP
RET
/*延时10MS子程序*/
DELAY:
MOV R7,#01H;延时10MS
DL1:
MOV R6,#26H
DL0:
MOV R5,#82H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET
TAB:DB
0FEH,0FDH,0FBH;按键扫描顺序
TAB1:DB 1,4,7,2,5,8,3,6,9;按键值确定输出
TAB2:DB 1,2,3,4,5,6;密码设置
TAB3:DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H;P2--LED显示按键次数
END
正在阅读:
3x3按键可修改密码锁程序07-26
2022年北京市培养单位生态环境研究中心612生物化学与分子生物学04-10
潞酒之乡 - 图文11-19
2015江幼测试题一07-27
杨焕枝局长在市科技局年终总结大会上的讲话03-09
淮南市2014-2015第一学期期末九年级物理(沪粤版)试卷及答案10-27
阅读理解 - 图文04-25
5.1生态工程的基本原理导学案07-11
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 密码锁
- 按键
- 修改
- 程序
- 3x3
- 绿色城市设计与低碳城市规划——新型城市化下的趋势
- 电磁场与电磁波答案(第四版)谢处方
- 病原微生物与免疫学基础单元试题(最新整理)
- 装修流程模板SZGO
- 人教版七年级生物上册期末试题及答案待印
- 必修1专题七现代中国的外交关系复习提纲
- 浅谈问题导学法在高中数学教学中的应用
- 挤出流的同位旋效应
- 建筑节能工程施工质量验收(含表格)
- 院前急救诊疗常规和技术操作规范修改稿
- 正交试验法优选丹参中丹酚酸B的提取工艺
- 迪宝乐企业模拟实习体会
- pwm20100210470220_项华明_PWM软开关变频技术的研究
- 第一周+云计算概论
- 初三政治重要知识点
- 传统企业如何转型为创新型企业_理论模型与宝钢案例
- 大数据应用技术和潜在问题研究
- 汽车美容加盟谈谈碟式
- 苏锡常镇2011届高三调研测试(二)
- 麦肯锡最新全业务战略营销与管理咨询报告