您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子密码锁设计与调试-宋锦
ComputerKnowledgeandTechnology电脑知识与技术本栏目责任编辑:谢媛媛软件设计开发8第7卷第33期(2011年11月)第7卷第33期(2011年11月)电子密码锁设计与调试宋锦(南京信息职业技术学院,江苏南京210046)摘要:该文从经济实用的角度出发,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性通过软件程序来控制调试整个系统实现电子密码锁的基本功能。调试整个系统以实现密码的输入、清除、显示,输入的密码正确就可以开锁,超过一定的时间没有输入会自动返回,密码错误次数超过三次会报警且系统死机。系统设定初始密码,用户可以修改密码。系统功能实用,成本较低,具有一定的实用价值。经仿真实验证明,该密码锁具有设计方法合理,简单易行,成本低,设计新颖,操作方便,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。关键词:密码锁;单片机;AT89C51;调试中图分类号:TP331文献标识码:A文章编号:1009-3044(2011)33-8218-03ElectronicCodeLockDesignSONGJin(NanjingCollegeofInformationTechnolgy,Nanjing210046,China)Abstract:ThisarticleFromtheeconomicalpointofview,withtheUnitedStatesAtmel'sMCUAT89S51asmaincore,combinedwithkeycircuit,LEDdigitaldisplaycircuits,memorycircuits,alarmindicatingcircuitandunlockagencies,useofflexibleprogrammablemicro⁃controllerdesignandrichI/Oport,andcontroltheaccuracyofthesoftwareprogramtocontrolthewholesystemtoachievethebasicfunc⁃tionsofelectroniclocks.Systemthatcanenterthepassword,remove,display,enterthecorrectpasswordcanunlockmorethanacertaintimedoesnotenterwillbeautomaticallyreturned,thepassworderrormorethanthreetimesthenumberofalarmandsystemcrashes.Sys⁃temsettheinitialpassword,theusercanmodifythepassword.Systemfunctionalandpractical,lowcostandhavesomepracticalvalue.Thesimulationresultsshowthatthelockhasareasonabledesign,simple,lowcost,innovativedesign,easyoperation,safeandpracticalcharacter⁃istics,consistentwithresidential,officelockrequestisworthpromoting.Keywords:electroniccodelock;SCM;AT89C51在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引角的2051系列单片机来实现的,但密码简单,易破解。所以,需要设计一个安全、可靠、方便使用的电子密码锁。1电子密码设计1.1系统硬件构成1.1.1设计原理本设计主要由单片机、矩阵键盘、显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。当用户需要开锁时,先按键盘选择功能键“开锁”按下开锁键之后按键盘的数字键0-9输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确会提示重新输入密码,当三次密码错误则发出报警,系统死机,并需复位后才可用;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。此时需要输入两次新的密码,以保证用户能正确的记住所设置的新密码。两次输入的新密码相同系统自动把新密码存储,密码修改成功。本系统共有两部分构成,即硬件部分与软件部分。硬件部分由电源输入部分、键盘输入部分、复位部分、晶振部分、显示部分、报警部分、开锁、时钟计时部分组成,软件部分对应的由主程序、开锁程序、LCD显示程序、键盘扫描程序、修改密码程序、关闭程序、验证密码程序和延时程序等组成。软件部分主要用到了WAVE软件和PROTEUS仿真工具。这两种软件的功能很强大,程序用汇编语言编写。硬件的设计电路构成如图1所示。1.1.2电路总体构成根据实际情况键盘输入部分选择4*4矩阵键盘,显示部分选择显示器7SEG-MPX8-CA-BLUE。其原理图仿真连接如图2所示。收稿日期:2011-10-18作者简介:宋锦(1969-),女,副教授,主要研究方向为计算机控制技术等。E-mail:xsjl@cccc.net.cn电脑知识与技术Vol.7,No.33,November2011.218ComputerKnowledgeandTechnology电脑知识与技术软件设计开发本栏目责任编辑:谢媛媛8第7卷第33期(2011年11月)第7卷第33期(2011年11月)1.1.3键盘输入部分本设计采用矩阵式键盘。密码锁的密码由键盘输入完成,键盘的扫描主要由P1.0-P1.7来完成。本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能、确定输入、退出系统等。键盘的每个按键功能在程序设计中设置。1.1.4开锁部分设计调试采用继电器完成开锁功能。继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。单片机是一个弱电器件,一般情况下它们大都工作在5V甚至更低.驱动电流在mA级以下.而要把它用于一些大功率场合,比如控制电动机,显然是不行的.所以,就要有一个环节来衔接,这个环节就是所谓的功率驱动.继电器驱动就是一个典型的、简单的功率驱动环节.在这里,继电器驱动含有两个意思:一是对继电器进行驱动,因为继电器本身对于单片机来说就是一个功率器件;还有就是继电器去驱动其他负载,比如继电器可以驱动中间继电器,可以直接驱动接触器,所以,继电器驱动就是单片机与其他大功率负载接口。当接口给低电平时,使电路导通,处开锁状态,红灯亮,提示开锁。当接口给高电平时,电路无法导通,处关锁状态,图中电阻起到保护继电器的作用。1.1.5显示部分设计调试当接通电源或者按下复位键以后,显示器关闭,无显示。按键选择功能,每次需要输入密码时显示器显示“INPUT”提示可以输入。在密码输入和修改过程中,显示器和相应LED组合完成各项提示信息的提供。当按下键盘上的开锁按键后利用键盘上的数字键0-9输入密码,每按下一个数字键后在显示器上显示一个H,输入多少位就显示多少个H。当密码输入完成时,按下确认键,如果输入的密码正确的话,显示器灭,电子密码锁被打开。1.1.6报警部分设计调试报警部分由单片机连接蜂鸣器完成,蜂鸣器通过P3.4口和单片机相连。当连续三次输入错误则置P3.4引脚为低电平,蜂鸣器一直响且系统死机,必须复位。利用proteus软件仿真调试。如图2所示。2设计目标及各功能实现调试2.1设计目标本设计主要的功能包括关锁,需要时输入正确的密码开锁,另外用户可以根据自己的需求设置密码。当不知道密码的人员试图开锁时,若连续三次均输入错误则系统死机,这样就保证了密码锁有较高的安全可靠性。另外,在用户输入过程中,若超过十秒仍无任何输入则系统自动返回初始态,以前的操作无效。用户修改了密码忘记按键返回,系统在十秒钟后可以自动返回。2.2功能实现调试密码锁初始密码为0000002.2.1开锁调试需要开锁时,首先选择键盘上的“开锁”键,显示器显示“INPUT”提示可以输入六位密码。每输入一位,显示“H”(为安全起见,不显示输入的数值,以H代替显示)。输入完毕按“确定”键。若输入正确自动开锁(红灯亮),否则显示器显示“ERROR”提示密码输入错误,按“确定/输入”键,重新输入,此时也可以“退出”,若十秒内不做任何反应则系统自动退出。若连续三次输入错误,则一直报警并死机,需要复位。另外,系统设置了时钟装置,在输入过程中,间隔不能超过10秒,否则系统自动返回。2.2.2关锁调试关锁比较简单,直接按“关锁”键,即可关锁。系统返回初始态。2.2.3修改密码调试选择“修改密码”键,显示器显示“INPUT”提先示可以输入原密码。输入完毕按“确定”键。若密码错误,显示“ERROR”,此时选择“确定/输入”键再一次输入密码也可以选择“退出”退出程序。若连续三次输入错误则持续报警并死机。若原密码输入正确,黄灯亮,显示器显示“INPUT”提示可以输入新的六位密码。输入完按“确定”键后,显示器重新显示“IN⁃PUT”提示再输入一次新的密码。若两次输入的密码不一样则密码修改不成功,显示“ERROR”提示错误,按任意键使系统自动进入初始状态。若要重新修改,需重新选择“修改密码”键。若两次输入的新的密码一样,则显示YES提示密码修改成功,按任意键使系统自动进入初始状态。下次需要开锁或选择其他功能需输入新的密码。2.2.4注意事项在开锁或修改密码过程中若发现输入错误,则可以按“取消”键取消最近一位的输入,在开锁或修改密码过程中,若突然改变主图1电路构成图2原理图219ComputerKnowledgeandTechnology电脑知识与技术本栏目责任编辑:谢媛媛软件设计开发8第7卷第33期(2011年11月)第7卷第33期(2011年11月)意不想继续执行,可以按“退出”键退出。密码输入完必须按“确定”键表示输入完毕。每次输入时间间隔不能超过十秒,否则系统自动退出。在修改密码过程中,无论密码修改成功(以YES提示)还是不成功(以ERROR提示)都需要按任意键返回。若10秒内没有按键返回,则系统自动返回。3出现的故障及其解决方法3.1开锁部分出现的故障及其解决方法开锁时密码锁不工作,造成的原因:晶振不起振,单片机不能正常工作。可以在XTAL1、XTAL2引脚上接上示波器,观察输出的波形,以确定是否振荡。开锁时显示器显示“ERROR”,可能出现的故障:1)不首先按“开锁”键;2)输入密码的位数不足六位;3)密码输入完毕后不按“确定”键。解决方法:1)可以直接按“退出”键;2)可以等十秒;3)在软件程序中设置了密码修改等程序;4)系统中设置了时钟装置。3.2显示部分出现的故障及其解决方法显示器不显示,显示部分是用P0、P2连在LED数码管上;造成故障的原因是P0口无上拉电路。可以用万用表测试P0连接的数码管上是否有
本文标题:电子密码锁设计与调试-宋锦
链接地址:https://www.777doc.com/doc-7331530 .html