毕业设计论文超市存物柜密码锁设计Word下载.docx
《毕业设计论文超市存物柜密码锁设计Word下载.docx》由会员分享,可在线阅读,更多相关《毕业设计论文超市存物柜密码锁设计Word下载.docx(35页珍藏版)》请在冰豆网上搜索。
![毕业设计论文超市存物柜密码锁设计Word下载.docx](https://file1.bdocx.com/fileroot1/2023-2/2/ae28b661-adcc-436b-b6fc-535e12d1b461/ae28b661-adcc-436b-b6fc-535e12d1b4611.gif)
1.保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
2.密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因
人员的更替而使锁的密级下降。
3.误码输入保护,当输入密码多次错误时,报警系统自动启动。
4.无活动零件,不会磨损,寿命长。
5.使用灵活性好,不像机械锁必须佩带钥匙才能开锁。
6.电子密码锁操作简单易行,一学即会。
1.2电子密码锁的发展趋势
日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
目前门锁主要用弹子锁,其钥匙容易丢失;
保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引角的2051系列单片机来实现的,但密码简单,易破解。
随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真真的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。
出于安全、方便等方面的需要许多电子密码锁已相继问世。
但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。
由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。
可以看出组合使用电子信息是电子密码锁以后发展的趋势。
1.3本设计所要实现的目标
本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误将报警。
密码可以有用户自己修改设定,锁打开后才能修改密码。
修改密码之前必须再次输入就的密码,在输入新密码的时候要二次确认,以防止误操作。
第二章总体设计方案
2.1设计要求
1.能检测柜中有无物品。
2.密码错误自锁。
3.液晶在线显示。
4.按键操作。
5.具有开锁功能。
2.2密码锁的论证与选择
2.2.1方案一:
采用数字电路控制
用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;
如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。
采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。
故不采用。
2.2.2方案二:
采用以单片机为核心的控制方案
由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。
一般来说在选取单片机时从下面几个方面考虑:
性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:
中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。
在开发过程中单片机还受到:
开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素
。
基于以上因素本设计选用单片机AT89S52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。
在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接12864液晶显示器用于显示作用。
当用户需要开锁时,先按键盘开锁键之后按键盘的数字键0-9输入密码。
密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;
当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。
新密码输入无误后按确认键使新密码将得到存储,密码修改成功。
可以看出方案二控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案。
2.3系统总体设计
本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。
其中矩阵键盘用于输入数字密码和进行各种功能的实现。
由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。
本系统共有两部分构成,即硬件部分与软件部分。
其中硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分、红外部分组成,软件部分对应的由主程序、初始化程序、12864显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序,红外线程序等组成。
其总体框架如图2-1所示。
开锁电路
图2-1
第三章硬件单元模块设计
3.1微处理模块
3.1.1主要元件介绍
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止,如图3.1所示。
图3.1AT89S52单片机引脚排列图
3.1.2微处理模块电路
单片机系统由AT89S51芯片、时钟电路和复位电路三部分组成,主要是控制和处理各模块电路的数据输入、数据输出、显示、报警,红外检测等,如图3.2所示。
图3.2微处理模块电路
3.2存储模块
AT24C02是一个I2C总线接口E2PROM存储器,用于存储电子密码锁的密码数据。
3.2.1主要元件介绍
AT24C02是美国ATEML公司生产的低功耗COMS型,I2C总线接口的E2PROM存储器,其内含256x8为存储空间,具有工作电压宽(2.5V~5.5V)、擦写次数多(大于1000次)、写入速度快(小于10mS)、抗干扰能力强、数据不易丢失、体积小等特点。
采用了I2C总线进行数据读写的串行器件,占用很少的资源和I/O线,而且支持在线编程,实时存取数据十分方便,如图3.3所示。
图3.324C02引脚排列图
3.2.224c08管脚功能:
管脚描述:
SCL:
串口时钟
24c08串口时钟输入管脚用于产生机器件所有数据发送或接收的时钟,这是一个输入管脚。
SDA:
串口数据地址
24C08双向串行数据地址管脚用于器件所有数据的发送或接收,SDA是一个开路输出管脚,可与其他开路输出或集电极开路输出进行或(wire-OR)。
A0、A1、A2、A3:
器件地址输入端
这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0,(24C01除外)。
使用24C08时最多只可以连接2个器件,所有地址管脚A0、A1、A3都未使用,管脚可以连接到VSS或悬空,如果只用到一个24C08A2管脚可以连接到VSS或悬空。
WP:
写保护
如果WP管脚连接到VCC所有内容都被写保护(只能读取)。
当WP连接到VSS或被悬空,允许器件进行正常的读/写操作。
表3.424C02引脚说明
引脚说明
功能
A0、A1、A2
器件地址选择
SDA
串行数据/地址
SCL
串行时钟
WP
VCC
+1.8~6.0V
VSS
地端
3.2.3时序图
II2C总线协议定义:
1.只有在总线空闲时候才允许启动数据传送。
2.在数据传送过程中,当时钟线为高电平是,数据线必须保持稳定状态,不允许有跳变。
时钟线为高电平时,数据线的任意电平变化将被看作总显的起始或停止信号。
起始信号:
时钟线保持高电平期间,数据线电平从高到底的跳变作为IIC总线的起始信号。
停止信号:
时钟线保持高电平期间,数据线电平从低电平到高电平的跳变作为IIC总线的停止信号。
图3.524C02时序图
3.2.4存储模块电路
图中上拉电阻的作用是减少AT24C02的静态功耗,由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数。
每当成功修改一次密码,系统就自动调用存储程序,将新密码保存在芯片内;
当系统需要进行密码识别时,通过程序读取存储器中的密码值存入缓冲区,与所输入密码进行比较,完成密码锁的开锁控制,如图3.6所示。
图3.6AT24C02模块电路
3.3输入模块
键盘可以分为独立连接式和行列式(矩阵式)两类。
根据设计要求,本电路设计采用4×
4行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目。
矩阵式键盘又叫行列式键盘。
用I/O口线组成行列结构,按键设置在行列的交叉点上。
本电路采用4条行线和4条列线,即可组成具有4×
4个按键的键盘。
其电路图如下图2.4所示。
对键的识别通常用逐行扫描查询法。
首先判别键盘中有无按键按下,由单片机I/O口向键盘送(输出)全扫描字,然后读入(输入)列线状态来判断。
方法是:
向行线输出全扫描字00H,把全部行线置为低电平,然后将列线的电平状态读入累加器A中。
如果有键按下,总会有一根列线电平拉至低电平,从而使列输入不全为1。
键盘中哪一个键按下,是由行线逐行置低电平后,检查列输入状态实现的,其方法是:
依次给行线送低电平,然后查所有列线状态,如果全为1,则所按下的键不在此行,如果不全为1,则所按下的键必在此行,而且是在与零电平列线相交的交点上的那个键,矩阵键盘如图3.7所示。
图3.7矩阵键盘
3.4电源模块
给整个电路模块提供所需的能量,使电路能够正常工作。
我们采用性能稳定可靠、价格低廉的LM78系列稳压块如图3.8所示,由于它内部有电流的限制以及过热保护和安全工作区的保护使得它不会轻易损坏,电源模块如图3.9所示。
图3.87805引脚排列图
图3.9电源模块模块电路
3.5开关锁模块
通过单片机P3.7控制三极管的工作状态来决定继电器的断开与吸合,从而达到开关锁的目的。
当用户输入的密码正确而且是在规定的时间输入的话,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。
在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示锁开;
灭,表示锁合,如图3.10所示。
图3.10开关锁模块
3.6报警模块
报警部分由蜂鸣器发声装置及外围电路组成,高电平不发声,当输入三次密码错误时,单片机的P3.6引脚为低电平,三极管Q1导通蜂鸣器发声报警,如图3.11所示。
图3.11报警模块电路
3.7显示模块
本系统采用LCD12864液晶显示,用于直观地提示用户输入开锁密码、密码信息的正误提示、开锁信息的显示等,显示整个电子密码锁的工作状态,如图3.12所示。
图3.1212864液晶显示模块电路
图3.1312864液晶显示引脚功能表
管脚号
管脚名称
电平
管教功能描述
1
GND
地
2
VDD
+5V±
%10
电源电压+5V
3
VO
0~-10
液晶显示驱动电压
4
RS
HL
RS=“H”表示DB7~DB0为显示数据
RS=“L”表示DB7~DB0为指令数据
5
R/W
RW=“H”数据被读到DB77~DB0
RW=“L”DB7~DB0的数据写到IR或DR
6
E
数据线
7
DB0
8
DB1
9
DB2
10
DB3
11
DB4
12
DB5
13
DB6
14
DB7
15
FSB
并串/行接口选择H并行L串行
16
N.C
空脚
17
RST
复位信号
18
VEE
-10
LCD驱动负电压输入
19
LEDK
+5
背光电源
20
LEDA
背光
3.8红外模块电路原理图
1、红外模块电路如图3.14。
图3.14红外模块电路
如上所示,左图为红外输入,其中P3是红外接收头,“1”脚为信号输出端,连接到单片机。
“2”脚为接地端,“3”脚为电源端,其中C5起电源滤波作用,R9为信号端提供上拉电平。
红外线的光谱位于红色光之外,波长是0.76~1.5μm,比红光的波长还长。
红外检测是利用红外线进行传递信息的一种控制方式,红外检测具有抗干扰,电路简单,容易编码和解码,功耗小,成本低的优点。
红外遥控几乎适用所有家电的控制。
红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号(载波信号),通过红外发射管发射红外信号。
常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。
脉时调制(PPM)是红外数据协会(IrDA)和国际电子电工委员会(IEEE)都推荐的调制方式,本设计采用脉时调制方法,即用两个脉冲串之间的时间间隔来表示二进制信息,数据比特的传送仿照不带奇偶校验的RS232[8]通信,首先产生一个同步头,然后接着8位数据比特。
第四章软件设计
4.1软件工作流程
软件工作流程包括7个部分:
系统的初始化、调用显示、24C08的读写操作、校对开锁、出错报警处理、数据显示、红外检测。
初始化主要包括:
中断和定时器的初始化,以及系统参数等的初始化;
对24C08的读写操作主要完成对原先密码进行更改或相关设置的目的,然后将更新后的密码保存到其中。
校对开锁是要对输入的密码和保存在存储器中的密码相比较,相同就通过,否则要进入出错报警阶段。
3次都输入的是错误密码,系统将长时间报警并自锁,输入管理员密码解锁。
其它子模块均为各个芯片的具体读写操作,通过单片机模拟读写时序。
开始
程序流程图
初始化
调用显示
N
有键下?
Y
键值识别
数字键?
存储键值
确定键?
密码错误显示
密码正确?
记录错误次数
驱动开锁程序
>
3次?
开锁
锁定
报警
延时
复位
管理员密码解锁
图4.1流程图
其余子模块均为单片机模拟各芯片的读写时序,此处不做仔细阐述。
4.2密码修改流程
改密键按下
按下更改密码键,提示输入旧密码,旧密码经验证后,提示输入新密码,两次输入新密码无误,按下确认键,密码被存入24C08中,更改密码成功,如图4-2。
图4.2密码修改流程图
第五章调试与实现
5.1硬件调试
单片机应用系统的硬件调试和软件调试是分不开的.许多硬件故障只有通过软、硬件联调才能发现,但一般是先排除系统中比较明显的硬件故障后才和软件一起联调。
常见的硬件故障:
(1)逻辑错误
硬件的逻辑错误是由于设计错误和焊接过程中的工艺错误而造成的,包括错线、开路、短路等,其中最常见的是短路故障。
(2)元器件错误
元器件错误的原因有器件损坏或性能不符合要求,电解电容、二极管的极性接反或集成块装反等。
(3)可靠性差
应用系统可靠性差的原因很多,如内部和外部的干扰、电压纹波系数过大、器件负载过重等均会造成系统的可靠性差。
另外,走线和布置的不合理也会造成系统可靠性差。
(4)电源故障
电源故障包括:
电压值不符合设计要求、电源功率不足、负载能力差、纹波太重等。
硬件调试办法
脱机调试是在加电前,先用万用表等工具,按图纸仔细核对线路是否正确,并对元器件的安装、型号、规格等进行仔细检查,特别焊接时有无走线之间相互短路等。
5.2软件调试
程序在KEILC51上调试,采用模块程序设计技术,则逐个模块调好后再进行系统程序总调。
对于模块结构程序.要一个个子程序分别调试。
调试时,一定要符合入口条件和出口条件,调试可用单步运行和断点运行方式,通过检查用者系统的CPU现场情况、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求,有无循环错误、有无机器码错误以及转移地址的错误,同时,还可以发现系统中存在的硬件设计错误和软件算法错误。
各程序模块通过后,则可以把相关功能块连在一起进行总调。
这个阶段若有故障,可以考虑各子程序运行时是否破坏了现场,缓冲单元、工作寄存器是否发生冲突,标志位的建立和清除是否有误,堆栈区是否有溢出,输入设备的状态是否正常等等,若用者系统是在开发机的监控程序下运行时,还要考虑用者缓冲单元是否和监控程序的工作单元发生冲突。
单步和断点调试后,还应进行连续调试,用以确定定时精度、CPU的实时响应等问题。
当全部调试和修改完成后,将程序固化到AT89S51中。
进行整机调试。
各功能实