欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>能防止多次试探密码的单片机密码锁

能防止多次试探密码的单片机密码锁

2022-05-30 06:51:56 收藏本文 下载本文

“踽踽麦是湖”通过精心收集,向本站投稿了2篇能防止多次试探密码的单片机密码锁,下面是小编帮大家整理后的能防止多次试探密码的单片机密码锁,希望对大家有所帮助。

能防止多次试探密码的单片机密码锁

篇1:能防止多次试探密码的单片机密码锁

能防止多次试探密码的单片机密码锁

摘要:提出了一种能防止多次试探密码的基于单片机的密码锁设计方案,根据用户的10条总体要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。

关键词:单片机;密码锁;密码

1引言

很多行业的许多地方都需要密码锁,但普通密码锁的密码容易被多次试探而破译。本文给出了一种能防止多次试探密码的密码锁设计方法,从而有效地克服了上述缺点。

2硬件电路

图1所示是笔者设计的一种密码锁电路。该密码锁主要是按照以下10条用户要求进行设计的:

(1)共8位密码,每位的取值范围为1~8。

(2)用户可以自行设定和修改密码。

(3)按每个密码键时都有声、光提示。

(4)若键入的8位开锁密码不完全正确,则报警5秒钟,以提醒他人注意。

(5)开锁密码错3次要报警10分钟,报警期间输入密码无效,以防窃贼多次试探密码。

(6)键入的8位开锁密码完全正确才能开锁,开锁时要有1秒的提示音。

(7)电磁锁的电磁线圈必须用脉冲驱动,每次通电时间不多于2秒,以防烧坏。

(8)密码键盘上只允许有8个密码按键和1个发光管。锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的。

(9)密码设定完毕后要有2秒的提示音。

(10)成本要比较低,硬件和软件都要尽可能简洁可靠,易于批量生产。

根据总体要求分析,该密码锁电路所需要的I/O口线少于15个,若设计得当,程序不会超过200条指令,所以可选择质优价廉的AT89C1051/2051或者GMS1051/2051,而且不需要外接程序存储器和数据存储器及其它扩展部件。

在图1所示电路中,P1口连接8个密码按键AN1~AN8,开锁脉冲由P3.5输出,报警和提示音由P3.7输出。BL是用于报警与声音提示的喇叭,发光管D1用于报警和提示,L是电磁锁的电磁线圈。

3软件设计

图2给出了该单片机密码锁电路的软件流程图。图中?AA1~AA8以及START、SET、SAVE是程序中的标号,是为了理解程序而专门标在流程图的对应位置的,分析程序时可以仔细对照参考。

3.1存储单元的'分配

该密码锁中RAM存储单元的分配方案如下:

31H~38H:依次存放8位设定的密码,首位密码存放在31H单元;

R0:指向密码地址;

R2:已经键入密码的位数;

R3:存放允许的错码次数3与实际错码次数的差值;

R4至R7:延时用;

00H:错码标志位。

对于ROM存储单元的分配,由于程序比较短,而且占用的存储空间比较少,因此,在无特殊要求时,可以从0030H单元(其它地址也可以)开始存放主程序。

3.2源程序

下面是该电子密码锁的软件源程序代码:

ORG0000H

AJMPSTART

ORG0030H

START:ACALLBP

MO

VR0,#31H

MOVR2,#8

SET:MOVP1,#0FFH

MOVA,P1

CJNEA,#0FFH,L8

AJMPSET

L8:ACALLDELAY

CJNEA,#0FFH,SAVE

AJMPSET

SAVE:ACALLBP

MOV@R0?A

INCR0

DJNZR2,SET

MOVR5,#16

D2S:ACALLBP

DJNZR5,D2S

MOVR0,#31H

MOVR3,#3

AA1:MOVR2,#8

AA2:MOVP1,#0FFH

MOVA,P1

CJNEA,#0FFH,L9

AJMPAA2

L9?ACALLDELAY

CJNEA,#0FFH,AA3

AJMPAA2

AA3:ACALLBP

CLRC

SUBBA,@R0

INCR0

CJNEA,#00H,AA4

AJMPAA5

AA4:SETB00H

AA5:DJNZR2,AA2

JB00H?AA6

CLRP3.5

L3?MOVR5,#8

ACALLBP

DJNZR4,L3

MOVR3,#3

SETBP3.5

AJMPAA1

AA6:DJNZR3,AA7

MOVR5,#24

L5:MOVR4,#200

L4:ACALLBP

DJNZR4,L4

DJNZR5,L5

MOVR3,#3

AA7:MOVR5,#40

ACALLBP

DJNZR5,AA7

AA8:CLR00H

AJMPAA1

BP:CLRP3.7

MOVR7,#250

L2:MOVR6,#124

L1:DJNZR6,L1

CPLP3.7

DJNZR7,L2

SETBP3.7

RET

DELAY?MOVR7,#20

L7:MOVR6,#125

L6:DJNZR6,L6

DJNZR7,L7

RET

END

4应用说明

若按键AN1~AN7分别代表数码1~7,按键AN0代表数码8。在没有键按下时,P1.0~P1.7全是高电平1,若某个键被按下,相应的口线就变为低电平0。假如设定的密码是61234578,当按键AN6被按下时,P1.6变为低电平,P1端口其余口线为高电平,此时从P1端口读入的数值为10111111,存到31H单元的密码值就是10111111,也就是BFH。依此类推,存到32H至38H单元的密码值分别是FDH、FBH、F7H、EFH、DFH、7FH、FEH。开锁时必须先按AN6,使从P1口读入的第一个密码值与31H单元存储的设定值相同,再顺序按AN1、AN2、AN3、AN4、AN5、AN7、AN0才能开锁。否则不能开锁,同时开始报警。

篇2:能防止多次试探密码的单片机密码锁

能防止多次试探密码的单片机密码锁

摘要:提出了一种能防止多次试探密码的基于单片机的密码锁设计方案,根据用户的10条总体要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。

关键词:单片机;密码锁;密码

1 引言

很多行业的许多地方都需要密码锁,但普通密码锁的密码容易被多次试探而破译。本文给出了一种能防止多次试探密码的密码锁设计方法,从而有效地克服了上述缺点。

2 硬件电路

图1所示是笔者设计的一种密码锁电路。该密码锁主要是按照以下10条用户要求进行设计的:

(1)共8位密码,每位的取值范围为1~8。

(2)用户可以自行设定和修改密码。

(3)按每个密码键时都有声、光提示。

(4)若键入的8位开锁密码不完全正确,则报警5秒钟,以提醒他人注意。

(5)开锁密码错3次要报警10分钟,报警期间输入密码无效,以防窃贼多次试探密码。

(6)键入的8位开锁密码完全正确才能开锁,开锁时要有1秒的'提示音。

(7)电磁锁的电磁线圈必须用脉冲驱动,每次通电时间不多于2秒,以防烧坏。

(8)密码键盘上只允许有8个密码按键和1个发光管。锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的。

(9)密码设定完毕后要有2秒的提示音。

(10)成本要比较低,硬件和软件都要尽可能简洁可靠,易于批量生产。

根据总体要求分析,该密码锁电路所需要的I/O口线少于15个,若设计得当,程序不会超过200条指令,所以可选择质优价廉的AT89C1051/2051或者GMS1051/2051,而且不需要外接程序存储器和数据存储器及其它扩展部件。

在图1所示电路中,P1口连接8个密码按键AN1~AN8,开锁脉冲由P3.5输出,报警和提示音由P3.7输出。BL是用于报警与声音提示的喇叭,发光管D1用于报警和提示,L是电磁锁的电磁线圈。

3 软件设计

图2给出了该单片机密码锁电路的软件流程图。图中?AA1~AA8以及START、SET、SAVE是程序中的标号,是为了理解程序而专门标在流程图的对应位置的,分析程序时可以仔细对照参考。

3.1 存储单元的分配

该密码锁中RAM存储单元的分配方案如下:

31H~38H:依次存放8位设定的密码,首

[1] [2] [3] [4]

【能防止多次试探密码的单片机密码锁】相关文章:

1.Q友必看 巧妙防止QQ密码被盗的五个绝招木马防范

下载word文档
《能防止多次试探密码的单片机密码锁.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

能防止多次试探密码的单片机密码锁相关文章
最新推荐
猜你喜欢
  • 返回顶部