基于单片机电子密码锁设计本科毕设论文.docx
《基于单片机电子密码锁设计本科毕设论文.docx》由会员分享,可在线阅读,更多相关《基于单片机电子密码锁设计本科毕设论文.docx(49页珍藏版)》请在冰豆网上搜索。
![基于单片机电子密码锁设计本科毕设论文.docx](https://file1.bdocx.com/fileroot1/2023-1/26/5f3d34ca-2a02-4ecd-96ba-ccf625cd0034/5f3d34ca-2a02-4ecd-96ba-ccf625cd00341.gif)
基于单片机电子密码锁设计本科毕设论文
毕业论文
题目:
基于单片机的电子密码锁设计
系:
电气与信息工程系
专业:
电子科学与技术班级:
0702学号:
200701180226
学生姓名:
邹幼林
导师姓名:
李世军
完成日期:
2011-6-12
毕业设计
题目:
基于单片机的电子密码锁设计
系:
电气与信息工程系
专业:
电子科学与技术班级:
0702学号:
200701180226
学生姓名:
邹幼林
导师姓名:
李世军
完成日期:
2011-6-12
诚信声明
本人声明:
1、本人所呈交的毕业设计(论文)是在老师指导下进行的研究工作及取得的研究成果;
2、据查证,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料;
3、我承诺,本人提交的毕业设计(论文)中的所有内容均真实、可信。
作者签名:
日期:
年月日
毕业设计(论文)任务书
题目:
基于单片机的电子密码锁设计
姓名邹幼林系别电气与信息工程系专业电子科学与技术班级0702学号200701180226
指导老师李世军职称教研室主任
一、基本任务及要求:
本设计一种单片机控制的密码锁,具有按键有效指示、解码有效指示、控制开锁电平、控制报警、密码修改等功能主要内容。
主要要求有:
单片机的选择、总体方案的确定、硬件原理图设计、软件程序设计与调试撰写设计说明书等。
二、进度安排及完成时间:
1、第一周至第三周:
明确课题任务及要求,搜集课题所需资料,掌握资料查阅方法,了解本课题研究现状、存在问题及研究的实际意义。
2、第三周:
查阅相关资料,自学相关内容,确定课题总体方案,分配课题任务,确定个人研究重点,做好选题报告。
3、第四周至第五周:
根据自己研究的方向,确定自己的总体设计方案,根据对象特性进行各种控制方法的研究,并设计硬件总体模块图及软件模块图。
4、第六周至第十二周:
完成系统的控制方法研究,软、硬件设计。
5、第十三周至第十四周:
系统仿真及调试。
6、第十五周至第十六周:
整理资料,完成毕业论文编写,进行毕业答辩。
摘要
Abstract
基于单片机的电子密码锁的设计
摘要:
本次设计以单片机AT89C51作为本设计的核心元件,实现基于单片机的电子密码锁的设计,其主要具有如下功能:
(1)由用户设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。
错误则锁定或者报警。
(2)由用户自己修改设定密码(只支持6位密码),需要锁打开后才能修改密码。
修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。
(3)报警、锁定键盘功能。
当用户键入密码错误时,数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。
此乃安全可靠性能之一。
电子密码锁的设计主要由三部分组成:
4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。
另外系统还有LED显示灯,报警蜂鸣器等。
密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:
密码输入功能:
按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。
密码清除功能:
当按下清除键时,清除前面输入的所有值,并清除所有显示。
密码更改功能:
将输入的值作为新的密码。
主要的设计实施过程:
首先,选用ATMEL公司的单片机AT89S51,以及选购其他电子元器件。
第二步,使用ProtelDXP2004设计硬件电路原理图。
第三步,使用KeiluVision3软件编写单片机的C语言程序、仿真、软件调试。
第四部,使用仿真软件进行模拟软、硬件调试。
完成本次毕业设计。
关键词:
4×4矩阵键盘;AT89S51;密码锁
Adesignoflocksthedisignproposalbasedonmonolithicintegratedcircuit’spassword
Abstract:
Baseonthethinkingofthecipherlock,thisdesignusesAT89C51ofATMELCOMPANYtocarryouttheSCMdigitalcipherlock,itsmainfunctionasfollow:
1.setpasswordwith6words,enterthewordsviakeybord,ifentertherightnumber,thelockwillunlock.
2.passwordcansetandfixbyyourself,youcanjustfixthepasswordwhenthelockiskeepingunlock.Itneedtoenterthenewpasswordtwicetoavoidthewrongactivity.
3.alarmfunction.Ifenterthewrongpassword,themonwillshowtheerrormessage,whenenterthewrongpasswordover3times,thebuzzerwillalarmandlockthekeybordatthesametime.
thislockismadeby3parts:
gobcircuitof4x4matrixkeybord,gobcircuitofcipherlock,gobcircuitof8waydisplayoutput.otherwise,thesystemhasLEDlight,andwarningbuzzer.
themainfunctionofthiscipherlockiscarriedoutenter,clear,andchangethepassword,andunlockthedoor.
1.enterthepassword:
pressonenumberbutton,onesignal"-"willshowonthedigitaltubeontherightside,plsputthe"-"toleftsideatthesametime.
2.clearthepassword:
presstheclearbuttontoclearallcodesyouhaveenterbefore.
3.changethepassword:
usethenewenternumberasthenewpassword.
4.unlockfunction:
presstheunlockbutton,thesystemwillcheckuptheenternumberandpassword,ifyesthelockwillopen,ifnotitkeeplock.
themainprocess:
first,useSCMAT89C51ofATMELcompany.second,designthetheorychartwithDXP2004,anddesignthePCBboard.third,compiletheClang.program,resemble,andtestwithsoftwarekeiluVision3.fourth,simulatethehardwaretestwithsoftwarePROTEUS.LAST,testthecircuitboardwithethesoftwareandhardware,finish.
Keywords:
Matrixkeyboard;AT89C51;Codedlocked
第1章绪论
1.1引言
目前,最常用的锁是20世纪50年代意大利人设计的机械锁,其机构简单、使用方便、价格便宜。
但在使用中暴露了很多缺点:
一、是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。
据统计,每4000把锁中就有两把锁的钥匙齿牙相同或类似,故安全性低。
二、是钥匙一旦丢失,无论谁捡到都可以将锁打开。
三、是机械锁的材料大多为黄铜,质地较软,容易损坏。
四、是机械锁钥匙易于复制,不适于诸如宾馆等公共场所使用。
出于安全、方便等方面的需要,门禁系统越来越发达,许多电子密码锁已相继问世。
如:
磁卡锁、声控锁、指纹识别、IC卡识别等等。
但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且仅供个人使用的箱、柜、房间等。
而且卡片式IC卡还有易丢失等特点,加上其成本一般较高,一个程度上限制了这类产品的普及和推广。
随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。
电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。
如果采用4位密码,则密码组合可达到104,每增加1位密码,密码组合就增加10倍。
以往基于单片机的电子密码锁的设计,都是直接设计硬件电路板与程序实现,并不能知道占用多少资源也没有对其可行性进行分析,总会遇到硬件资源消耗大,作品调试周期长,无法方便地按自己的设计意图反复修改自己的作品的难题。
而利用PROTEUS软件对基于单片机的电子密码锁进行仿真,那么上述难题可迎刃而解,通过介绍一种AT89S51单片机电子密码锁的仿真设计过程,证明了在PROTEUS的环境下可以方便完成单片机和数字电子系统的硬件设计和软件调试,同时也证明可缩短作品的开发周期,提高设计效率。
1.2电子密码锁的特点
电子密码锁是一种通过密码输入来控制电路或者芯片工作,从而控制机械开关的开闭,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
其性能和安全性已大大超过了机械锁,主要特点如下:
1.保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
2.密码可变。
用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
3.误码输入保护。
当输入密码多次错误时,报警系统自动启动,防止试探密码。
1.3电子密码锁的前景展望
当今社会光电技术的应用已经非常广泛,尤其是在光纤通信技术、远程遥控技术、雷达探测技术、自动控制技术以及光电检测技术等方面,对于光电技术的依赖越来越大。
光电技术是具有广阔前景的一门新型技术,因为光的传播速度快,同时又不容易受干扰,还具有极大的信息承载量,如果选择用光作为信息的载体,可以想象得出我们的世界将会变得如何的方便快捷。
电脑密码控制器是以微处理器和数字存储器为代表,采用了当今高新科技、最新优化软件设计而成,所追求的高保密性、高可靠性和广泛的适用性,特别是在区域管理和集中控制防盗中显示出诸多优势,是一种现在比较流行的系统
智能密码锁的系统由智能监控器和电子锁具组成。
二者异地放置,智能监控器供给电子锁具所需的电源并接收其发送的报警信息和状态信息。
这里采用了线路复用技术,使电能供给和信息传输共用一根二芯电缆,提高了系统的可靠性、安全性。
出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
总之,随着技术的不断发展,密码锁将朝着高保密性、高可靠性和广泛的适用性的方向发展。
第2章整体设计方案论证
2.1方案论证和比较
设计本课题时构思了两种方案:
方案一:
以74LS112双JK触发器构成的数字逻辑电路控制。
采用数字密码锁电路的好处就是设计简单。
用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。
方案二:
以单片机为核心的控制方案。
利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加掉电存储、声光提示甚至添加遥控控制功能。
电路由两大部分组成:
密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。
密码锁电路包含:
键盘输入、密码修改、密码检测、开锁电路、报警电路、键盘输入次数锁定电路。
通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案
2.2整体设计思路
决定使用单片机控制方案后,出于对成本的考虑本设计没有使用遥控控制,显示也没有采用液晶显示,而是采用了数码管显示。
并设计了矩阵键盘,UPS、掉电存储等功能。
开始时,数码管应该提示输入密码,当输入正确密码并按确认键后锁应该自动打开。
如果密码错误应该有警告。
当输入错误3次后应该报警并且锁住键盘3分钟,以达到防探视的功能。
当密码输入正确的情况下应该有密码的修改功能。
在设计中,开锁声和报警声分别采用不同的声音。
其中单片机的P3口作为数码管的段码控制端口,接一个74LS245的总线驱动器。
P1口位选通信号,P2口接键盘电路。
P0.2接开锁电路,P0.3接报警器电路。
2.3系统框图
在主控芯片上,由于有密码要存储,而且还有LED显示的字符需要存储,所以我们选择AT89C51。
因为它具有4K可擦写的Flash闪速存储器。
为了防止停电情况的发生,本电路后备了UPS电源,它包括市电供电电路,停电检测电路,电子开关切换电路。
键盘电路由的设计:
因为我们需要输入0-9共10个同字符,而且至少应该有4个键用来实现控制。
所以采用4*4编码矩阵键盘。
将其接在P2口。
LED显示模块:
因为要显示6位密码。
而且应该有两位用来显示操作类型。
为了节省I/0口资源,我们选用8段数码管动态扫描的方式。
在仿真是选用7SEG-MPX8-CC-BLUE。
本设计采用了掉电存储电路,使用了芯片AT24C02。
其系统框图如下图2-1:
图2-1系统设计框图
2.4系统的可行性分析
系统工作原理分析:
使用AT59C51单片机、4×4矩阵键盘、LED、蜂鸣器等。
矩阵键盘分别为0、1、2、3、4、5、6、7、8、9、CLE、Enter、Change。
系统开始显示“INPUT”提示输入密码;输入密码时,LED显示电路显示为“-”,当密码输入完毕按下Enter键时,对输入密码与设定的密码进行比较,若密码正确则LED显示电路显示为“PASS”提示锁打开,系统则发出开锁信号,将门打开;若密码不正确,LED显示电路显示提示“ERROR”,则有相应的指示灯闪动,若连续3次输入不正确,则发出警报声同时锁定键盘;在输入正确密码后,按下修改键时,LED显示电路显示“old”提示“输入旧密码”,此时输入正确的旧密码,则显示电路会有提示输入新密码在输入新密码后,显示电路会再次提示“again”再次输入新密码。
若“again”再次输入新密码的时候输入新密码与前次不一致,则修改密码失败,则会返回到系统开始。
若一致则成功。
修改密码完成后,系统自动清零上锁。
要再次开锁则需要输入正确的密码。
系统中CLE键用于退格,在输入密码时,若输入错误且未按下Enter键,按下CLE可以删除刚输入的密码,然后再次输入。
为了防止恶意尝试,系统才用若连续输入3次错误密码则发出报警声,且锁定键盘,可以提高系统的安全系数,同时也能够保护合法用户的正常使用。
第3章硬件设计
3.1芯片介绍
AT89C51是由美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含4kb的可反复擦写的程序存储器和12B的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89S51单片机可灵活的应用与各种控制领域。
图3-1AT89C51管脚图
3.1.1AT89C51主要性能参数
·8031CPU与MCS-51兼容
·4K字节可编程FLASH存储器
·全静态工作:
0Hz-24KHz
·三级程序存储器保密锁定
·128*8位内部RAM
·32条可编程I/O线
·两个16位定时器/计数器
·6个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
3.1.2AT89C51的极限参数
●工作温度:
—55°C~+125°C
●储藏温度:
—65°C~+15°C
●任一引脚对地电压:
—1.0V~+7.0V
●最高工作电压:
6.6V
●直流输出电流:
15.0Ma
3.1.3单片机选择
89S51相对于89C51增加的新功能包括:
◆新增加很多功能,性能有了较大提升,价格却基本不变,甚至比89C51更低!
◆ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。
是一个强大易用的功能。
◆工作频率为33MHz,大家都知道89C51的极限工作频率只有24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。
◆具有双工UART串行通道。
◆内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。
◆双数据指示器。
◆电源关闭标识。
◆全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。
◆兼容性方面:
向下完全兼容51全部字系列产品。
比如8051、89C51等等早期MCS-51兼容产品。
也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样可以照常运行,这就是所谓的向下兼容。
因此我选择了AT89S51作为本次设计的核心部件!
3.2时钟振荡器
AT89S51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路由3-2所示。
外接石英晶体或陶瓷谐振器及电容C1、C2接在放大器的反馈回路中构成并联谐振电路。
对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响震荡频率的高低、震荡器工作的稳定性、起震的难易程度及温度的稳定性,如果使用石英晶体,推荐使用30PF±10PF,而如果使用陶瓷振荡器推荐使用40PF±10PF。
由于外部时钟信号时通过2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大低电平持续时间应符合产品技术条件的要求。
图3-2外部时钟电路
3.3电源系统设计
为了防止停电情况的发生,本电路后备了UPS电源,它包括市电供电电路,停电检测电路,电子开关切换电路。
3.3.1市电供电电路设计
220V市电通过变压器降压成12V的交流电,再经过整流桥整流,7805稳压到5V送往电子切换电路,由于本电路功耗较少,所以选用10W的小型变压器。
其中用D1显示其工作状态。
7805是我们最常用到的稳压芯片了,他的使用方便,用很简单的电路即可以输入一个直流稳压电源,他的输出电压恰好为5v,刚好是51系列单片机运行所需的电压,他有很多的系列如ka7805,ads7805,cw7805等,性能有微小的差别,用的最多的还是lm7805。
其电路设计图3-3。
220V的市电通过变压器压成12V的交流电后,经过D5、D2、D3、D4组成的整流桥电路整流后,送7805稳压后通过送往电子切换电路。
图3-3市电供电电路
3.3.2停电检测及电子开关切换电路
由R1,R2,R3,R4及运放构成电压比较器,正常情况下,V+V-运放输出高电平,由Q1,Q2构成的达林顿管使继电器开启,将其常开触电将蓄电池和电路相连,实现市电和蓄电池供电的切换,保证电子密码锁的正常工作(视电池容量而定持续时间)。
其电路图如下图3-4所示。
图3-4停电检测及电子开关切换电路
3.4键盘电路的设计
3.4.1键盘设计方案论证
键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。
键盘分两大类:
编码键盘和非编码键盘。
键盘按电路结构可以分为独立式按键接口和矩阵式键盘两大类。
独立式按键就是各按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线上的工作状态。
因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。
优点:
电路配置灵活,软件结构简单。
缺点:
每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂。
因此,此键盘是用于按键较少或操作速度较高的场合。
矩阵式键盘适用于按键数量较多的场合,由行线和列线组成,按键位于行列的交叉点上。
节省I/O口。
矩阵键盘工作原理:
行线通过上拉电阻接到+5V上。
无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。
列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。
行线的电平高低是识别按键是否按下的根据。
然而在矩阵式键盘中的行、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各键间相互影响。
应此,必须将行线、列线信号配合起来做适当的处理,才能确定闭合键所在的位置。
识别按键的方法很多,其中最常用的式扫描法和反转法。
通过以上分析,为了节省I/O口资源,我们选择矩阵式编码键盘的方式,如下图所示,本系统采用4×4矩阵键盘,16个按键分为输入数字键:
0、1、2、3、4、5、6、7、8、9;功能键lock、change、cle、Enter。
图3-54×4矩阵键盘
共计数字键10个,功能键4个。
按键的操作面板如图图3-6所示:
图3-6按键操作面板示意图
10个数字键用来输入密码,另外4个功能键分别是:
enter、Change、Cle、lock。
其中Cle键的功能是当输入密码错误的时候,清除前面已经输入的数据,重新输入。
Enter键的功能是确认输入的密码。
Change是用来进入修改密码的状态。
lock用来锁定键盘,另外也可以防止不法分子偷窥密码。
数码管主要显示几个字符,给用户提供指示见图3—7所示。
T
I
N
P
U
图3-7a输入密码提示状态
-
-
-
-
-
-