2020年1月16日河南工业职业技术学院电子密码锁设计姓名:---班级:---学号:---指导教师:---摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,安全性能低,无法满足人们的需要。因此通过电子控制的密码锁应运而生,同时电子产品向智能化和微型化的不断发展,单片机成为电子产品研制和开发中首选的控制器。本文从经济实用的角度出发,采用美国Atmel公司的单片机贴片AT89C52与低功耗CMOS型E2PROMAT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路,用C语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。经实验证明,该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。关键词:密码锁;单片机;报警目录一、引言..................................................................31.1电子密码锁简介.....................................31.2、电子密码锁的发展趋势...............................3二、设计方案的选择...................................................42.1方案一:采用数字电路控制...........................42.2方案二:采用以单片机为核心的控制方案...............4三、系统构成...........................................................53.1设计原理...........................................53.2电路总体构成.......................................63.3单片机电路部分.....................................73.4键盘输入部分.......................................73.5密码存储部分.......................................83.7晶振部分...........................................93.8显示部分..........................................103.9报警部分..........................................113.10开锁部分.........................................11四、主要元器件介绍...............................12五、系统软件设计.................................16六、结论.........................................29七、参考文献及附录实物图..........................29一、引言1.1电子密码锁简介电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下:1)保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3)误码输入保护,当输入密码多次错误时,报警系统自动启动。4)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。5)电子密码锁操作简单易行,一学即会。1.2、电子密码锁的发展趋势在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引脚的2051系列单片机来实现的,但密码简单,易破解。随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真实的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。1.3、本设计所要实现的目标本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以由用户自己修改设定,锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。二、设计方案的选择2.1方案一:采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。故不采用2.2方案二:采用以单片机为核心的控制方案由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最数器基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。2.3最终方案基于以上因素:本设计选用单片机AT89C52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路:外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。当用户需要开锁时,先按键盘的数字键0-9输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。方案框架图:应电0901AT89C52贴片程序键盘输入报警模块继电器模块1602显示24c02模块三、系统构成3.1设计原理设计原理:系统由硬件部分与软件部分两部分构成。其中硬件部分由单片机、电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。其原理框图如图4-1所示。图3-1电子密码锁原理框图AT89C52键盘输入复位电路密码存储电路晶振电路电源输入显示电路报警电路开锁电路3.2电路总体构成根据系统要求画出的设计图总图-如图3-2:图3-2电电路原理图电路由单片机、矩阵键盘、1602液晶显示和24c02密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与24c02保存的密码进行对比,从而判断密码是否正确,然后控制单片机各引脚的高低电平从而传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。3.3单片机电路部分本次设计采用AT89C52贴片芯片,AT89C52是一个低电压,高性能CMOS8位单片机,通过用keil软件编写程序,然后烧到单片机里面去,然后让它对整个系统进行信息的处理,如可以让它处理矩阵键盘传过来的信息,并根据编好的程序来确定哪个按键按下,并处理相应按键对应的功能,然后把相应的信息反应到单片机的各个引脚,来实现按键实现的现象,如:显示是否开启锁,报警等。它的电路如图3-3所示:图3-3单片机电路3.4键盘输入部分由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如修改密码功能等。键盘的每个按键功能在程序设计中已经编写好。其大体功能(看键盘按键上的标记)及与单片机引脚接法如图3-4所示:图3-4键盘输入原理图矩阵键盘采用“行列”扫描法,行扫描法又称逐行扫描查询法,是一种最常用的按键扫描方法,如上图所示,开始时把行线P1.0-P1.3置为低电平,然后扫描列线,如果有一行列线为低电平,则去抖后判断是否还有一行列线为低电平,如果还有,则这条列线为低电平,同时处在这条行线中的按键为低电平,然后判断是哪个按键按下,如果列线全部为高电平,则表示没有按键按下,往复循环扫描。3.5密码存储部分用EPROM芯片AT24C02存储密码。AT24C02是美国Atmel公司的低功耗CMOS型E2PROM,内含256×8位存储空间,通过单片机对24c02芯片进行密码存储,存储好密码后,通过按键输入密码与存储芯片里面的数据进行对比,根据数据是否一致,来执行相应的操作,还可以根据按键操作来执行是否更换数据。电路连接图如图3-5所示:图3-5密码存储电路原理图图中AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。它们都接地,第8脚和第4脚分别为正、负电源。第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,与单片机的P1.5连接。第6脚SCL为串行时钟输入线,与单片机的P1.6连接。SDA和SCL都需要和正电源间各接一个5.1K的电阻上拉。第7脚需要接地。3.6复位部位单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第—个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即RST为高电平期间),P0口为高组态,P1-P3口输出高电平;外部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选择如图3-6所示的复位电路。图3-6复位电路原理图3.7晶振部分AT89C52引脚XTAL1和XTAL2与晶体振荡器及电容C5、C6按图3-7所示方式连接。晶振、电容C