密码门锁模拟
编号:08
单片机实验报告
目:密码门锁模拟
班级:
姓名:
学号:
指导教师:
编号:08
河北工业大学计算机
硬件技术基础(MCS-51)2008年秋季综合性、开放性实验报告 学院:土木
学院 班级 姓名: 学号: 成绩: 一、题目:
密码门锁的模拟
二、问题的提出
1.培养综合利用汇编语言进行程序
的能力,主要是利用mcs-51综和实验台的扩展部件进行应用程序设计的能力。
2. 很多地方都需要密码锁,但普通密码锁的密码容易被多次试探而破译。本文给出了一种可以防止多次试探密码的密码锁的设计方法,从而有效的克服了上述缺点
三、程序清单
ORG 8000H
AJMP START
ORG 8003H
LJMP INT0SV
ORG 8030H
MAIN:SETB EA
SETB EX1
CLR IT0
INT0SV:
START: JB P3.2, START
ACALL BP
MOV R0, #31H
MOV R2, #08H
编号:08
MAK: MOV P1, #0FFH
MOV A, P1
CJNE A, #0FFH, L8
AJMP MAK
L8: ACALL DELAY
CJNE A, 0FFH, SAVE
AJMP MAK
SAVE: MOV R5, #5
ALL1: ACALL BP
DJNZ R5, ALL1
MOV @R0, A
INC R0
DJNZ R2, MAK
MOV R5, #16 D2S: ACALL BP
DJNZ R5, D2S
AA1: MOV R0,#31H
MOV R3,#3
MOV R2, #8 AA2: MOV P1,#0FFH
MOV A,P1
CJNE A,#0FFH, L9
AJMP AA2
L9: MOV R5, #20
ALL2: ACALL DELAY
DJNZ R5, ALL2
CJNE A, #0FFH, AA3
AJMP AA2
AA3: ACALL BP
CLR C
编号:08
SUBB A, @R0
INC R0
CJNE A, #00H, AA4
AJMP AA5
AA4: SETB 00H AA5: DJNZ R2,AA2
JB 00H , AA6
CLR P3.3
MOV R4, #20
L3: ACALL BP
DJNZ R4, L3
MOV R3,#3
SETB P3.3
AJMP AA1
AA6: MOV R5, #40
DJNZ R3, AA7
MOV R5, #124 L5: MOV R4, #200 L4: ACALL BP
DJNZ R4, L4
DJNZ R5 , L5
MOV R3,#3
AA7: ACALL BP
DJNZ R5, AA7 AA8: CLR 00H
AJMP AA1
BP: CLR P3.4
MOV R7, #250 L2: MOV R6,#124 L1: DJNZ R6, L1
编号:08
CPL P3.4
DJNZ R7,L2
SETB P3.4
RET
DELAY: MOV R7,#20
L7: MOV R6, #125
L6: DJNZ R6, L6
DJNZ R7,L7
RET
reti
END
四、接线及调试程序方法
1.将sw1置低电平
2.设置密码
3.输入密码进行比较
五、你所设计的程序最终完成的功能
(1) 8位密码,每位的取值范为,,,。
(2) 用户可以自行设定和修改密码。
(3) 若键入开锁密码不正确,则报警,以提醒他人注意。
(4) 开锁密码错,次要报警,报警期间输入密码无效,以防窃贼多次试探密码。
(5) 键入开锁密码完全正确指示灯闪烁并有提示音,即锁开
六、对该设计题目有何更完善的
1、此次我们比较成功的设计并实践了电子密码门锁的模拟
2、设置的密码在被验证后也可以修改,使用显示器显示按键内容以及能够设置输入更为复杂的密码
七、收获及心得体会
本试验是单片机原理的综合运用之一,让我进一步理解了学习单片机的重要性,也同时看到了学习单片机的最终目的是把它应用到实施控制系
编号:08 统以及仪器仪
和家用电器等各个领域。
在广泛的领域内,虽然技术要求是不一样的,但是对于设计的方法思路以及研制步骤都是基本相同的,所以对于以后在实际工作中应用单片机原理也有着重要的指导意义
虽说这些程序不完全是自己的,但里面倾注了我白分之八十的心血。这之中有同学们的汗水,更摸不去的是老师们的辛勤汗水,在此我要感谢老师们给我这次机会。以前都以为这些不太重要,。但现在知道了单片机的重要性,以后一定要深入学习它,使它用于我们的生活中。
参考资料:《单片机程序设计教程和最小系统实践》-----北京航空航天大学出版社 《MCS—51单片机汇编语言程序设计》等
日期: 2008年 12月30 日