标题:
基于汇编51单片机电子密码锁的仿真和实现(含源程序)
[打印本页]
作者:
guojinwc
时间:
2021-3-22 20:49
标题:
基于汇编51单片机电子密码锁的仿真和实现(含源程序)
我的第一个单片机程序设计,当时花费一周做汇编编程及Proteus仿真,后面一周做硬件的实物焊接。同各位电子爱好者怀念下玩51单片机的日子,汇编编程完全就是依靠对底层硬件的理解,去思考实现一个功能需要用到的汇编指令组合。每一句都值得推敲,虽然没有像C编程一样的demo,能够快速实现。工作近3年后的我才发现能够保持读书时代的不急不燥、勇敢面对未知、追求最好的心性是多么的珍贵。
附件中包含了详细的设计要求、设计原理图、仿真过程、实物验收。文档末尾有最重要的汇编源代码。
密码锁长度为6位数字,初始密码为系统预设。
密码输入正确后,输出一个电磁锁开锁信号,开锁指示灯亮,并发出两声“滴”提示,4秒后开锁信号与已开锁指示清零。
密码输入错误时,发出一声长“滴”声提示密码错误,密码错误指示灯亮。
三次密码错误时,发出长鸣警报声,密码错误指示灯亮,报警指示灯亮,此后15秒内无法再次输入密码,15秒后清楚所有报警和指示。
5秒内无任何操作,清除所有输入内容,等待下一次输入。
扩展功能:
密码可以任意修改。
修改的密码断电后可以长期保存。
(1)初始化界面
(2)当密码输入正确后
(3)当密码输入正确后按下改密
(4)当密码输入错误后
(5)当密码连续三次输入错误后
4.2.2 实物调试
(1)初始界面
(2)输入密码正确
(3)密码输入错误
(4)三次密码错误
附录
1:
元件清单
附录2
安装图
附录
3 实物验收
单片机源程序如下:
ORG 0000H
MOV 70H,#0;????
MOV 71H,#0
MOV 72H,#0
MOV 73H,#0
MOV 74H,#0
MOV 75H,#0
LJMP MAIN
ORG 001BH
LJMP T1ZD
ORG 0100H
RS EQU P0.5
RW EQU P0.6
E EQU P0.7
LCD EQU P2
BF EQU P2.7
MAIN: MOV P1,#0FH
SETB P3.7
SETB P0.0
SETB P0.1
SETB P0.2
LCALL T1ZDCSH
LCALL ChuShiHua
LCALL ShuRuXianShi
LCALL JianYan
LJMP MAIN
T1ZD: MOV TH1,#3CH
MOV TL1,#0B0H
CLR TF1
DJNZ 44H,FH
LCALL QingPing
MOV 60H,#0
MOV 61H,#0
MOV 62H,#0
MOV 63H,#0
MOV 64H,#0
MOV 65H,#0
MOV R0,#60H
CLR TR1
LCALL ChuShiHua
FH: RETI
T1ZDCSH: SETB EA
SETB ET1
MOV TMOD,#10H
MOV TH1,#3CH
MOV TL1,#0B0H
RET
ShuRuXianShi: MOV R0,#60H;XIANSHIMIMA:???????????,??????60h
CunMiMa: LCALL JianPan
MOV A,43H
XRL A,#13H
JZ ShanChu
MOV @R0,43H
MOV A,@R0
ADD A,#30H
LCALL WDATA
INC R0
LCALL D500MS
INC 46H
CJNE R0,#66H,CunMiMa
LCALL JianPan
MOV A,43H
XRL A,#29H
JZ FanHui
LOOP: SJMP LOOP
FanHui: RET
ShanChu: DEC R0
MOV A,R0
ADD A,#69H
LCALL WCMD
MOV A,#30
LCALL WDATA
LCALL D500MS
MOV A,R0
ADD A,#69H
LCALL WCMD
LJMP CunMiMa
JianYan: CLR TR1
LCALL QingPing
LCALL BiJiao
RET
BiJiao: MOV R1,#60H
MOV R0,#70H
HL: MOV A,@R0
XRL A,@R1
JNZ JRMMCW;??? ??????
INC R0
INC R1
CJNE R1,#66H,HL
LCALL MiMaZhengQue
RET
JRMMCW: LCALL MiMaCuoWu
RET
MiMaZhengQue: MOV 44H,#80
SETB TR1
MOV 79H,#0
MOV A,#80H
LCALL WCMD
MOV DPTR,#ZhengQueTiShi
MOV R2,#0
D00001: MOV A,R2
MOVC A,@A+DPTR
LCALL WDATA
INC R2
CJNE R2,#16,D00001
CLR P0.0
CLR P3.7
LCALL D100MS
SETB P3.7
LCALL D500MS
CLR P3.7
LCALL D100MS
SETB P3.7
LCALL ShiFouXiuGai
LCALL D1S
SETB P0.0
RET
ShiFouXiuGai: LCALL QingPing
MOV DPTR,#XiuGaiTiShi
MOV A,#83H
LCALL WCMD
MOV R7,#0
LL: MOV A,R7
MOVC A,@A+DPTR
LCALL WDATA
INC R7
CJNE R7,#10,LL
MOV A,#0C1H
LCALL WCMD
LLL: MOV A,R7
MOVC A,@A+DPTR
LCALL WDATA
INC R7
CJNE R7,#24,LLL
MOV A,#0CEH
LCALL WCMD
LCALL JianPan
LCALL D1S
MOV A,43H
XRL A,#29H
JZ XiuGaiMiMa
RET
XiuGaiTiShi:DB'Change ThePassword?(Y/N)'
XiuGaiMiMa: CLR TR1
LCALL QingPing
MOV DPTR,#XGTiShi
MOV A,#82H
LCALL WCMD
MOV R7,#0
XIU:MOV A,R7
MOVC A,@A+DPTR
LCALL WDATA
INC R7
CJNE R7,#12,XIU
MOV A,#0C1H
LCALL WCMD
EXIU: MOV A,R7
MOVC A,@A+DPTR
LCALL WDATA
INC R7
CJNE R7,#28H,EXIU
MOV A,#0C9H
LCALL WCMD
MOV R1,#50H
XC: LCALL JianPan
MOV A,43H
XRL A,#13H
JZ ShanChuXiuGai
MOV @R1,43H
MOV A,@R1
ADD A,#30H
LCALL WDATA
INC R1
LCALL D500MS
CJNE R1,#56H,XC
LCALL D1S
LCALL ShiFouBaoCun
RET
ShanChuXiuGai: DEC R1
MOV A,R1
ADD A,#79H
LCALL WCMD
MOV A,#30
LCALL WDATA
LCALL D500MS
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
以上代码51hei提供下载:
基于汇编51电子密码锁的仿真与实现.doc
(4.07 MB, 下载次数: 63)
2021-3-22 20:48 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
abslearn
时间:
2021-3-23 08:49
这个手绘的洞洞板图简直厉害形容,佩服楼主。
作者:
guojinwc
时间:
2021-3-23 20:05
abslearn 发表于 2021-3-23 08:49
这个手绘的洞洞板图简直厉害形容,佩服楼主。
不过也只有以前才有这个心境来这样画,各有各的乐趣。
作者:
吾先生
时间:
2021-6-5 21:06
初始密码多少?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1