您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子密码锁的设计与实现[1]
目录1背景与意义.............................................12功能设计...............................................23总体方案设计...........................................34电路原理图设计.........................................54.1键盘电路设计...............................................54.2数码管显示电路设计........................................64.3开锁电路设计...............................................75程序设计...............................................95.1基本设计思路...............................................95.2各子程序设计...............................................96软件仿真结果..........................................157硬件制作与调试........................................178结论..................................................19参考文献................................................19沈阳理工大学创新实践周课程设计1电子密码锁的设计与实现1背景与意义随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能,检验并提高学生对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的实际制作和调试能力。随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上七八十年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。沈阳理工大学创新实践周课程设计22功能设计1完成相应C语言程序的编写。定义相关函数,具体包括延时函数、中断函数、扫描函数、数码管显示函数和主函数等。2在Keil环境下编译程序,生成.hex文件,要求程序编译正确,原理清楚。3设计电子密码锁原理图,尽量有一定复杂度和难度,要求设计简洁、易懂。4在Protues环境下完成电路原理图的绘制与仿真。要求正确绘制电路图,完成其参数的定义与元器件的连接,注意为单片机加载.hex文件,其他包括键盘扫描电路,数码管显示电路和开锁电路的设计等等。系统上电后,要求正确仿真,即输入所需求的四位密码,系统正确运行,模拟开锁。分析仿真结果,并为硬件的制作打下基础。5硬件制作与调试。要求自己选用相关元件,选用电路板等实现硬件的制作。完成后,自己调试运行,要求接入12V直流电源,输入四位密码,完成开锁的模拟实现过程。找出相关问题,并进行改进。6结果分析。总体完成后,对整个系统进行总结,分析优点与缺点,撰写、完善实验报告,得出实验结论。沈阳理工大学创新实践周课程设计33总体方案设计开始设计的时候,考虑到两个设计方案,分别如下:方案一:采用数字电路控制。其原理方框图如图1所示。图1数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。方案二:采用一种是用以AT89C52为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调沈阳理工大学创新实践周课程设计4电存储、声光提示甚至添加遥控控制功能。其原理如图2所示。图2单片机控制方案通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。本方案采用一种是用以AT89C52为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。初步设计思路如下:输入密码用矩形键盘,包括数字键和功能键。数码管显示输入的四位密码密码,用四位共阳极数码管发光显示数码,从而控制各位显示器进行显示。用发光二极管代替开锁的电路,发光表示开锁。打开电源后,显示器显示“0000”,设原始密码为“6666”,只要输入此密码便可开门。按“0”键,清除显示器为“0000”。软件的设计主要包括键盘键值的读取、数码管显示程序、密码比较程序、中断程序和延时程序等。开锁控制电路AT89C52单片机电源接入数码管显示电路矩阵键盘控制指示电路沈阳理工大学创新实践周课程设计54电路原理图设计4.1键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图3。图3矩阵键盘每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。沈阳理工大学创新实践周课程设计6对照图3所示的4×4键盘,说明逐行扫描法和线反转法工作原理。1扫描原理:即把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。比如说扫描码送入01111111,前面的0111是代表此时扫描第一行P1.0列,而后面的1111是让读取的4行接脚先设为VDD,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101(注意1111变成1101),其中LSB的第三个bit会由1变成0,这是因为这个按键被按下之后,会被垂直的扫描码电位short,而把读取的LSB的bit电位拉到0,此即为扫描原理。由于这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,为了避免让系统误判为多次输入同一按键,我们必须在侦测到有按键被按下,就Delay一小段时间,使键盘以达稳定状态,再去判读所按下的键,就可以让键盘的输入稳定。2线反转法原理:先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。本设计中采用键盘逐行扫描法。4.2数码管显示电路设计本系统设计的显示电路是为了给使用者以提示而设置的。本系统的显示采用串行显示的方式,使用单片机的串行口,就可以完成单片机的显示功能。并使用四位共阳极数码管作为输入密码的显示,很直观、清晰。显示电路的电路原理图如图4所示。沈阳理工大学创新实践周课程设计7图4数码管显示电路4.3开锁电路设计在本次设计中,基于节省材料的原则,暂时用LED发光管代替电磁锁(在实际设计中,则用一个继电器代替电子锁模拟开锁过程),发光管亮,表示开锁;灭,表示没有开锁。电路图如5所示。发光管发光,即表示密码输入正确,表示开锁;密码输入错误,则LED发光管不亮。沈阳理工大学创新实践周课程设计8图5开锁电路沈阳理工大学创新实践周课程设计95程序设计5.1基本设计思路电子密码锁工作的主要过程是由数码管开始输入密码,通过键盘输入密码,同时数码管显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或其他处理。密码的设定是一个很重要的部分,在此程序中密码是固定的“6666”,采用四位密码。用C语言编写程序代码,具体设计包括头文件及其相关定义、键盘扫描子程序、数码管显示子程序、中断程序、延时程序以及主程序设计等。编写完毕后,用Keil软件进行编译,生成.hex文件。相关的一些关键子程序设计如下。5.2各子程序设计1头文件即相关定义#includereg51.h#defineuintunsignedint#defineucharunsignedcharsbitP17=P1^7;sbitP16=P1^6;sbitP15=P1^5;sbitP14=P1^4;sbitdian=P3^0;uintcount=0,num=0,k,keyword=6666;Uchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};2键盘扫描子程序uintkeyscan(){uchartemp,keynum;P1=0xff;沈阳理工大学创新实践周课程设计10P17=0;//**************扫描第一行**********
本文标题:电子密码锁的设计与实现[1]
链接地址:https://www.777doc.com/doc-4938156 .html