版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE25电子密码锁的设计摘要随着社会物质财富的日益增长,安全防盗已成为社会问题。而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。目前国内,大部分人使用的还是传统的机械锁。然而,眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。所谓互开率,是各种锁具的一个技术质量标准,也就是1把钥匙能开几把锁的比率。经国家工商局、国家内贸局、中国消协等部门对锁具市场的调查,发现个别产品的互开率居然超标26倍。为何弹子锁的“互开率”会如此之高?据有关专家人士剖析,弹子锁质量好坏主要取决于弹子数量的多少以及弹子的大小,而弹子的多少和大小受一定条件的限制。此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁电子密码锁,提供了发展的空间。关键词:AT89C51,AT24C02,电子密码锁,矩阵键盘目录TOC\o"1-2"\h\z\u1绪论 11.1引言 11.2电子锁简介 21.3电子密码锁的特点 21.4方案论证与比较 32AT89C51单片机概况 52.1AT89C51单片机的简介 52.2AT89C51单片机的引脚 62.3AT89C51单片机复位方式 83电路的功能单元设计 93.1开锁机构 93.2按键电路设计 103.3显示电路设计 123.4AT24C02掉电存储单元的设计 143.5密码锁的电源电路设计 153.6设计总框图 173.7设计总体电路图 184程序设计 194.1主程序流程图 194.2键盘扫描子程序模块 204.3数字处理程序模块 214.4开锁程序 224.5密码设置程序 235总结 23致谢 25参考文献 261绪论1.1引言在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。基于以上思路,本次设计使用ATMEL公司的AT89C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能:(1)
设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。(2)密码可以由用户自己修改设定(只支持6位密码),锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。(3)报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。电子密码锁的设计主要由三部分组成:4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。密码锁设计的关键问题是实现密码的输入、清楚、更改、开锁等功能:(1)密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。(2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。(3)密码更改功能:将输入的值作为新的密码。(4)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。1.2电子锁简介电子锁是采取电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置的机电一体化锁具,相比传统的机械锁具,电子锁不使用金属钥匙,保密性、精度都有很大提高。电子锁的发明思路,源自古代发明的自动机械,例如古希腊数学家赫伦的液压自动门,中国古代诸葛亮的木牛流马,它们以重力或蒸汽压力驱动,最广泛的用途乃是用在古代墓道的地下机关。电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电子锁一日千里的跃进。1.3电子密码锁的特点本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。除上述基本的密码锁功能外,还具有掉电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用1.4方案论证与比较设计本课题时构思了两种方案:一种是用以AT89c51为核心的单片机控制方案;另一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案。考虑到数字电路方案原理过于简单,而且不能满足现在的安全需求,所以本文采用前一种方案。我们的密码所控制器就是以单片机为核心设计的,本设计采用的是ATMEL公司的AT89C51芯片,此芯片根据了充分的静止CMOS控制器与三级节目记忆锁,共有32条I/O线,2定时计数器,6个中断来源,4K闪存,128个字节在芯片RAM。方案一:采用数字电路控制。其原理方框图如图1.1所示。图1.1数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。方案二:采用一种是用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图1-2所示。矩阵键盘控制89S51矩阵键盘控制89S51单片机输入错误锁定键盘延时报警控制电路延时报警控制电路开锁控制电路AT24C02掉电存储开锁控制电路AT24C02掉电存储指示电路串口显示电路指示电路串口显示电路图1.2单片机控制方案通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。
2AT89C51单片机概况2.1AT89C51单片机的简介AT89C51是MCS-51系列单片机的典型产品,我们就这一代表性的机型进行系统的讲解。AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:图2.1单片机内部结构示意图1、中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2、数据存储器(RAM)AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。3、程序存储器(ROM)AT89C51共有4KB掩膜ROM,最大可扩展64K字节,用于存放用户程序,原始数据或表格。4、定时/计数器:89C5、并行输入输出(I/O)口:89C6、中断系统89C2.2AT89C51单片机的引脚AT89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的.89C51有40条引脚,与其他51系列单片机引脚是兼容的.这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分.AT89C51单片机为双列直插式封装结构,如图2.2所示.主要特性:1、与MCS-51兼容2、4K字节可编程闪烁存储器3、寿命:1000写/擦循环4、数据保留时间:10年5、全静态工作:0Hz-24Hz6、三级程序存储器锁定7、128*8位内部RAM8、32可编程I/O线9、两个16位定时器/计数器10、5个中断源11、可编程串行通道12、低功耗的闲置和掉电模式13、片内振荡器和时钟电路图2.2AT89C51引脚分配图AT89C51单机的电源线有以下两种:(1)VCC:+5V电源线。电源线(2)GND:接地线。AT89C51单片机的外接晶体引脚有以下两种:(1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。(2)XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。外接晶体引脚。控制线AT89C51单片机的控制线有以下几种:(1)RST:复位输入端,高电平有效。(2)ALE/PROG:地址锁存允许/编程线。(3)PSEN:外部程序存储器的读选通线。(4)EA/Vpp:片外ROM允许访问端/编程电源端。2.3AT89C51单片机复位方式单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位.复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作.AT89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位.复位后,PC程序计数器的内容为0000H,片内RAM中内容不变.复位电路一般有上电复位、手动开关复位和自动复位电路3种,如图2.3所示.a.上电复位电路b.手动复位电路c.自动复位电路图2.3单片机复位电路由于设计所需,我们在这里选用手动式复位电路。由外部扩展M24C01设定功能键控制手动式复位电路。
3电路的功能单元设计3.1开锁机构通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。其原理如图3.1所示。单片机微控制器单片机微控制器开锁驱动电路电磁锁密码正确?Y返回N图3.1密码锁开锁机构示意图当用户输入的密码正确而且是在规定的时间(普通用户要求在12s内输入正确的密码,管理员要求在5s输入正确的密码)输入的话,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。其实际电路如图3.2所示。电路驱动和开锁两级组成。由D5、R1、T10组成驱动电路,其中T10可以选择普通的小功率三极管如9014、9018都可以满足要求。D5作为开锁的提示;由D6、C24、T11组成。其中D6、C24是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干扰。T11可选用中功率的三极管如8050,电磁锁的选用要视情况而定,但是吸合力要足够且由一定的余量。在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。图3.2密码锁开锁机构电路图3.2按键电路设计由于设计要求使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图3.3所示。89s5189s51D0D1D2D3D4D5D6D7D8D9D105.1KX45.1KX4VCC图3.3行列式键盘原理电路图每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图3.4所示的4*4键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。按键的操作面板如图图3.4所示。共计数字键10个,功能键6个。键盘上还有3个指示灯和一个蜂鸣器。CLRCLR01EN69F448F337F226F1L1L2L3图3.4按键操作面板示意图10个数字键用来输入密码,另外6个功能键分别是:CLR、EN、F1、F2、F3、F4。其中CLR键的功能是当输入密码错误的时候,清除前面已经输入的数据,重新输入。EN键的功能是确认输入的密码。F1是管理模式切换键,当用户不小心三次输入密码都没有正确,键盘被锁定,这个时候就可以启动管理模式,使用管理员的密码来开门。F2是用来进入修改密码的状态。F3用来关闭显示器,一来可以节省电量,另外也可以防止不法分子偷窥密码。F4用来作电铃。上面的3个指示灯L1、L2、L3是用来指示操作的状态:L1锁定及输入指示状态灯,正常的情况下显示红色,当键盘动作的时候,L1灯开始闪动,当键盘处于锁定状态时,指示灯也显示红色。L2开门指示灯,当用户在规定的时间内正确的输入了密码,此灯转变为绿色,表示开门,否则不显示。L3是管理员状态指示灯,当按下F1后,指示灯自动点亮。面板上还有一个蜂鸣器,其中一个功能是用来指示操作的按键是否在成功的按下;另外一个功能是当用户输入密码错误的次数超过了3次,鸣笛以示报警。3.3显示电路设计本系统设计的显示电路是为了给使用者以提示而设置的。考虑到为了节约单片机的口资源,本系统的显示采用串行显示的方式,只使用单片机的两个串行口,就可以完成单片机的显示功能,显示电路的电路原理图如图3.5所示。电路设定:当程序检测在5分钟内没有按键操作的时候,就关闭显示。这个功能使用程序来实现的,一旦没有按键动作就启动一个定时器,检测在5分钟内没有按键动作的时候,启动一个程序,关闭显示,这样可以达到节省电能的目的。从单片机串口输出的信号先送到左边的移位寄存器(74HC164),由于移位脉冲的作用,使数据向右移,达到显示的目的。移位寄存器74HC164还兼作数码管的驱动,插头1(header1)接电源,插头2(header2)接数据和脉冲输出端。电路中的三个整流管D1~D3的作用是降低数码管的工作电压,增加其使用寿命。图3.5显示器原理图显示器主显示几个字符,给用户提供指示见图3.6所示。2--OFF--2--OFF--图3.6a关闭状态1--888--1--888--图3.6b开锁状态图3.6c密码输入及修改状态SRERROSRERRO图3.6d密码输入错误后的提示--K--LOC--K--LOC图3.6e密码在规定的时间内输入错误次数超过3次后的锁定状态3.4AT24C02掉电存储单元的设计掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。其电路如图3.7所示。图3.7掉电存储电路原理图图中R8、R10是上拉电阻,其作用是减少AT24C02的静态功耗,由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。3.5密码锁的电源电路设计为了防止停电情况的发生,本电路后备了UPS电源,它包括市电供电电路,停电检测电路,电子开关切换电路,蓄电池充电电路和蓄电池组成。电源电路图如图3.8所示。图3.8市电供电电路220V市电通过变压器降压成12V的交流电,再经过整流桥整流,7805稳压到5V送往电子切换电路,由于本电路功耗较少,所以选用10W的小型变压器。由R8,R9,R6,R7及IC14构成电压比较器,正常情况下,V+<V-IC14输出高电平,继电器的常闭触点和市电相连;当市电断开,V+>V-IC14输出高电平,由T3,T4构成的达林顿管使继电器J开启,将其常开触电将蓄电池和电路相连,实现市电和蓄电池供电的切换,保证电子密码锁的正常工作(视电池容量而定持续时间)。其电路图如下图3.9所示:图3.9停电检测及电子开关切换电路T1,T2构成的蓄电池自动充电电路,它在电池充满后自动停止充电,其中D1亮为正在充电,D2为工作指示。由R4,R5,T1构成电压检测电路,蓄电池电压低,则T1,T2导通,实现对其充电;充满后,T1,T2截止,停止充电,同时D1熄灭,电路中C4的作用是滤除干扰信号。其电路图如图3.10所示:图3.10蓄电池自动充电电路3.6设计总框图输入错误锁定键盘89S51单片机矩阵输入错误锁定键盘89S51单片机矩阵键盘控制延时报警控制电路延时报警控制电路电源电路及UPS电路开锁控制电路电源电路及UPS电路开锁控制电路AT24CAT24C02掉电存储指示电路指示电路串口显示电路串口显示电路图3.11总体设计框图3.7设计总体电路图图3.12总体电路图4程序设计4.1主程序流程图主程序主要完成初始化、设置中断向量、检查有无按键按下、以及调用显示等等。主程序的流程图如下所示。开始开始初始化有键按下?调用显示启动定时识别按键全部按完?超时?比较密码开门开始自动清除>3次?锁定NNYYYYNN图4.1主程序流程图4.2键盘扫描子程序模块键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。其程序流程如图所示.图4.2键盘扫描程序流程图CHKEY:CLRP2.5MOVXA,@R0CPLAJZTZ1LJMPKEY04.3数字处理程序模块图4.3数字处理程序流程图CHECK:INC47HMOVA,47HCJNEA,#07HTRANDEC47HLCALLDISPLAYLJMPJANTRAN:LCALLNEXTLCALLDISPLAYLCALLDISPLAYLJMPCHKEY4.4开锁程序图4.4开锁程序流程图OPEN:MOVA,47HCJNEA,#06HJCHECKLJMPCMPJHECK:LCALLDISPLAYLJMPCHKEYCMP:MOVR0,#35HMOVR2#6MOVR1,#45HC1:MOVA,@R1XRLA,@R0JNZC3DECR1DECR0DJNZR2,C1MOVR5,#74.5密码设置程序图4.5密码设置程序流程图EPASS:MOVA,47HCJNEA,#06HERRLCALLWRITESETBP1.7LCALLDISPLAY
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论