基于单片机的电子密码锁的设计与仿真.docx
- 文档编号:9711989
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:58
- 大小:1,005.34KB
基于单片机的电子密码锁的设计与仿真.docx
《基于单片机的电子密码锁的设计与仿真.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁的设计与仿真.docx(58页珍藏版)》请在冰豆网上搜索。
基于单片机的电子密码锁的设计与仿真
电子综合课程设计报告
设计课题:
基于单片机的电子密码锁设计
专业班级:
09级电子1班
组长:
学号:
20090813007
组员:
学号:
20090813005
学号:
20090813007
学号:
20090813010
学号:
20090813013
指导教师:
设计时间:
12年11月20日—12月20日
摘要
在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。
随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
基于以上思路,本次设计使用ATMEL公司的AT89C52实现一基于单片机的电子密码锁的设计,其主要具有如下功能:
1.设置8位密码,密码通过键盘输入,若密码正确,则将锁打开。
2.密码可以由用户自己修改设定,锁打开后才能修改密码。
修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。
3.报警、锁定键盘功能。
密码输入错误液晶显示器会出现错误提示。
4.电子密码锁的设计主要由三部分组成:
4×4矩阵键盘接口电路、密码锁的控制电路、输出显示电路。
另外系统还有LED提示灯,报警蜂鸣器等。
密码锁设计的关键问题是实现密码的输入、清楚、更改、开锁等功能:
1)密码输入功能:
按下一个数字键,一个“*”就显示在最右边的液晶屏上。
2)密码清除功能:
当按下清除键时,清除前面一位输入的密码,并清除对应的“*”。
3)密码更改功能:
将输入的值作为新的密码。
4)开锁功能:
当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。
Abstract
Inourdailylife,thesecurityofhouse,companydepartment,documentsandfinanceforms,alsosomepersonalinformationalwaysusedthelocktoprotectthem.Ifusethenormalkeystolockoutthedoor,weshouldtakenmanykeyswithourself.Thatissodifficulttouse.Andifwelostthekeyswithcareless,thesecuritylooksveryeasytobreakout.Asthedevelopingofthetechnology,people
askforhighsecuritymachines.Forsatisfythisrequest,thecipherlockisappeared.Thecipherhashighersecurity,lowercost,lowerpowerandeasytouse.
Baseonthethinkingofthecipherlock,thisdesignusesAT89C52ofATMELCOMPANYtocarryouttheSCMdigitalcipherlock,itsmainfunctionasfollow:
1.setpasswordwith8words,enterthewordsviakeyboard,ifentertherightnumber,thelockwillunlock.
2.passwordcansetandfixbyyourself,youcanjustfixthepasswordwhenthelockiskeepingunlock.Itneedtoenterthenewpasswordtwicetoavoidthewrongactivity.
3.alarmfunction.Ifenterthewrongpassword,themonwillshowtheerrormessage.
thislockismadeby3parts:
gobcircuitof4x4matrixkeyboard,gobcircuitofcipherlock,gobcircuitof8waydisplayoutput.otherwise,thesystemhasLEDlight,andwarningbuzzer.
themainfunctionofthiscipherlockiscarriedoutenter,clear,andchangethepassword,andunlockthedoor.
1.enterthepassword:
pressonenumberbutton,onesignal"*"willshowonthedigitaltubeontherightside.
2.clearthepassword:
presstheclearbuttontoclearthelastcodeyouhaveenterbeforeonebyone.
3.changethepassword:
usethenewenternumberasthenewpassword.
4.unlockfunction:
presstheunlockbutton,thesystemwillcheckuptheenternumberandpassword,ifyesthelockwillopen,ifnotitkeeplock.
第一章引言
1.1题目背景
随着社会物质财富的日益增长,安全防盗已成为社会问题。
而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。
目前国内,大部分人使用的还是传统的机械锁。
然而,眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。
所谓互开率,是各种锁具的一个技术质量标准,也就是1把钥匙能开几把锁的比率。
经国家工商局、国家内贸局、中国消协等部门对锁具市场的调查,发现个别产品的互开率居然超标26倍。
为何弹子锁的“互开率”会如此之高?
据有关专家人士剖析,弹子锁质量好坏主要取决于弹子数量的多少以及弹子的大小,而弹子的多少和大小受一定条件的限制。
此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。
机械锁的这些弊端为一种新型的锁---电子密码锁,提供了发展的空间。
1.2电子锁
电子锁是采取电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置的机电一体化锁具,相比传统的机械锁具,电子锁不使用金属钥匙,保密性、精度都有很大提高。
电子锁的发明思路,源自古代发明的自动机械,例如古希腊数学家赫伦的液压自动门,中国古代诸葛亮的木牛流马,它们以重力或蒸汽压力驱动,最广泛的用途乃是用在古代墓道的地下机关。
电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电子锁一日千里的跃进。
1.3电子密码锁的特点
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
其性能和安全性已大大超过了机械锁,主要特点如下:
1.保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
2.密码可变。
用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
3.误码输入保护。
当输入密码多次错误时,报警系统自动启动,防止试探密码。
1.4电子密码锁的的发展趋势
从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。
键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。
但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。
当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。
因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。
在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。
总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。
第二章系统方案选择
2.1总体方案比较与论证
方案一:
基于8D锁存器74LS373的锁存密码电路
此方案采用两个8D锁存器74LS373用于存储密码和接收输入信号,两者进入比较器进行比较。
共设有八个用户输入键,74LS373为密码存储器件。
先将74LS373的C和OC端置低电平,使其处于送数状态。
当输入密码后将OC置于高电位,则锁存器将密码信号锁存,然后按键复位。
当下次开锁时只有在规定时间内,规定次数内输入密码才会发出开锁信号,否则不能开锁。
并且,当时间或输入次数到达一定值后,电路会自锁一段时间,并发出警报声。
警报结束后,电路回复原状,计时及计数归零,直至下一次开锁动作。
第一部分是密码输入部分,由八个开关构成,密码输入共有28=255种输入方式(注:
从0000--1111共256种组合),但能正确开锁的输入方式只有1种,安全性较高。
第二部分是由74LS373组成的密码锁存电路,通过控制74LS373的芯片管脚特性来控制芯片的工作状态。
第三部分是由74LS85组成的比较器(或者是同或门组成的比较电路),来比较输入信号与寄存密码的相等与否。
第四部分是有二极管构成的开锁信号电路,黄灯处于待开状态,绿灯表示开锁正确,红灯及警报声表示开锁错误或者是锁存状态。
第五部分是计时及计数部分,计时表示从准备开锁到开锁完成所规定的时间,以及锁存时期的锁存时间,计数记录的是误操作的次数。
方案二:
以STC89C52为核心的单片机控制方案
选用单片机STC89C52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。
在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602用于显示作用。
当用户需要开锁时,先按键盘开锁键之后按键盘的数字键0-9输入密码。
密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后可以设置新密码。
新密码输入无误后按确认键使新密码将得到存储,密码修改成功。
单片机具有资源丰富、速度快、编程容易等优点。
利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接显示器,键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标,而且单片机编程设计灵活、I/O端口丰富、控制的准确性高,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制等附加功能,此外单片机方案有较大的活动空间,不但能实现所要求的功能,还能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。
综上分析:
方案一虽然设计简单但密码输入控制复杂、实用性不是很强,并且不能实现密码保存。
而方案二设计复杂,使用方便,安全性好,功耗低,成本低,而且容易操作保密性强。
故在此设计中,我们选用第二种方案,即利用单片机实现密码锁的控制。
2.2显示方案的选择
方案一:
使用LCD1602进行显示
由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,因此液晶显示器画质高;同样液晶屏的功率消耗比较小;液晶是平板型结构,由两片玻璃组成的夹层盒,面积可大可小,安装时占用面积小减小了设备的体积;液晶的信息量大相同的面积上与数码管比可以显示更多的信息;且他本身没有老化问题寿命极长;与数码管相比液晶屏显示的更能够看懂,他能将英文细腻的显示出来是数码管做不到的。
然而液晶屏也可在阳光下工作,具有防风、防雨、防水功能。
这就说明能够使用在室外。
但是液晶在阳光强的时候会反光是视角模糊看不清楚,对于这个现象由于屏幕较小可以用手挡住阳光是自己看的清楚一点。
图2-1液晶显示
方案二:
用数码管来显示
图2-2数码管显示
与液晶相同也能显示数字和字母,但是在显示字母的时候没有液晶那么细腻很难辨认,而且用数码管显示一个较长的英文就会用到好几个数码管扩大了空间,就显得美观。
数码管的优点
是在强光下也能看清上面显示的内容。
综合两方案的比较用液晶显示比较合适。
2.2密码输入方式的选择
方案一:
指纹输入识别
指纹识别技术主要设计四个功能:
读取指纹图像、提取特征、保存数据和对比。
通过指纹读取设备读取到人体指纹的图像,然后对原始图像进行初步的处理,使之更加清晰,再通过指纹识别软件建立指纹的特征数据。
软件从指纹上找到被称之为“节点”的数据点,即指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一特征。
通常手指上平均具有70个节点,所以这种方法会产生大约490个数据。
这些数据通常被称之为模板。
通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果,从而判断输入结果的正确与否。
方案二:
矩阵键盘输入识别
由各按键组成的矩阵键盘每条行线和列线都对应一条I/O口线,键位设在行线和列线的交叉点,每当一个按键按下就会由某一条行线与某一条列线接触,只要确定接触的是哪两条I/O口线,就可以确定哪一个按键被触动。
行线初始置于高位,通过不断读行线口线,或者中断方式触发键位扫描。
当发现有键按下,将列线逐一置低,其他列线置高,读取行线口线。
当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。
方案比较:
方案一虽然比较安全,不容易忘记密码但是软硬件太过复杂,很难操控且成本很高。
而方案二简单易行,可以进行程序控制,成本较低。
故选取方案二作为设计的输入部分。
第三章系统总体介绍和主要芯片介绍
3.1系统总体介绍
本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成其中矩阵键盘用于输入数字密码和进行各种功能选择的实现。
由用户通过连接单片机的矩阵键盘输入密码后,经过单片机对输入密码与自己保存的密码进行比对,从而判断出密码是否正确,然后控制引脚的高低电平传到开锁电路或者警报电路控制开锁还是报警。
实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁吸合线圈即可。
系统整体框图如图3-1所示。
各模块功能如下:
1.键盘输入模块:
分为密码输入按键和几个功能按键,用于完成密码锁输入功能。
2.显示模块:
用于完成对系统状态显示及操作提示功能。
3.复位电路:
完成系统的复位
4.报警电路:
用于完成输错密码时候的警报功能
5.密码存储模块:
用于完成掉电存储功能,使修改的密码断电后仍能保存
6.开锁电路:
应用继电器及发光二极管模拟开锁,完成开锁及显示
3.2主要芯片介绍
3.2.1STC89C52
图3-1AT89C51芯片
MCS-51系列中的各种芯片引脚是互相兼容的,其中STC89C52单片机是高性能的单片机。
在不接任何外围电路的情况下可以实现大部分较为复杂的逻辑控制功能,进行外部RAM扩展还可以用于数据采集,点阵显示屏控制等方面应用。
对于存储量要求不高的实际应用,STC89C52是一种不可多得高性能的单片机,被广泛应用于各个领域。
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,2个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
STC89C52的引脚图如图3-2:
VCC:
电源电压
GND:
地
P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。
P0口能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
3-2STC89C52引脚图
P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平。
作输入口使用时,因内部有上拉电阻,不需要外接上拉电阻。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P3口:
P3口作为一般I/O口线的情况与上述相同。
但更重要的用途是它的第二功能。
第二功能如下:
表3-1P3端口第二功能说明
P3.0RXD(串行输入口)
P3.4T0(记时器0外部输入)
P3.1TXD(串行输出口)
P3.5T1(记时器1外部输入)
P3.2/INT0(外部中断0)
P3.6/WR(外部数据存储器写选通)
P3.3/INT1(外部中断1)
P3.7/RD(外部数据存储器读选通)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
地址锁存允许。
当单片机方位外部存储器时,该引脚的输出信号ALE用于锁存P0的八位地址。
输出频率为时钟频率的1/6。
PSEN:
程序存储器允许,输出外部程序存储器的选通信号。
-----EA/VPP:
当-----EA=0时,单片机只访问外部程序存储器。
当-----EA=1时,单片机只访问内部程序存储器。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.2.2存储芯片AT24C02
图3—324C02的实物图
AT24C02是一个2K位串行CMOSE2PROM,内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。
AT24C02有一个16字节页写缓冲器。
该器件通过IIC总线接口进行操作,有一个专门的写保护功能。
24c02引脚说明:
图3—424C02的引脚功能图
SCL:
串行时钟信号引脚
在SCL输入时钟信号的上升沿将数据送入EEPROM器件,并在时钟的下降沿将数据读出。
SDA:
串行数据输入/输出引脚SDA引脚可实现双向串行数据传输。
该引脚为开漏输出,可与其它多个开漏输出器件或开集电极器件线或连接。
A0,A1,A2——地址输入引脚。
当使用24C02时最大可级联8个器件,如果只有一个24C02被总线寻址,这三个地址输入脚A0,A1,A2可悬空或拉高。
WP——写保护,当WP接地时,允许对器件的正常读写操作;当WP接高电平时,写保护,只能进行读操作。
VCC,GND——电源,接地引脚,1.8-5.5v
24c02内部寻址,读/写操作:
图3-524C02寻址方式
前八位是地址地址信号,从最高位(MSB)开始,其中前四位是固定值1010,后三位有管脚A0、A1、A2的基地情况确定。
最后一位是读写控制信号,0表示写,1表示读。
若与SDA线发送过来的地址比较一致,则器件输出应答0,否则将返回等待状态。
器件内部地址寻址是在器件寻址之后,对256个字节进行寻址,直接传送8位地址信号(00-FF)对应于器件内部的地址。
写操作:
先由主机发送起始命令,再发送送器件地址,当主机接收到器件的ACK应答后,便继续发送内部字节地址,当接收到ACK应答后继续发送数据,当8位数据发送完毕之后,主机接收到器件的ACK应答,在发送停止信号。
图3-624C02写寻址
读操作:
内部地址计数器存放着上一次访问时最后一个地址加1的值,只要芯片有电,该值就被保存。
当读到最后页的最后字节,该地址变为0;当读到某页的页尾时,该地址转向该页页首。
图3-724C02读寻址
3.2.3LCD1602显示器
现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。
1602型LCD液晶显示模块具有体积小,功耗低,显示内容丰富等特点,超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。
可以显示2行16个字符,有8位数据总线D0~D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有对字符对比度调节和背光功能。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
因为16
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 密码锁 设计 仿真