曹元元 基于单片机控制的电子密码锁设计副本Word文件下载.docx
- 文档编号:20302466
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:51
- 大小:909KB
曹元元 基于单片机控制的电子密码锁设计副本Word文件下载.docx
《曹元元 基于单片机控制的电子密码锁设计副本Word文件下载.docx》由会员分享,可在线阅读,更多相关《曹元元 基于单片机控制的电子密码锁设计副本Word文件下载.docx(51页珍藏版)》请在冰豆网上搜索。
Abstract
Nowelectronicproductminiaturizationtotheintelligentandcontinuousdevelopment,peopleincreasinglyhighperformancerequirementsofsafety.Thetraditionalmechanicallockbecauseofitssimpleinternalstructure,lowsafetyproperty,andcannotmeetthepresentneedsofthepeople,andthemechanicallockprizingleadstoleneventsofagonizing.
SCMhasbeeninthefieldofhomeappliancehaswideapplication,systemusestheAmericanAtmelcompanyAT89S51MCUasthecoresystem,liquidcrystaldisplayLCD1602asoutputdevicetodisplaysystemmessage,4*4matrixkeyboardasaninputdevice,aCMOSserialE2PROMmemoryAT24C02asdatastorage,withabuzzer,relaycircuithardwareofthewholesystemthemainfunctionofthelock,modifypasswords,power-down,passwordlockstorage,alarmfunction.
OnthesubjectofdesignschemebasedonAT89S51single-chip,mainlybecauseitcanpreventmanytemptationsandnotbedecipheredtoeffectivelyovercomeinthereallifemanyshortcomings.
Keywords:
passwordlock,AT89S51,LCD1602,AT24C02displaymemory
前言
生活在现在的我们越来越多的东西需要保护,对我们的保护工具我们的要求也越来越高。
假如使用传统的机械式钥匙开锁,人们需携带多把钥匙,使用太不方便了,并且钥匙丢失后安全性即大打折扣。
随着科学技术的不断发展,人们对日常生活中安全性能要求越来越高。
为满足人们对锁的使用要求,用数字密码代替钥匙的密码出现了。
密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术方面,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,解决了机械式密码锁的密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步【1】。
随着人们对安全的重视,许多电子智能锁已在国内外相继面世。
但很多产品都是指纹和IC开锁的,只适用于保密要求的箱、柜等。
而且假如指纹识识别器在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等不便。
加上其成本较高,一定程度上限制了这类产品的普及。
鉴于目前的技术水平与市场的接收程度,我认为电子密码锁是这类电子防盗产品的主流。
电子密码锁可以用单片机做也可以用数字电路做,两者相比较而言,由于单片机具有灵活的编程能力和丰富的I/O端口,及其控制的准确性,不但能实现所要求的功能而且有很大程度的扩展功能,能方便的对系统进行升级,基于以上思路,本次设计使用ATMEL公司的AT89S51实现基于单片机的电子密码锁的设计。
1.1电子密码锁发展趋势
电子锁的研究是从上世纪30年代就开始了,在某些特殊场所早就有所用。
研究这种锁的初衷,是提高锁具的安全性,因为电子锁的密码量(可设置的密码数)很大,避免因钥匙被仿制而出现的问题。
在安全性极高的前题下,它的另一个特点——无需钥匙被越来越多的人所欣赏。
现代生活对安全方便的要求使得钥匙必须从有形到无形,由于安全的要求密码量多的电子密码锁将代替单一的机械锁。
到了20世纪80年代,后电子产品兴起大量的微型电子密码锁一步步代替老式机械锁,但始终没有大众化使用,我认为的原因可能有如下几点:
1.密码锁结构比较复杂,出现故障很难修。
因为密码锁本身是一种机械卡阻机构,最终还是要靠机械动作来完成。
而电子锁必须完成机械动作(操作)———电子识别转换和电子控制———机械执行这一系列过程,显然是复杂一些。
电子元件还会随着使用而老化。
这些都增加故障机率,而电子锁一旦损坏了就会拒人于门外。
绝大部分电子锁都为此增加了备用开锁手段,无疑又降低了安全性。
尽管随着元器件的质量提高了故障率大大降低,但备用开锁手段很少有取消的。
2.运行环境需要严格要求。
电子器件怕潮湿,怕强磁电,怕强震动,使它对使用环境有一定要求。
电子锁使用还需要充足的电力供应。
早期的电子锁耗电较多,一般用市电。
现在的集成电路电子锁耗电少,一节钮扣电池就可以维持控制部分的工作,但驱动电磁铁或马达却需要大一些的电池。
3.当时使用比较复杂。
比如键盘式电子密码在键盘上输入,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。
但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,造成保密性不足。
当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。
随着现代科技的发展,推动了电子锁技术发展并不断的提高电子锁的实用和安全性等【2】。
1.2设计的意义与目标
1.2.1设计的意义
密码锁具有安全性高、成本低、功耗低、易操作等优点,会被广大用户采纳,来作为保护自己隐私的工具。
也由于对密码锁的设计能让我更了解其功能,每个功能的工作情况,还有对其些主要芯片的了解和认识。
1.2.2设计的目标
①“密码可任意设定”技术使得使用人可以根据自己的需要或高兴设定密码;
②“自动更改密码”技术使得密码不断变化,主要更改的规律不为他人所知;
③“多重密码设定”技术使得单一密码不一定适用,当密码忘记时可通过另外一组密码打开密码锁,解决只有打开锁才能修改密码问题,以此来修改密码。
本设计目标有两种情况可报警:
一是密码输入错误3次或3次以上,则报警;
二是非正常开门,例如有人用不正当手段开门,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。
系统工作时,用户通过按键输入规定的几位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;
若密码不正确,则有设定的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。
第二章系统的思路设计
2.1系统的整体框图
本篇论文主要由AT89S51单片机、矩阵键盘、液晶显示器和密码存储等部分组成,其中矩阵键盘用于输入数字密码和进行各种功能的实现【5】,如图(图2-1)所示。
用户通过矩阵键盘输入密码,经过单片机对用户输入的密码与自己保存的密码进行对比,判断密码是否正确,从而控制单片机引脚的高低电平实现开锁、上锁、修改密码、报警等功能。
图2-1电子密码锁整体框图
2.2设计理念
系统工作思路分析:
使用AT59S51单片机、4×
4矩阵键盘、LED、发声器等。
矩阵键盘分别为0、1、2、3、4、5、6、7、8、9、CLR、EN、MODIFY。
系统由液晶显示器1602显示,每按次键盘会有一个规定显示,并且发声器会发出声音,若连续3次输入不正确,则发出警报声同时锁定键盘【5】。
系统中CLR键用于退格,在输入密码时,若输入错误且未按下Enter键,按下CLR可以删除刚输入的密码,然后再次输入。
为了防止恶意尝试,系统才用若连续输入3次错误密码则发出报警声,且锁定键盘,可以提高系统的安全系数,同时也能够保护合法用户的正常使用。
3.1主控芯片AT89S51
3.1.1芯片AT89S51简介
本论文主要选用AT89S51做为主控芯片。
AT89S51具有如下特点:
共有40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
另外,AT89S51振荡频率可为0Hz并可通过软件设置省电模式。
空闲状态下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式仍可以保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,可以适应很多产品需求。
3.1.2AT89S51引脚介绍与实物
下图(图3-1)为DIP封装AT89S51芯片引脚图
图3-1AT89S51芯片引脚图
它有40个管脚,分成两排,每一排各有20个脚,其中左上方为第1脚,然后按逆时针方向依次为第2脚、第3脚……第40脚
VCC:
供电电压。
%K7bc5A4O4B7Gg"
d1XGND:
接地。
优领域-电子领域oH&
kBNg
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
优领域-电子领域j;
vrE0z&
d:
f
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。
优领域-电子领域0aR&
BX#Ty4OaH
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
N;
TD!
Qf{\]"
O%v'
y0_lgp3L1Z;
K0P3口也可作为AT89S51的一些特殊功能口,
优领域-电子领域$fK_[0mM.v/DnI
管脚备选功能:
优领域-电子领域;
mQCPyo"
R]~
P3.0RXD(串行输入口)
优领域-电子领域%Vtq$ZOtR7E-ok$_J"
、
P3.1TXD(串行输出口)
优领域-电子领域.aAi}&
meP3.2
(外部中断0)
VhulpAh8i^qx0P3.3
(外部中断1)
优领域-电子领域x8SO1PL0jP3.4T0(记时器0外部输入)
9H'
H.m%G#e8`J*QK7L0P3.5T1(记时器1外部输入)
优领域-电子领域ZJ_~/MAKP3.6
(外部数据存储器写选通)
r+e!
yo+iq_H0P3.7
(外部数据存储器读选通)
m$Z$w#f(GUa#t@0P3口同时为闪烁编程和编程校验接收一些控制信号。
0aO?
/he0RST:
复位输入。
:
外部程序存储器的选通信号。
/VPP:
当
保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
优领域-电子领域"
_`,wFF'
_yXTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
优领域-电子领域^B_.q(d2JKXTAL2:
来自反向振荡器的输出【10】。
下图(图3-2)为实物图
优领域-电子领域g-Xl_z~X.i
图3-2芯片AT89S51实物图
3.2显示模块
为提高密码锁的密码显示效果能力。
本论文的显示部分由液晶显示器LCD1602取代普通的数码管来完成。
接通电源后显示器处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键0-9输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。
当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD子显示“correct”,电子密码锁被打开;
如果密码不正确,LCD显示屏会显示“error”,电子密码锁不能被打开【5】。
通过LCD显示屏,可以清楚的判断出锁所处的状态。
1602显示器接口说明如下表1
表1
电路图如下图(图3-3)所示:
图3-3液晶显示LCD1602电路连接图
3.3键盘输入模块
本键盘主要是矩阵式按键,行列式矩阵解决了多个按键单片机接口少问题。
另外6个功能键分别是:
CLR、EN、S3、S4、S5、S6。
其中CLR键的功能是当输入密码错误的时候,清除前面已经输入的数据,重新输入。
EN键的功能是确认输入的密码。
S3是管理模式切换键,当用户不小心三次输入密码都没有正确,键盘被锁定,这个时候就可以启动管理模式,使用管理员的密码来开门。
S4是用来进入修改密码的状态。
S5用来关闭显示器,一来可以节省电量,另外也可以防止不法分子偷窥密码。
S6用作电铃输入键。
按键电路连接图如下图(图3-4)
图3-4密码锁按键电路连接图
3.4密码断电存储保护模块
3.4.1主控芯片AT24C02介绍
AT24C02是美国Atmel公司生产的一个2K位串行CMOSE2PROM,它有一个16字节页写缓冲器,是一个2K位串行CMOSE2PRO,M内部含有256个8位字节。
具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。
该器件可以通过接口
,做专门的写保护的功能。
总线是一种用于IC器件之间连接的二线制总线。
他通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。
AT24C02正是运用了
规程,使用主/从机双向通信,主机(通常为单片机)和从机(AT24C02)均可工作于接收器和发送器状态。
主机产生串行时钟信号(通过SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。
无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。
AT24C02中带有的片内地址寄存器。
每次写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。
所有字节均以单一操作方式读取。
为降低总的写入时间,一次操作可写入多达8个字节的数据写入。
AT24C02的控制字由8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向。
管脚中A0、A1、A2是器件地址输入端,这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。
当使用AT24C02时最大可级联8个器件。
如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2)可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(A0、A1、A2)必须连接到Vss。
SCL是串行时钟,AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。
SDA是串行数据/地址AT24C02双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或。
WP是写保护管脚,如果WP管脚连接到Vcc,所有的内容都被写保护只能读。
当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作。
Vcc是接电源管脚,vss是电源地管脚【12】。
3.4.2芯片AT24C02引脚图与电路连接图
图3-5AT24C02两种引脚图
图3-6AT24C02电路接线图
3.5发声模块
发生模块部分由陶瓷压电发声装置及外围电路组成,加电时不发声,当有键按下时,“叮”声,每按一下,发声一次,密码正确时,不发声直接开锁,当密码输入错误时,单片机的P3.4引脚为低电平,三极管Q1导通蜂鸣器发出噪鸣声报警。
如下图(图3-7)所示:
图3-7蜂鸣器电路连接图
3.6系统晶振模块
AT89S51的两个引脚XTAL1和XTAL2与晶体振荡器及电容C2、C1按下图(图3-8)所示方式连接。
晶振、电容C1/C2及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在0~33MHz之间,电容C1、C2取值范围在5~30pF之间。
根据实际情况,本设计中采用12MHZ做为系统的外部晶振。
电容取值为20pF。
图3-8密码锁晶振电路连接图
3.7开锁模块
开锁控制电路的功能是当输入正确的密码后将锁打开。
系统使用单片机P3.6一引脚线发出信号,经三极管放大后,由继电器驱动电磁阀动作将锁打开。
用户通过键盘任意设置密码,并储存在EEPROM中作为锁码指令。
只有用户操作键盘时,单片机的电源端才能得到3V电源,否则.单片机处于节电工作方式。
开锁步骤如下:
首先按下键盘上的开锁按键,然后利用键盘上的数字键0-9输入密码,最后按下确认键。
当用户输入一密码后,单片机自动识码,如果识码与原存入的密码不符,不开门。
只有当识码正确,单片机才能控制电子锁内的微型继电器工作。
当继电器工作来完成本次开锁。
开锁以后,单片机自动清除掉由用户输人的这个密码。
在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;
灭,表示没有开锁。
。
当P3.6口输出低电平时,二极管发光,表示开锁【14】。
开锁电路连接图如下图(3-9)
图3-9开锁电路连接图
3.8电路复位模块
要达到整个电路的稳定有效的工作,复位电路在整个系统中是不可缺少的。
不管是什么单片机,都应该为用户设计这位的功能,主要是为了防止单片机在高温、强磁场等一系列强的干扰环境下卡死,能恢复初始状态正常工作。
系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防止复位开关闭合过程中引起的抖动而影响复位。
该电路在最基本的复位电路基础上增加了一个手动复位开关,当人为按下按钮时,则Vcc的高电平就会直接加到RST端。
由于人的动作再快也会使按钮保持接通达数十毫秒,所以完全能够满足复位的时间要求。
下图(图3-10)为电路原理图
图3-10密码锁复位电路连接图
第四章系统的软件设计
本系统软件设计由主程序、初始化程序、LED程序、键盘扫描及识别子程序、密码设置程序、EEPROM读写程序和延时程序等组成。
4.1主程序流程图
程序开始与复位是一体的两个同时进行,然后在键盘上输入密码,密码正确,开锁成功,密码错误3次出错报警,正确后选择是否修改密码。
若要修改密码,先输入旧密码,密码正确后才能设置新密码,错误时报警,需要两次确认新密码。
确认后,密码修改成功,否则结束最终返回。
然后启动程序,进行保护,再次在键盘上输入密码,系统再次进行扫描,如果和之前一样,则执行相同程序。
若不是执行另一个程序。
流程图如下(图4-1)
图4-1主程序流程图
4.2按键设计
4.2.1按键流程图
在按键中有与输入、开锁、清除、设置、确认相对应按键,并按顺序与输入的数相比较。
当输入正确时,进入密码程序,错误时,进行清除,输入两次新密码正确时,可进行重新设置密码,最后确认程序。
如下图(图4-2)
图4-2按键流程图
4.2.2按键消抖电路
由于当矩阵键盘按下的时候,会产生抖动原因,所以键盘电路中要用到除去抖动处理。
按键闭合与断开过程中会有机械弹性,所以按键闭合式不会马上稳定接通,按键断开时也不会马上断开,是由于按键闭合与断开的瞬间过程中会产生抖动电压。
简单示意图如下图(图4-3)。
按键按下的抖动时间一般是5-10ms,抖动是由于电压的抖动,单片机CPU会对该操作多次运行,从而会产生错误的指令。
所以必须要消除这都抖动的5-10ms,才能得到正确的按键闭合与断开的稳定状态。
现在的主流去抖方法有硬件去抖和软件去抖两种:
1硬件去抖是外加个硬件电路,例如可以通过加个RS触发器实现硬件去抖。
2软件去抖在第一次检测到键盘按下的时候,执行一段10ms的延迟子程序后再确认该键是否确实被按下了,躲过抖动,等到信号稳定后,再进行键扫描。
我这设计采用软件方法。
图4-3按键消抖示意图
4.3密码设置
如下图为密码设置流程图,开始按下设置键,输入旧密码,如果错误累计三次进行报警程序。
如输入正确,可以修改密码,确认后再次输入新密码如两次输入一样,则更改成功。
如果两次输入的新密码不一样,则修改密码失败,重新返回设置新密码。
如下图(图4-4)
图4-4密码设置流程图
4.4开锁软件设计
如下图(图4-5)为开锁流程图开始时按开锁键,输入密码,如果输入正确,则开锁成功。
如果输入错误累计达到三次,则执行报警程序。
优领域-电子领域9c9q?
$r__tX
图4-5密码锁开锁流程图
4.5系统的声音设计
本设计声音这部分主要是键盘扫描是否有键按下,每按次键会发一声短暂的声音。
还有当密码输入错误次数大于3次会自动启动报警程序发出报警。
流程图如下图(图4-6)
图4-6系统声音流程图
第五章结论
本设计主要是从经济实用的角度出发,采用了美国Atmel公司的单片机AT89S51与低功耗E2PROMAT24C02作为主控芯片与数据存储器单元,并结合了外围的键盘输入、液晶显示、报警、开锁等电路并用汇编语言来编写主控芯片的控制程序,研制了一款可以多次更改密码具有报警功能的电子密码锁。
设计完全可行可以达到设计目的【15】。
使用单片机AT89S51制作的电子密码锁具有软件与硬件设计简单,便于开发,成本也比较低,安全可靠,操作方便等优点,本论文主要是由软硬件相结合来完成设计。
论文中我在开锁部分遇到了点麻烦,用了发光二极管代替了机械开锁部分,硬件部分主要用proteus软件画出原理图,软件部分主要用word软件画出流程图。
本电路设计具有按键有效提示,输入错误提示,开锁控制电路,控制报警电路,修改密码等多种功能。
可在意外泄密的情况下随时修改密码。
保密性强,灵活性高,尤其比较适用于家庭、宾馆、办公室、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 曹元元 基于单片机控制的电子密码锁设计 副本 基于 单片机 控制 电子 密码锁 设计