基于单片机的电子密码锁设计_第1页
基于单片机的电子密码锁设计_第2页
基于单片机的电子密码锁设计_第3页
基于单片机的电子密码锁设计_第4页
基于单片机的电子密码锁设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录26590一、引言 一、引言锁的由来有很长的历史,随着私有制的诞生,贫富差距也随之出现。剥削阶级与被剥削阶级之间的冲突变得越来越尖锐,人际关系已不同于从前,锁就是人人保护自己利益的工具。可以说锁是人类发展的产物,锁具的发展也一定程度反映了人类文明的发展。传统的机械锁结构简单,一般由锁芯、弹簧、锁舌等几部分组成,人们对它的内部构造已经有了比较透彻的研究,尽管现代社会人们的道德素质普遍提高,但是被撬的事件也时有发生,因此与锁具相关的研究受到了人们的广泛关注和重视。自步入21世纪后,随着微电子及相关科技的飞速进步,单片机的性能持续上升,其技术也逐渐走向成熟。电子密码锁应运而生,它的本质就是在单片机的外部引脚上面接上一个电路,再由各种电子元件集成在一起,通过特定的程序导入到单片机内部来完成各部分的命令,当输入密码时,系统能够快速地识别到各种数据。这种电子锁优点突出,精度高、成本低,并且通过修改内部的程序便能改良电子密码锁的功能。到了现代,在居民楼、工厂、政府部门等很多地方都可以见到电子密码锁的身影。已经逐步融入到了人们的日常生活当中,自此,人们的个人财产安全保障得到了很大的提高,这个行业无疑有着巨大的市场前景。为此,我们需要不断地研究、改进,向更先进的道路不断迈进。因此,学习单片机、模拟电子技术、编程语言等相关专业知识,进行这次基于单片机的电子密码锁设计研究是很有必要且具有实际意义的。二、设计方案(一)设计分析该电子密码锁设计简单,操作方便,同时具备下面几个功能特点:(1)本产品在输入密码之前能够显示当前的时间,并且时间可以自己修改;(2)开锁密码设计为为6位阿拉伯数字密码;(3)密码输入采用4×4共16位的矩阵键盘,除了10位数字键之外还有各种功能键位;(4)当输入数字密码时,屏幕上不显示数字而用特殊符号代替,为了保护隐私防止密码被盗取;(5)输入密码与设定密码对比,如果两者一致,LED灯亮,代表锁以开。如果不一致,LED灯不亮,并且还具备超次报警功能;(6)用户可以自己修改密码,首先打开锁,输入一遍原密码,再按下修改密码键连续输入两遍新密码,确保两次输入一致;(二)系统结构本次电子密码锁设计分为硬件部分和软件部分,硬件部分由核心单片机、矩阵键盘、储存芯片、蜂鸣器、继电器等多个硬件部分共同组合而成,核心单片机实现控制功能、LCD1602液晶显示屏显示开锁步骤、时钟电路实现振荡提供基本的时钟信号、蜂鸣器实现报警功能、LED灯实现开锁功能。软件部分则由相对应的主程序、显示模块子程序、时间显示子程序等组成。相关原理框图如下。STC89C52单STC89C52单片机时钟电路复位电路矩阵键盘LCD1602掉电存储开锁机构报警机构图2-1电子密码锁的系统原理框图三、系统硬件构成(一)单片机电路设计1.单片机简介本次设计的核心控制选用的单片机型号为STC89C52,STC89C52是一款用途广泛,优点突出的一款微处理器,共有8位CPU进行运算控制,具有较强的运算能力,含512字节内部RAM数据存储,5个中断源,工作电源电压为2.7-6V,不仅功耗极低而且还有超强的抗干扰能力,在工业控制领域占有重要位置,也可适用于常规编程器中,具有性价比高,简单易学,硬件设计方便等诸多优点,是目前使用最广泛的单片机之一。各方面的性能要求全部符合本次实验设计。由于仿真软件里并未包含STC系列的单片机,因此在仿真试验中特别选择了AT89S51单片机作为替代,这两款单片机在功能上是高度相似的。单片机P1口和P2口分别作为上拉电阻的双向I/O口、P3.0和P3.1作为串行输入和输出口,而XTAL1和XTAL2则作为反向振荡器的输入和输出。其他引脚功能在此不再进行详细的介绍。单片机仿真图如下:图3-1单片机仿真图2.单片机最小系统设计单片机最小系统是指使单片机能够在最简单的环境中正常运行的系统。这个最小系统为单片机的正常工作提供了基础,它包括核心单片机、复位电路和晶振电路。只有当这些关键部分都被妥善构建,单片机才能正常工作。任何单片机系统的设计都是基于单片机最小系统的基础上完成的,只有当单片机的最小系统被构建完毕后,才能添加其他电路以实现其他功能。电源电路作为所有电子电路正常运行的动力源,单片机的电压通常为5V,因此通常使用电源芯片来生成适当的电压和电流。单片机最小系统仿真图如下:图3-2单片机最小系统电路(1)晶振时钟电路:晶振是单片机运行的关键组成部分之一。在电路中,晶振起到产生振荡频率的功能,为电路提供基本的时钟信号。晶振在电路系统中的应用确保了各部分的同步性。如果没有晶振的支持,单片机芯片就无法正常运行。因此,本次的设计选择了12MHZ的晶振,并加入了两个30pF大小的电容器,整体分别于单片机的XTAL1和XTAL2引脚相连接。PROTEUS仿真原理图如下:图3-3晶振时钟电路(2)复位电路:复位电路的作用是让电路从起始状态开始工作,通过电容在电压瞬间交变时的导通使单片机在通电的瞬间,由初始状态开始工作,复位初始化时,复位脚需要一个高电平维持一段时间,并且在触发单片机复位后,复位脚的电平转为低电平。复位电路的设置是必然的,如果没有复位电路,将可能导致电路错乱,是某些电路处于超时工作状态,甚至损坏电路。复位电路如下图所示。图3-4复位电路仿真图(二)LCD1602液晶显示1.LCD1602简介LCD1602是一款新型的液晶显示屏,能够显示每行16个总共32个字符液晶模块,外部由一个单+5V电源供电,引脚部分连接主控芯片,由程序导入执行来实现显示功能。2.LCD1602显示模块设计在本次设计中,特地采用LCD1602作为显示电路,相较于其他显示屏来说,控制简单,成本较低。需要注意的是,由于LCD1602仅能显示英文、数字和字符,所以本次设计的屏幕显示只能全部由英文代替。LCD1602采用14个引脚接口,VSS接地、VDD接电源、D0到D7为数据总线,从低到高。尽管P0也是通用I/O口,但与其他三个口的内部电路相比,P0的内部电路没有上拉电阻,输出时的低电平是0V,如果想要输出高电平,就需要额外增加一个上拉电阻,如果不加在仿真时可能无法成功显示。电路图如下图所示:图3-5LCD液晶显示屏原理图(三)矩阵键盘1.矩阵键盘简介本次设计特地采用矩阵键盘,独立按键虽然设计简单,每个按键连接一个I/O口线,每个都互不影响,但一旦遇到按键较多的情况时,就会出现I/O口占据较多的情况。矩阵键盘本质是使用8个I/O口来进行16个按键的控制读取,这样可以大幅度减小I/O口的使用。2.矩阵键盘设计用4条I/O线作为行线,4条I/O线作为列线行线和列线相互交叉便可以组成一个矩阵键盘,16个按键可以正好安装在16个交叉节点上,这样可以大大降低电路连接的复杂程度。相比于独立按键不仅减少了一半的I/O口的使用量。而且更加美观方便,行线和列线的交叉不相同,所以一共能够设置16个这样的按键。共有16个键位,前9个数字0~9,#代表确认键,在输入密码之后,按下确认键,其中C键代表取消键,D键代表修改密码键。当门锁被打开后,按下可以进行密码修改操作。*代表返回键,可以返回到开始界面,其他键位暂时不使用,是无效按键。这款矩阵键盘支持逐行和逐列的扫描功能,当按键被按下时,与该按键连接的行线与列线会相互导通,从而使相应的行线电平被列线降低。此时可以判断是否按下了相应的行有键。当P1口连接到单片机时,只需读取P1口的电平转换,就可以实现矩阵键盘的数值读取功能,并且在有键被按下时,可以确定是哪一行或哪列的按键,从而实现了键盘的识别,此外,按键的时间也应该与显示的字符数量无关。仿真电路图如下图所示:图3-64x4矩阵键盘仿真图(四)掉电存储模块AT24C021.AT24C02简介AT24C02芯片是一个2KBit的串行EEPROM储存器,AT24C02将EEPROM划分成32个页,每个页的大小是8个字节,每个字节8个位,共32×8×8=2048bit(2Kb),内部含有256个字节,是ROM的一种。它具有自身独特的优点。作用是可以在电源断开的时候起到一个保存当期记忆的功能,能够储存当前设定的密码,使在下次开锁时密码不会遗失。缺点是储存空间较小,不适合用在一些高端设备。2.AT24C02储存模块设计在本次实验中符合所需要求。其引脚功能如下:A1和A2:定义芯片地址、WP:写保护,接GND,可读可写,接VCC写保护、SCK和SDA:I2C总线。仿真电路图如下图所示:图3-7掉电储存模块仿真图(五)开锁电路1.开锁电路简介在本次电子密码锁设计中,通过判断使用者输入密码是否正确来进行开锁或者发出警报。当密码输入正确时,开锁信号随即送达驱动电路,驱动电磁锁,以实现开锁目的。2.开锁电路设计设计中此处本应加入一个步进电机实现门锁的开关功能,由于本次设计为了简单方便和节约成本,特意采用一个简单的LED灯的电路系统代替步进电机,当密码输入正确时LED灯发光就代表锁已经打开。仿真电路图如下:图3-8开锁电路仿真图(六)报警电路1.报警电路简介报警装置由蜂鸣器和一个三极管组成,通过蜂鸣器的报警声音实现来报警功能。2.报警电路设计本设计为了节省成本采用无源蜂鸣器,当密码连续三次输入错误时,电路产生脉冲信号经过三极管放大,此时蜂鸣器将会发出警报声,同时键盘锁定无法输入。电路图如下:图3-9报警电路仿真图四、软件设计(一)总体设计系统程序主要由主程序、显示模块子程序、键盘扫描子程和时间显示子程序等各部分共同组成。在开启密码时首先要初始化,主程序用于完成初始化、定义全局变量、提供数据、检测按键等一系列功能。确定键盘是否有键按下,并判断是什么键。打开密码锁开关,输入6位数字密码,然后按下确认键,门锁打开,LED灯亮。密码限输入三次,当输错超过三次,蜂鸣器响,系统报警并且键盘锁定。若想要修改密码,首先要打开门锁,输入原密码,进入到修改密码界面,输入新密码,按下修改密码键,再次输入一遍新密码,保证两次密码相同,密码修改成功。相关流程图及代码如下。否初始化否初始化显示输入密码界面输入密码密码正确?开锁扫描功能键有键输入?是改密键?进行改密操作显示门锁打开界面是否是N是Y开启定时中断超过3次数>3?调用报警子程序YN图4-1系统程序设计流程图(二)显示子程序设计此模块可以显示电子密码锁输入操作的所有显示功能,接通电源时,显示初始界面,当输入0-9数字键时,屏幕上显示*号,并且最多显示6位号码,此时再按数字键不在增加字符显示。不同的按键组合对应不同的函数,当不同的函数被调用时,液晶显示屏上要能够显示相应的内容,相关流程图及代码如下。开始开始调用数据函数YN是否显示字符?LCD初始化结束图4-2显示字符程序流程图(三)键盘扫描子程序设计矩阵键盘扫描子程序必须具备能判断是否有键按下,并且所按下的一共有几个键,键位组合是否有效,确定被按下的是哪个键的基本功能。键盘采用逐行扫描的方式,一旦有按键按下,系统立马进行识别,迅速地确定是哪个键位,进而转向相应的子程序处理,并执行相应的程序函数,处理结束再返回主函数。相关流程图及代码如下:键盘子程序键盘子程序键值=0-9密码输入程序返回开锁程序清除程序修改程序确认程序确认修改清除开锁图4-3键盘扫描子程序流程图(四)时间显示子程序设计本次设计实验中,要求显示屏幕上能够显示当前时间,显示时间占据数码管8个字符,包括时针位,分针位和秒针位,并且可以实现时间的修改功能,四个键分别控制分钟和时钟的加减,当对相应按钮进行扫描时,能够实现对应的功能。为了设计简便,暂时没有对秒针位设置修改。秒钟单元和时钟单元都采用60进制计数器,秒钟正常运行,当时钟单元满24就清0。这里采用一个while循环语句,保证时间显示功能可以一直执行。相关流程图及代码如下:否是是中断返回一秒时间开始秒钟单元加1分钟单元加1,时钟单元清0达到60否是是中断返回一秒时间开始秒钟单元加1分钟单元加1,时钟单元清0达到60秒?达到60分?时间显示时钟单元清0Y达到24时?时钟单元加1,分钟单元清0是否否图4-4定时器中断流程图五、仿真及软硬件调试(一)KEIL和PROTEUS联合仿真调试本次设计需要用到KEIL5和PROTEUS软件,在做单片机相关实验时经常会用到这两个软件,KEIL5是一款软件开发系统,相比于上一代功能更加强大,使用者也越来越多。PROTEUS是一款电路仿真软件,可以仿真单片机以及相关电路系统的工作状况,相较于传统软件优势巨大,从1989年至今,经历了20多年的发展,功能也越来越强大。在该设计中,需要将proteu8和keil5进行联合仿真调试,这两个软件能够实现良好的联合调试功能,首先使用Keil5软件编写软件代码,最后将编写好的程序添加到工程中,进行编译,随即生成hex文件。由PROTEUS可以绘制得到如下原理图,此电路图可以实现电子密码锁的全部功能,首先要打开PROTEUS的远程调试监控功能,然后将KEIL5生成的hex文件添加到单片机当中,打开电源开关,可以看到显示时间页面,当密码输入正确时,LCD液晶屏显示OPEN界面,且发光二极管亮,当密码输入错误时,界面显示ERROR。不仅可以实现电路板的所有功能,还能肉眼观察到矩阵键盘各引脚部分发生电平变化。图5-1PROTEUS联合仿真原理图(二)实物图设计与制作实物图制作过程中要遵循细心和谨慎原则,按照仿真图原理一步一步组装、连线和焊接,使实物图看起来更加的美观和清晰,实物完成后仔细检查各部分的引脚接口,确保没有错误,最后通过烧录软件导入程序即完成,可以实现想要的功能。完成实物图如下。图5.2实物正面图观察实物的反面,焊接连线图如下:图5.3实物反面图接通电源之后,输入正确密码,得到如下图,能实现所需要的功能。图5-4实物设计图六、总结本设计首先结合各类计算机软件进行联合仿真完成,然后基于STC89C52单片机为核心元件,再通过各种电子元器件组合,用导线将他们结合起来完成最终设计,实现传统密码锁的基本功能。本电子密码锁从控制器精度以及实用性等多方面考虑,最终选择单片机STC89C52作为主控芯片,通过LCD1602液晶显示屏,矩阵键盘各部分外围电路共同结合,最后使用C程序导入主控芯片实现控制功能。经过多次试验,该密码锁各功能均能按目标正确运行。由于设计水平有限并且考虑到大小、价格等,没有添加语音播报、指纹识别等功能。于此同时我也发现了电子密码锁的一些不足点,例如当遇到停电或者电池没电时可能无法使用,在开锁时,被不法分子偷窥,导致密码被泄露等一些问题。此外,由于它的结构复杂,维修成本相比传统锁具也更高。随着科技的不断发展,我认为这些问题最终都将会得到完美的解决,并且还将有着巨大的技术创新,例如可以加入无线电技术和红外技术,在如今这个智能手机的时代,可以实现远程手机控制,使用声音识别或者人脸识别技术,进一步提高安全性。通过本次学习,我对单片机以及相关知识有了一个更深入的了解,proteus绘图以及C语言编程能力也有了很大的提升,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论