51单片机电子密码锁.docx
《51单片机电子密码锁.docx》由会员分享,可在线阅读,更多相关《51单片机电子密码锁.docx(10页珍藏版)》请在冰豆网上搜索。
![51单片机电子密码锁.docx](https://file1.bdocx.com/fileroot1/2023-1/28/8ee3c08c-e022-4bda-9d0d-229761962649/8ee3c08c-e022-4bda-9d0d-2297619626491.gif)
51单片机电子密码锁单片机电子密码锁第1节引言11.1电子密码锁述11.2本设计主要任务11.3系统主要功能2第2节系统硬件设计32.1系统的硬件构成及功能32.2AT89C2051单片机及其引脚说明3第3节系统软件设计53.1系统主程序设计(流程图)53.2软件设计思想53.3储单元的分配53.4系统源程序63.5系统应用说明93.6小结9结束语10参考文献11附录12电子密码锁电子密码锁第第1节引言节引言1.1电子密码锁概述随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。
而锁自古以来就是把守门的铁将军,人们对它要求甚高,即要求可靠地防盗,乂要使用方便,这也是制锁者长期以来研制的主题。
传统的门锁既要备有大量的钥匙,乂要担心钥匙丢失后的麻烦。
另外,如:
宾馆、办公大楼、仓库、保险柜等,由丁装修施工等人住时也要把原有的锁胆更换,况且钥匙随身携带也诸多便。
随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能。
从而使密码锁具有很高的安全性、可靠性。
目前西方发达国家已经大量应用智能门禁系统,可以通过多种的更加安全更加方便可靠的方法来实现大门的管理。
但电子密码锁在我国的应用还不广泛,成本还很高,希望通过不断地努力使电子密码锁能够在我国及居民日常生活中得到广泛应用,这也是一个国家生活水平的体现。
很多行业的许多地方都要用到密码锁,随着人们生活水平的提高,如何实现家庭或公司的防盗这一问题也变的尤其突出,传统的机械锁由丁其构造简单,被撬的事件屡见不鲜,再者,普通密码锁的密码容易被多次试探而破译,所以,考虑到单片机的优越性,一种基丁单片机的电子密码锁应运而生。
电子密码锁由丁其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲睐。
设计本课题时构思的方案:
采用以AT89C2051为核心的单片机控制方案;能防止多次试探而不被破译,从而有效地克服了现实生活中存在的许多缺点。
1.2本设计主要任务
(1)共8位密码,每位的取值范围为18。
(2)用户可以自行设定和修改密码。
(3)按每个密码键时都有声、光提示。
(4)若键入的8位开锁密码不完全正确,则报警5秒钟,以提醒他人注意(5)开锁密码错3次要报警10分钟,报警期间输入密码无效,以防窃贼多次试探密码。
(6)键入的8位开锁密码完全正确才能开锁,开锁时要有1秒的提示音。
(7)密码键盘上只允许有8个密码按键和1个发光管。
锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的。
(8)密码设定完毕后要有2秒的提小首。
以上是初步设定的电子密码锁的主要功能。
1.3系统主要功能本系统主要由单片机系统、键盘、报警系统组成。
系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。
除上述基本的密码锁功能外,还具有调电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。
本系统成本低廉,功能实用。
第第1节节电子密码锁硬件设计电子密码锁硬件设计2.1系统的硬件构成及功能根据总体要求分析,该密码锁电路所需要的I/O口线少丁15个,所以可选择质优价廉的AT89C2051,而且不需要外接程序存储器和数据存储器及其它扩展部件。
电子密码锁由电路和机械两部分组成,此次设计的电子密码锁可以完成密码的修改、设定及非法入侵报警、驱动外围电路等功能。
从硬件上看,它由六部分组成,分别是:
LED显示器,显示亮度均匀,显示管各段不随显示数据的变化而变化,且价格低廉,它用丁显示键盘输入的相应信息;无须再加外部EPROM存储器,且外围扩展器件较少的AT89C52单片机是整个电路的核心部分;振荡电路为CPU产生赖以工作的时序;显示灯是通过CPU输出的一个高电平,通过三极管放大,驱动继电器吸合,使外加电压与发光二极管导通,从而使发光二极管发光,电机工作。
现在来进行修改密码操作。
修改密码实质就是输入的新密码去取代原来的旧密码。
密码的存储用来存储一位地址加1,密码位数减1,当八个地址均存入一位密码,即密码位数减为零时,密码输入完毕,此时按下确认键,新密码产生,跳出子程序。
为防止非管理员任意的进行密码修改,必须输入正确密码后,按修改密码键,才能重新设置密码。
密码输入值的比较主要有两部分,密码位数与内容任何一个条件不满足,都将会产生出错信息。
当连续三次输入密码出错时,就会出现报警信息,LED显示出错信息,蜂鸣器鸣叫,提醒人注意。
在电路中,P1口连接8个密码按键AN1AN8,开锁脉冲由P3.5输出,报警和提示音由P3.7输出。
BL是用丁报警与声音提示的喇叭,发光管D1用丁报警和提示,L是电磁锁的电磁线圈。
图1电子密码锁硬件电路图2.2.1AT89C2051单片机及其引脚说明AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版与IntelMCS-51系列单片机的指令和输出管脚相兼容。
由丁将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。
内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,AT89C2051是一个有20个引脚的芯片,弓|脚配置如图2所示。
与8051相比,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚下,因而芯片尺寸有所减小。
PDIP网C图2AT89C2051引脚配置AT89C2051芯片的20个引脚功能为:
VCC电源电压。
GND接地。
RST复位输入。
当RST变为高电平并保持2个机器周期时,所有I/O引脚复至1”。
XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2来自反向振荡放大器的输出。
P1口8位双向I/O口。
引脚P1.2P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。
P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1口引脚写入T后,可用作输入。
在闪速编程与编程校验期间,P1口也可接收编码数据。
P3口引脚P3.0P3.5与P3.7为7个带内部上拉的双向I/0引脚。
P3.6在内部已与片内比较器输出相连,不能作为通用I/O弓I脚访问。
P3口的输出缓冲器能接收20mA的灌电流;P3口写入1”后,内部上拉,可用输入。
P3口也可用作特殊功能口,功P3口同时也可为闪速存储器编程和编程校验接收控制信号。
P3口特殊功能口特殊功能特殊功能P3口引脚P3.0RXD(申行输入口)P3.1TXD(申行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)第第3节节系统的软件设计系统的软件设计图3给出了该单片机密码锁电路的软件流程图。
图中AA1AA8以及STARTSETSAVE是程序中的标号,是为了理解程序而专门标在流程图的对应位置的,分析程序时可以仔细对照参考。
3.1系统主程序设计流程图(见附贞)3.2软件设计思想软件任务分析环节是为软件设计做一个总体规划。
从软件的功能来看可分为两大类:
一类是执行软件,它能完成各种实质性的功能(如计算、显示、输出控制和通信等);另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件。
这两类软件的设计方法各有特色;执行软件的设计偏重算法效率,与硬件关系密切,千变万化;监控软件着眼全局,主要处理人机关系,特点是逻辑严密、千头万绪。
本设计要完成的软件任务主要有:
一是键盘输入的识别;二是8位LED的显示;三是密码的比较、修改、存储;四是报警和开锁控制电平的输出。
根据以上任务,结合硬件结构,可以将键盘输入的识别用来作为系统的监控程序(主程序),用显示程序来延时,不断查询键盘。
如果有键按下,就得到相应的键值。
结合当前系统所处的状态,调用不同的操作模块,实现相应的功能。
而执行模块主要有数字输入模块、确定键模块、修改键模块、显示模块及报警模块。
3.3存储单元的分配该密码锁中RAM存储单元的分配方案如下:
31H38H:
依次存放8位设定的密码,首位密码存放在31H单元;R0:
指向密码地址;R2:
已经键入密码的位数;R3:
存放允许的错码次数3与实际错码次数的差值;R4至R7:
延时用;00H:
错码标志位。
对丁ROM存储单元的分配,由丁程序比较短,而且占用的存储空间比较少,因此,在无特殊要求时,可以从0030H单元(其它地址也可以)开始存放主程序。
3.4系统源程序ORG0000HAJMPSTARTORG0030HSTART:
ACALLBPMOV:
R0,#31HMOV:
R2,#8SET:
MOV:
P1,#0FFHMOV:
A,P1CJNE:
A,#0FFH,L8AJMPSETL8:
ACALLDELAYCJNEA,#0FFH,SAVEAJMPSETSAVE:
ACALLBPMOVR0,AINCR0DJNZR2,SETMOVR5,#16D2S:
ACALLBPDJNZR5,D2SMOVR0,#31HMOVR3,#3AA1:
MOVR2,#8AA2:
MOVP1,#0FFHMOVA,P1CJNEA,#0FFH,L9AJMPAA2L9:
ACALLDELAYCJNEA,#0FFH,AA3AJMPAA2AA3ACALLBPCLRCSUBBA,R0INCR0CJNEA,#00H,AA4AJMPAA5AA4:
SETB00HAA5:
DJNZR2,AA2JB00H,AA6CLRP3.5L3:
MOVR5,#8ACALLBPDJNZR4,L3MOVR3,#3SETBP3.5AJMPAA1AA6:
DJNZR3,AA7L5:
MOVR4,#200L4:
ACALLBPDJNZR4,L4DJNZR5,L5MOVR3,#3AA7:
MOVR5,#40ACALLBPDJNZR5,AA7AA8:
CLR00HAJMPAA1BP:
CLRP3.7MOVR7,#250L2:
MOVR6,#124L1:
DJNZR6,L1CPLP3.7DJNZR7,L2SETBRETDELAYMOVR7,#20L7:
MOVR6,#125L6:
DJNZR6,L6DJNZR7,L7RETEND3.5应用说明若按键AN1AN7分别代表数码17,按键AN0代表数码8。
在没有键按下时,P1.0P1.7全是高电平1,若某个键被按下,相应的口线就变为低电平0。
假如设定的密码是61234578,当按键AN6被按下时,P1.6变为低电平,P1端口其余口线为高电平,此时从P1端口读入的数值为10111111,存到31H单元的密码值就是10111111,也就是BFH。
依此类推,存到32H至38H单元的密码值分别是FDH、FBH、F7H、EFKDFH、7FH、FEH开锁时必须先按AN6,使从P1口读入的第一个密码值与31H单元存储的设定值相同,再顺序按AN1、AN2、AN3、AN4、AN5、AN7、AN0才能开锁。
否则不能开锁,同时开始报警。
3.6小结该电子密码锁能充分利用了51系统单片机软、硬件资源,引入了智能化分析功能,提高了系统的可靠性和安全性,另外,电子密码锁若与申行通信结合在一起将会成为宾馆、工厂、学校等需要进行统一管理的建筑群不可缺的商品。
机电一体化的电子密码锁,其功能大大超过弹子锁,且性能更稳定、更安全。
其特点,首先保密性好,其次编码可变;其三误码输入保护;其四停电不掉码;其五多种密码开锁方式,使用方便,没有单人开锁、二三人多种开锁方式。
由丁自身的优势,电子密码锁会受到越来越多人们的欢迎,使用会越来越广泛,同时,也将会被社会所接受认可,并与弹子锁平分秋色。
结束语结束语选这个课题的时候,是因为大专期间老师让我们试着去用单片机实现电子密码锁,她告诉了我们电子密码锁的应用领域,丁是,当老师让我们做一个应用小系统的时候,我就已经确定了课题。
以前老师给我们的思路彳艮简单,只要求能够接受6位密码,密码正确,开锁,密码错误,活LED,不开锁。
所以,借这个机会,我可以完善电子密码锁,在原先思路的基础上,通上各种途径知识的获取,增加各种各样的功能和防盗措施。
以上是我设计的电子密码锁电路,参考和结合了很多有关电子密码锁问题的论文,它经过多次修改和整理,已是一个比较不错的设计,可以满足人们的基本要求,防盗系数高,安全性能好。
但因为水平有限,此电路中也存在一定的问题。
由丁他人不知道密码的位数,而且还要求在规定的时间内按一定的顺序开锁,所以他人开锁的机率很小;电路中未加显示电路,可以通过8只LED数码管显示,即从键盘输入什么,LED数码管就显示什么,但考虑到密码输入的保密性,这一环节可以省去,或者在输入密码时,LED可以显示其它的数值,让其密码不显示。
电路中还有一个不好的地方就是键盘的分布,我们可以采用行列式或矩阵式键盘,这样可以节省很多的I/O口线。
我试着去改进了,后面的电路图就是我自己动手画的,这次大体的改进思路。
这次我第一次写课程论文,也是第一次认认真真地去阅读人家写的论文,并还要花费时间去读懂它,然后加以改进。
过程确实有些痈苦,因为我们头脑里现有的知识太少了,必须不断地查资料、推敲,才有所领悟。
过程是痈苦的,收获乂是幸福的。
这次第一次,将来一定会有第二次,谢谢老师让我们提前做好了一些准备,也知道今后自己该怎么去做。
通过这次写课程论文,我感觉有很大的收获:
首先,通过学习使自己这学期对课本上的专业知识可以应用丁实际,使得理论与实际相结合,加深自己对课本知识的更好理解,同时短学期也锻炼了自己个人的动手能力;能够充分利用图书馆、网络资源去查阅相关资料,增加了许多课本以外的知识,慢慢地能达到学以致用。
对我们学生来说,理论与实际同样重要,但对丁我们非师范类学生,毕业以后,掌握一定的技术,有一定的动手能力,才是我们今后走向社会所要具备的,这也我们以后在工作中说明自己能力的一个重要标准。
恳请老师指出不足之处!
参考文献参考文献1张鑫,华臻,陈书谦.单片机原理及应用M.:
电子工业出版社,2005.2李朝活.单片机原理及接口技术M.:
航空航天大学出版社,1994.3周勇,付大鹏,刘刚强.新型家用密码锁的研究J.机械,2002,29(赠刊):
128-129.4李珍,付植桐.单片机原理与应用技术M.:
活华大学出版社,2003