基于单片机的电子密码锁本科生毕业设计.docx
- 文档编号:14960409
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:46
- 大小:1,020.36KB
基于单片机的电子密码锁本科生毕业设计.docx
《基于单片机的电子密码锁本科生毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁本科生毕业设计.docx(46页珍藏版)》请在冰点文库上搜索。
基于单片机的电子密码锁本科生毕业设计
本科生毕业设计
基于单片机的电子密码锁
AElectronCipherLockBasedonMCU
学生姓名
所在专业
电子信息工程
所在班级
电子1033班
申请学位
工学学士
指导教师
职称
副指导教师
职称
答辩时间
设计总说明
在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。
随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。
但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。
而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。
加上其成本较高,一定程度上限制了这类产品的普及和推广。
鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。
基于以上思路,本次设计使用ATMEL公司的AT89C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能:
(1)设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。
(2)密码可以由用户自己修改设定(只支持6位密码),锁打开后才能修改密码。
修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。
(3)报警、锁定键盘功能。
密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。
电子密码锁的设计主要由三部分组成:
4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。
另外系统还有LED提示灯,报警蜂鸣器等。
密码锁设计的关键问题是实现密码的输入、清楚、更改、开锁等功能:
(1)密码输入功能:
按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。
(2)密码清除功能:
当按下清除键时,清除前面输入的所有值,并清除所有显示。
(3)密码更改功能:
将输入的值作为新的密码。
(4)开锁功能:
当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。
主要的设计实施过程:
首先,选用ATMEL公司的单片机AT89C51,以及选购其他电子元器件。
第二步,使用DXP2004设计硬件电路原理图,并设计PCB图完成人工布线(后因PCB板损坏决定采用万能板焊接的方法)。
第三步,使用KeiluVision3软件编写单片机的C语言程序、仿真、软件调试。
第四部,使用PROTEUS软件进行模拟软、硬件调试。
最后,联合软、硬件调试电路板,完成本次毕业设计。
关键词:
4×4矩阵键盘;AT89C51;密码锁;密码二次确认
DESIGNINTRODUCTION
Inourdailylife,thesecurityofhouse,companydepartment,documentsandfinanceforms,alsosomepersonalinformationalwaysusedthelocktoprotectthem.Ifusethenormalkeystolockoutthedoor,weshouldtakenmanykeyswithourself.Thatissodifficulttouse.Andifwelostthekeyswithcareless,thesecuritylooksveryeasytobreakout.Asthedevelopingofthetechnology,people
askforhighsecurtymachines.Forsatisfythisrequest,thecipherlockisappeared.Thecipherhashighersecurity,lowercost,lowerpowerandeasytouse.
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.
Keyword:
matrixkeybord;AT89C51:
LEDdigitaltube.
基于单片机的电子密码锁
电子信息工程,xxxxx,xxxx
指导教师:
xxxxx
第1章绪论
1.1背景
随着社会物质财富的日益增长,安全防盗已成为社会问题。
而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。
目前国内,大部分人使用的还是传统的机械锁。
然而,眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。
所谓互开率,是各种锁具的一个技术质量标准,也就是1把钥匙能开几把锁的比率。
经国家工商局、国家内贸局、中国消协等部门对锁具市场的调查,发现个别产品的互开率居然超标26倍。
为何弹子锁的“互开率”会如此之高?
据有关专家人士剖析,弹子锁质量好坏主要取决于弹子数量的多少以及弹子的大小,而弹子的多少和大小受一定条件的限制。
此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。
机械锁的这些弊端为一种新型的锁---电子密码锁,提供了发展的空间。
1.2电子锁
电子锁是采取电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置的机电一体化锁具,相比传统的机械锁具,电子锁不使用金属钥匙,保密性、精度都有很大提高。
电子锁的发明思路,源自古代发明的自动机械,例如古希腊数学家赫伦的液压自动门,中国古代诸葛亮的木牛流马,它们以重力或蒸汽压力驱动,最广泛的用途乃是用在古代墓道的地下机关。
电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电子锁一日千里的跃进。
1.3电子密码锁的特点
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
其性能和安全性已大大超过了机械锁,主要特点如下:
1.保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
2.密码可变。
用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
3.误码输入保护。
当输入密码多次错误时,报警系统自动启动,防止试探密码。
1.4电子密码锁的发展趋势
从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。
键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。
但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。
当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。
因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。
在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。
总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。
第2章系统总体设计
2.1系统结构
图2-1
2.2系统组成
如图2-1所示系统主要由AT89C51(51系列)、八位数码管、蜂鸣器、LED、4×4矩阵键盘、复位电路等组成。
2.3系统可行性分析
系统工作原理分析:
使用AT59C51单片机、4×4矩阵键盘、LED、蜂鸣器等。
矩阵键盘分别为0、1、2、3、4、5、6、7、8、9、*、#、CLE、Enter、MODIFY。
系统开始显示“INPUT”提示输入密码;输入密码时,LED显示电路显示为“-”,当密码输入完毕按下Enter键时,对输入密码与设定的密码进行比较,若密码正确则LED显示电路显示为“PASS”提示锁打开;若密码不正确,LED显示电路显示提示“ERROR”,若连续3次输入不正确,则发出警报声同时锁定键盘。
在输入正确密码后,按下修改键时,LED显示电路显示“old”提示“输入旧密码”,此时输入正确的旧密码,则显示电路会有提示输入新密码在输入新密码后,显示电路会再次提示“再次输入新密码”若两次输入密码不一致,则修改密码失败,一致则成功。
在修改密码的过程中,如果一开始输入的旧密码错误显示电路会显示提示,同时系统返回到开始。
若在“再次输入新密码”的时候输入新密码与前次不一致,则会返回到系统开始。
修改密码完成后,系统自动清零上锁。
要再次开锁则需要输入正确的密码。
系统中CEL键用于退格,在输入密码时,若输入错误且未按下Enter键,按下CLE可以删除刚输入的密码,然后再次输入。
为了防止恶意尝试,系统才用若连续输入3次错误密码则发出报警声,且锁定键盘,可以提高系统的安全系数,同时也能够保护合法用户的正常使用。
第3章硬件电路设计
3.1单片机AT89C51简介
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据序存器(RAM),器件采用ATMEL公司的高密度/非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和FLASH存储单元,AT89C51单片机为许多嵌入式控制系统提供了一种灵活行高且价廉的方案。
3.1.1主要特性
· 8031CPU与MCS-51兼容
·4K字节可编程FLASH存储器(寿命:
1000写/
擦循环)
·全静态工作:
0Hz-24KHz
·三级程序存储器保密锁定
·128*8位内部RAM
·32条可编程I/O线
·两个16位定时器/计数器
· 6个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
图3—1
3.1.2管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
管脚备选功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.1.3震荡特性
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.1.4芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
3.24×4矩阵键盘
如图所示,本系统采用4×4矩阵键盘,16个按键分为输入数字键:
*、0、#、1、2、3、4、5、6、7、8、9;功能键lock、modify、cel、Enter。
矩阵键盘。
图3—2
3.3复位电路
图3—3
时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图3—3)。
3.4振荡电路
图3—4
本设计晶振选择频率为12MHZ,电容选择30pF如图(3-4)。
经计算得单片机工作胡机器周期为:
12×(1÷12M)=1us。
3.5数码管
图3-5
本设计采用两个4位8段共阴极数码管。
由于由单片机直接驱动的直流电流不够,数码管亮度显得不足,所以加上三极管S9013用以放大电流。
因为LED数码管合适的驱动电流大约为9mA到20mA左右,为了适LED数码管工作电流在10mA左右,具体计算如下:
Ib=(5V-1.4V-0.7V)/27K=0.1×10-3A
Ie=Ib×(β+1)=10mA
使用的9013的放大倍数β为100.
图3-6
3.6发光二极管LED
图3-7
由于LED使用P0口驱动要加上上拉电阻如图3-7。
3.7电动锁
图3-8
由于电动锁使用P0口驱动要加上上拉电阻如图3-8。
3.8蜂鸣器
图3-9
由于蜂鸣器使用P0口驱动要加上上拉电阻如图3-9。
3.9完整电路图
图3—9
·3.10使用到的元器件列表
元器件
规格/型号
数量
四位八段共阴数码管
3461AFR1-B10
1
四位八段共阴数码管
SR42036
1
三极管
SR9013
8
三极管
S965
1
电阻
27k
8
电阻
10k
1
电阻
1k
4
电解电容
0.47uF/50V
1
瓷片电容
30pF
2
单片机
AT89C51
1
表3—1
第4章软件程序设计
本系统程序部分使用C语言编写,C语言是一种高级程序设计语言,它的优点是简洁明了、可移植性高。
主要完成,开始时数码管显示提示“INPUT”输入密码。
输入密码后按下确认键,系统会将所输入与系统密码进行比对。
若输入密码正确则显示“PASS”开锁。
然后可以选择上锁或者修改密码。
开锁后,按下上锁“LOCK”键,系统上锁并返回;选择修改密码则可以对系统进行修改密码操作。
在修改密码前要输入正确旧的密码。
正确输入旧密码之后,会有提示输入两次新密码,若两次密码一致,则修改成功。
期间操作出现失误,系统会返回初始状态,操作错误超过3次,系统会锁定键盘,并报警用以防止恶意试探密码。
4.1软件设计流程图
图4—1
4.2具体功能软件实施
·4.2.1开始等待流程
系统开始一直显示提示“INPUT”,并判断有否按键,当有键按下跳出等待。
图4—2
·4.2.2密码检查功能
本系统使用数组PASSWORD[6]存储密码,系统初始化对数组负值PASSWORD[6]={5,6,7,9,10,11}相当于键盘上的1,2,3,4,5,6。
输入密码的时候,先将输入的每一位密码分别放置在数组check[6]中,然后再将check[6]与PASSWORD[6]的每
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 密码锁 本科生 毕业设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)