




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机实现电子密码锁毕业设计论文 基于单片机实现电子密码锁 系 电子信息工程系 专业 电子信息工程技术 姓名 姜邦胜 班级 信息081 学号 0801043133 指导教师 徐敏N 职称 讲师 设计时间 2010.11.202011.1.8 目录摘要- 3 -第一章 概述- 4 -第二章 确定初步方案- 5 -第三章 方案论证与比较- 8 -第四章 电路的功能单元设计- 10 -4.1 开锁机构- 10 -4.2按键电路设计- 11 -4.3显示电路设计- 13 -4.4AT24C02掉电存储单元的设计- 14 -4.5密码锁的电源电路设计- 15 -4.6设计总框图- 16 -第五章 程序设计- 17 -5.1程序设计- 17 -5.2C语言源程序- 17 -总结- 22 -致谢- 23 -参考文献- 24 -摘要生活中常常为了忘带钥匙而苦恼,办公室门、防盗门、房门、楼道门,车锁等等,本设计以研究如何实现保险箱的数字锁控制电路为例,期望可以解决忘带钥匙的烦恼。本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。除上述基本的密码锁功能外,还具有掉电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用。关键词:AT89S51;AT24C02;电子密码锁;矩阵键盘第一章 概述随着社会物质财富的飞速增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。随着单片机的问世,出现了带微处理器的电子密码锁,它除了具有电子密码锁的功能之外,还引入了智能化、科技化等功能很多行业的许多地方都要用到密码锁,随着生活水平的提高,如何实现家庭或公司的防盗这一问题也变得尤其突出,传统的机械锁由于构造简单,被撬的事件屡见不鲜,普通的密码锁也会出现多次试探而破译,所以,考虑到单片机的优越性,一种基于单片机的电子密码锁应运而生。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。电子密码锁的性能和安全性都大大超过了机械锁。它的保密性好,编码量多,密码可变,误码输入保护(多次错误自动启动报警系统),操作简易,干扰码功能在输入正确密码前可输入任意码等一系列安全保护。电子密码锁应用很广,尤其是在保险箱上面的应用尤其之广。第二章 确定初步方案首先数字锁的基本要求是什么,对于一只保险箱而言,最主要的问题是安全,也就是开锁的密码被破译的可能要尽可能小,其次是操作方便,开锁的程序不过于复杂。此外还有一些特殊的要求,例如密码可以更换,遇到不正常情况应启动报警系统,而使用者在拨错号时可将原拨号码清除重拨等。先看安全性问题。普通机械密码锁保险箱采用3位十进制码,破译的可能性为千分之一,除了密码外还有一个锁孔,需钥匙投对才能开锁,钥匙投对的可能性也在百分之一到千分之一,因此总的开锁率约为10-6左右。现改用全数字琐,如采用2进制码,要达到这样高的安全性能,要采用20位码,这将是一个难以记熟的密码,操作也极麻烦,故宜采用10进制或16进制密码,但即使如此,所使用的密码的位数仍然较多(5至6位)。其次,密码锁解锁的基本方法是“符合”,即当所送入的密码与预制的密码相同时解锁。密码输入的方式有并行和串行。显然,并行方案需要的输入太多,串行输入必须用时序电路实现,对结果的判别与操作程序有关。例如,对一个3位密码而言,多拨一位,少拨一位皆属错误,这无疑大大加强了系统的可靠性,因而使用串行方法码的位数可以减少。故设计宜采用串行数字锁并对操作过程有所规定。既然采用串行数字输入,就得有个起始标志和结束标志。起始标志可采用复位信号,将电路恢复到起始状态。设复位信号为START键产生,然后开始接受数码输入,当接受确定的几个数码(例如三个十位制数)后,应送入结束标志,大多数保险箱上,都有个门把手,必须扭动这个把手才可以打开箱门,因此可以将结束信号和门把手的操作结合起来。当输入密码后,便去扭动把手(相当于向控制电路发一信号OPEN),若前面输入的3个号码正确,便可开门,否则就向保安系统发出警报。OPEN便是输入码结束的标志,该信号在输入码未达3个时送入或多于4个时送入,皆判错码,发出报警信号。若使用者不慎按错号码,并在扭动把手前发现,可以按START键才能使数字锁锁上,进入安锁状态。同样,系统在报警时也需经保安人员处理后,按SETUP键,系统才恢复工作。通过以上分析,可以确定系统的基本操作流程如图所示。但整个系统机构还需对几个集体问题研究后才能确定。首先是输入电路。开始(START)、建立等控制信号可用按键开关实现,门把手续转动产生开门信号的原理同按键开关相似,也可以用一个OPEN键代替。密码输入方式有多种,每种方式送入的信号和所用的器件及送入的程序都不相同:一是用拨盘,拨盘有10个位置,每个位置对应一个BCD码,输入的码可以直接与预置的密码去对比。但每拨一个码,必须再用另一个键键入一个DATA信号,否则系统将无法区别两个连续的相同码。另一种方法是只用一只按键,每送一个数码n,就将按键连续按动n次。显然,适应这种输入方式的是计数器,而为了明确相近两个码之间的界限,也应再加一个DATA键。第三种方法是用10个按键开关,不同的数码用不同的键,与此相适的内部电路应是编码器。目前,这种方法使用较多。其次是输出。数字锁的输出:一是开门信号,当拨号正确又按动OPEN键后,应发出信号,打开数字锁(若是自动装置,按下OPEN键将启动电机,使保险箱门缓缓打开)。此时可用一只绿色信号灯LO标示状态;二是报警信号,报警信号可以用一种单频率的方波震荡(约500Hz),驱动扬声器发声,或者是两个频率的振荡,产生一高一低交替出现的声音,此外还可以用红色信号灯或红,黄交替出现的信号灯表示,以上开门信号,报警信号一旦出现,就一直保持下去,直至使用者或保安人员按动SETUP键为止。再次是预制数问题。预制数就是设定系统的密码,为了提高安全性,密码宜每隔一段时间更换一次,因此应有置数装置。每次置入3位十进制的置数方法有以下几种:一是安排12个输入端,每个输入端通过一只双列直插式组件(DIP)开关,将其输入切至Vcc或GND;另一种方法是在系统内安排3个BCD码存储器,各存放一位十进制数,但三个数的置入,需在控制器控制下按一定程序完成;三是在系统内安排一个ROM,容量为34,这种方法简单易行,但每换一次密码,就得换一快ROM。显然,若使用在系统编程技术,只要用软件重构一次逻辑,就能更换密码。此处为分析方便,暂取第一种方法。综合上述讨论,确定保险箱密码锁的基本方案如下:(1)采用3位十进制数密码,密码用DIP开关确定,必要时可以更换。(2)系统通电后须关上门并SETUP键后方投入运行时标志开门的灯或警报灯(警铃)皆不工作,系统处于安锁状态。(3)开锁过程如下:1按启动键(START)启动开锁程序,此时系统内各部分应处于初始状态。2依次键入三个十进制码。3转动门把手或按开门键OPEN(此处取按OPEN键方案)。若按上述程序执行且拨号正确,则开门继电器动作,绿灯LO亮。诺按错密码或未按上述程序执行,则按动开门键OPEN后警报装置鸣叫(单频),红灯LA亮。4开锁处理事务毕后,应将门关上,按SETUP键,使系统重新进入按锁状态。(若在报警状态,按SETUP或START应不起作用,需另用一内部I_SETUP键才能使系统进入安锁状态,次内部I_SETUP键应放置在保安人员值班室或其它使用者不能接触的地方。)(4)使用者如按错号码,可在按OPEN键以前按START键重新启动开锁程序。(5)号码09、START、OPEN均用按键产生。根据上述考虑,可以画出系统的粗略框图如图2-1所示。它说明了整个系统的外输入、外输出情况,加上描述整个系统行为的流程图,就勾画了这一系统的总体逻辑功能。图2-1 系统的粗略框图 第三章 方案论证与比较方案一:采用数字电路控制。其原理方框图如图31所示。图31 数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。方案二:采用一种是用以AT89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图32所示。开锁控制电路89S51单片机AT24C02掉电存储串口显示电路矩阵键盘控制指示电路输入错误锁定键盘延时报警控制电路 图32单片机控制方案通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。第四章 电路的功能单元设计4.1 开锁机构通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。其原理如图41所示单片机微控制器开锁驱动电路电磁锁密码正确?Y返回N 图41密码锁开锁机构示意图当用户输入的密码正确而且是在规定的时间(普通用户要求在12s内输入正确的密码,管理员要求在5s输入正确的密码)输入的话,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。其实际电路如图42所示。电路驱动和开锁两级组成。由D5、R1、T10组成驱动电路,其中T10可以选择普通的小功率三极管如9014、9018都可以满足要求。D5作为开锁的提示;由D6、C24、T11组成。其中D6、C24是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干扰。T11可选用中功率的三极管如8050,电磁锁的选用要视情况而定,但是吸合力要足够且由一定的余量。在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。图42密码锁开锁机构电路图4.2按键电路设计由于设计要求使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图43所示。89s51D0D1D2D3D4D5D6D7D8D9D105.1K X 45.1K X 4VCC图43 行列式键盘原理电路图每一条水平线(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图43所示的44键盘,说明线反转个工作原理。图44 按键操作面板示意图首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。按键的操作面板如图44所示。共计数字键10个,功能键6个。键盘上还有3个指示灯和一个蜂鸣器。10个数字键用来输入密码,另外6个功能键分别是:CLR、EN、F1、F2、F3、F4。其中CLR键的功能是当输入密码错误的时候,清除前面已经输入的数据,重新输入。EN键的功能是确认输入的密码。F1是管理模式切换键,当用户不小心三次输入密码都没有正确,键盘被锁定,这个时候就可以启动管理模式,使用管理员的密码来开门。F2是用来进入修改密码的状态。F3用来关闭显示器,一来可以节省电量,另外也可以防止不法分子偷窥密码。F4用来作电铃。上面的3个指示灯L1、L2、L3是用来指示操作的状态:L1锁定及输入指示状态灯,正常的情况下显示红色,当键盘动作的时候,L1灯开始闪动,当键盘处于锁定状态时,指示灯也显示红色。L2开门指示灯,当用户在规定的时间内正确的输入了密码,此灯转变为绿色,表示开门,否则不显示。L3是管理员状态指示灯,当按下F1后,指示灯自动点亮。面板上还有一个蜂鸣器,其中一个功能是用来指示操作的按键是否在成功的按下;另外一个功能是当用户输入密码错误的次数超过了3次,鸣笛以示报警。4.3显示电路设计本系统设计的显示电路是为了给使用者以提示而设置的。考虑到为了节约单片机的口资源,本系统的显示采用串行显示的方式,只使用单片机的两个串行口,就可以完成单片机的显示功能,显示电路的电路原理图如图45所示。电路设定:当程序检测在5分钟内没有按键操作的时候,就关闭显示。这个功能使用程序来实现的,一旦没有按键动作就启动一个定时器,检测在5分钟内没有按键动作的时候,启动一个程序,关闭显示,这样可以达到节省电能的目的。图45 显示器原理图从单片机串口输出的信号先送到左边的移位寄存器(74HC164),由于移位脉冲的作用,使数据向右移,达到显示的目的。移位寄存器74HC164还兼作数码管的驱动,插头1(header1)接电源,插头2(header2)接数据和脉冲输出端。电路中的三个整流管D1D3的作用是降低数码管的工作电压,增加其使用寿命。显示器主显示几个字符,给用户提供指示见图46所示。2-OFF-图46 (a)关闭状态1-888-图46 (b) 开锁状态-图46 (c) 密码输入及修改状态SRERRO图46 (d) 密码输入错误后的提示-K-LOC图46 (e)密码在规定的时间内输入错误次数超过3次后的锁定状态4.4AT24C02掉电存储单元的设计掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。其电路如图47所示。图47 掉电存储电路原理图图中R8、R10是上拉电阻,其作用是减少AT24C02的静态功耗,由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。4.5密码锁的电源电路设计为了防止停电情况的发生,本电路后备了UPS电源,它包括市电供电电路,停电检测电路,电子开关切换电路,蓄电池充电电路和蓄电池组成。电源电路图如图48所示。220V市电通过变压器降压成12V的交流电,再经过整流桥整流,7805稳压到5V送往电子切换电路,由于本电路功耗较少,所以选用10W的小型变压器。图48 市电供电电路由R8,R9,R6,R7及IC14构成电压比较器,正常情况下,V+V- IC14输出高电平,由T3,T4构成的达林顿管使继电器J开启,将其常开触电将蓄电池和电路相连,实现市电和蓄电池供电的切换,保证电子密码锁的正常工作(视电池容量而定持续时间)。其电路图如下图9所示:T1,T2构成的蓄电池自动充电电路,它在电池充满后自动停止充电,其中D1亮为正在充电,D2为工作指示。由R4,R5,T1构成电压检测电路,蓄电池电压低,则T1,T2导通,实现对其充电;充满后,T1,T2截止,停止充电,同时D1熄灭,电路中C4的作用是滤除干扰信号。其电路图如图410所示:图49 停电检测及电子开关切换电路图410 蓄电池自动充电电路开锁控制电路89S51单片机AT24C02掉电存储串口显示电路矩阵键盘控制指示电路输入错误锁定键盘延时报警控制电路电源电路及UPS电路4.6设计总框图图411总体设计框图第五章 程序设计5.1程序设计 (1) 密码的设定,在此程序中密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。(2) 密码的输入问题:由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。(3)按键禁止功能:初始化时,是允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态在3次密码输入不正确的情况下发生的。5.2C语言源程序#include unsigned char code ps=1,2,3,4,5;unsigned char code dispcode=0 x3f,0 x06,0 x5b,0 x4f,0 x66, 0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x00,0 x40; unsigned char pslen=9; unsigned char templen; unsigned char digit; unsigned char funcount; unsigned char digitcount; unsigned char psbuf9;bit cmpflag;bit hibitflag;bit errorflag;bit rightflag; unsigned int second3; unsigned int aa; unsigned int bb; bit alarmflag; bit exchangeflag; unsigned int cc; unsigned int dd; bit okflag; unsigned char oka; unsigned char okb; void main(void) unsigned char i,j; P2=dispcodedigitcount; TMOD=0 x01; TH0=(65536-500)/256; TL0=(65536-500)%6; TR0=1; ET0=1; EA=1; while(1) if(cmpflag=0) if(P3_6=0) /function key for(i=10;i0;i-) for(j=248;j0;j-); if(P3_6=0) if(hibitflag=0) funcount+; if(funcount=pslen+2) funcount=0; cmpflag=1; P1=dispcodefuncount; else second3=0; while(P3_6=0); if(P3_7=0) /digit key for(i=10;i0;i-) for(j=248;j0;j-); if(P3_7=0) if(hibitflag=0) digitcount+; if(digitcount=10) digitcount=0; P2=dispcodedigitcount; if(funcount=1) pslen=digitcount; templen=pslen; else if(funcount1) psbuffuncount-2=digitcount; else second3=0; while(P3_7=0); else cmpflag=0; for(i=0;i if(psi!=psbufi) hibitflag=1; i=pslen; errorflag=1; rightflag=0; cmpflag=0; second3=0; goto a; cc=0; errorflag=0; rightflag=1; hibitflag=0; a: cmpflag=0; ) void t0(void) interrupt 1 using 0 TH0=(65536-500)/256; TL0=(65536-500)%6; if(errorflag=1) & (rightflag=0) bb+; if(bb=800) bb=0; alarmflag=alarmflag; if(alarmflag=1) P0_0=P0_0; aa+; if(aa=800) aa=0; P0_1=P0_1; second3+; if(second3=6400) second3=0; hibitflag=0; errorflag=0; rightflag=0; cmpflag=0; P0_1=1; alarmflag=0; bb=0; aa=0; if(errorflag=0) & (rightflag=1) P0_1=0; cc+; if(cc1000) okflag=1; else if(cc2000) okflag=0; else errorflag=0; rightflag=0; hibitflag=0; cmpfl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 12087-5:2025 EN Information technology - Image processing and interchange (IPI) functional specification - Part 5: Basic image interchange format (BIIF)
- 【正版授权】 IEC 61496-3:2025 CMV EN Safety of machinery - Electro-sensitive protective equipment - Part 3: Particular requirements for active opto-electronic protective devices responsi
- 重庆线上防疫知识培训课件
- 图形的相似练习-2025-2026学年北师大版数学九年级上册
- 新解读《GB 8108-2014车用电子警报器》
- 重大危险源培训知识课件
- 老年人税法知识培训课件
- 《高等数学A》课程简介与教学大纲
- 老年人消防知识培训课件
- 大模型和数据要素赋能数字乡村解决方案
- 加油、加气、充电综合站项目可行性研究报告
- 2025保密协议范本:物流行业货物信息保密
- 塔机拆卸合同范本
- 2024-2025学年广东省深圳市南山区四年级(下)期末数学试卷
- 《煤矿安全规程(2025版)》知识培训
- 半导体行业面试问题及答案解析
- 《数字技术应用基础模块》技工中职全套教学课件
- 房屋拆除专项施工方案(3篇)
- AutoCAD电气工程制图 课件 项目1 低压配电柜的绘制与识图
- 2025至2030年中国绿色船舶行业发展前景预测及投资方向研究报告
- 2025年小学生“学宪法、讲宪法”网络知识竞赛题库及答案
评论
0/150
提交评论