




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录摘 要IAbstractII1引 言11.1 课题背景12 密码锁设计方案22.1 主控部分的选择22.2 密码输入方式的选择22.3 总体设计原理框图33 密码锁的功能单元电路设计43.1 键盘输入模块43.2密码存储模块43.3 密码锁状态显示模块53.4 复位部分53.5 晶振部分63.6 显示模块63.7 报警部分74 系统软件设计84.1 系统程序流程图84.1.1 主程序流程图84.1.2 键功能程序流程图94.1.3 开锁程序流程图104.2 密码锁设计软件仿真114.2.1 仿真调试过程与结果114.2.2 仿真结果分析125 设计心得体会13参考文献14附录A 密码锁设计完整原理图15附录B 密码锁设计源程序代码16摘 要随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出,传统的机械锁,由于其构造的简单,安全性能低,无法满足人们的需要。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲睐。本次设计的题目是基于单片机的智能密码锁的设计,系统主要由单片机AT89C51控制,实现数据存储,并结合外围的键盘输入、LCD显示、报警、开锁等电路模块,实现相关的功能。所设计的系统能完成以下功能:正确输入密码前提下,开锁;密码输入错误情况下,发出报警信号;密码还可以可以根据用户需要更改。本密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,具有一定的推广价值。关键词:键盘输入 单片机 报警 液晶显示 AbstractWith the development of the peoples living standard, how to achieve the family security is becoming important in particular. The traditional mechanical lock is unable to meet the peoples needs because of its simple structure, low security. Nowadays, with the continuous development of the science and technology,Electronic password anti-theft lock plays a more important role as the security guards,Electronic lock, use because of its high flexibility good secrecy, high safety coefficient, by the vast number of users pro-gaze. The main paper is about the design electronic code lock based on the MCU. The system is mainly controlled by the microcontroller AT89C51, for data storage, combined with the external keyboard, LCD display, alarm, unlock the circuit modules to achieve related functions. It can accomplish the following function: open the lock with a correctly password, give an alarm with the mistake password, change the password if the host want. The lock has some features like a reasonable design methods, simple to work, low cost and security. It also has some promotion value.Keywords: Keyboard input MCU Alarm LCD display, 1引 言1.1 课题背景随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题2。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁3。 20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。 目前,在西方发达国家,密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国密码锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。密码锁的设计方案多种多样,根据每个人知识掌握程度的不同设计出的密码锁的功能也各不相同,有的功能很强。常见的设计方案一种是用74LS112双JK触发器构成的数字逻辑电路控制方案,一种是以AT89s51为核心的单片机控制方案,但是数字电路方案原理过于简单,而且不能满足现在的安全需求,因此在一些比较重要的应用中用的较多的是通过单片机来控制的密码锁。2 密码锁设计方案2.1 主控部分的选择方案一:采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,将密码保存在JK触发器中,与输入密码通过比较器比较,判断结果是否相符合。采用数字电路设计的方案好处就是设计简单,但控制的准确性和灵活性差。 方案二:采用以单片机为核心的控制方案选用单片机作为系统的核心部件,实现控制与处理的功能。单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接液晶显示(LCD),键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标,而且单片机编程设计灵活、IO端口丰富、控制的准确性搞,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制等附加功能,此外单片机方案有较大的活动空间,不但能实现所要求的功能,还能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,因此综合考虑,本次设计采用方案二,用单片机设计主控电路。2.2 密码输入方式的选择密码输入的方式有很多种,本次课题设计选用的是较为简单,且实现容易,成本较低的矩阵键盘输入识别的密码输入方式。 矩阵键盘输入识别的原理是:由各按键组成的矩阵键盘每条行线和列线都对应一条I/O口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个I/O口线,就可以确定哪一个键被触动。 通过不断读行线口线,或者中断方式触发键位扫描。当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。每个按键都可通过程序赋予功能,从而完成密码识别。2.3 总体设计原理框图本设计主要由单片机、矩阵键盘和液晶显示器等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,并且通过单片机将控制引脚的高低电平送到液晶显示电路或者报警电路控制开锁还是报警,系统整体框图如图2.1所示。显示模块键盘输入模块 AT89C51报警电路复位电路开锁电路密码存储模块 图2.1 系统结构框图各模块功能如下:(1)键盘输入模块:分为密码输入按键与几个功能按键,用于完成密码锁输入功能。(2)显示模块:用于完成对系统状态显示及操作提示功能。(3)复位电路:完成系统的复位。(4)报警电路:用于完成输错密码时候的警报功能。(5)密码存储模块:用于完成掉电存储功能,使修改的密码断电后仍能保存。(6)开锁电路:应用继电器及发光二极管模拟开锁,完成开锁及开锁提示。 3 密码锁的功能单元电路设计3.1 键盘输入模块由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,它由行和列组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。本设计中使用的这个44键盘不但能完成密码的输入还能作特别功能键使用。键盘的每个按键功能在程序设计中设置。它与单片机的连接如图3.1所示。图3.1 键盘输入模块该键盘设计不但有密码输入的功能,还包含了开锁即确定按键和上锁按键,同时设置了写改密码的相关功能按键,如输入新密码、保存新密码等,每一个按键的功能都在软件编程中实现。3.2密码存储模块AT24C04A的1、2、3脚是三条地址线,用于确定芯片的硬件地址,第5脚和第8脚分别为正、负电源,第8脚SDL为串行数据输入/输出,数据通过这条双向IC总线串行传送,第6脚SCK为外部中断0输入线,和单片机AT89C51的P3.2连接,第5脚SDA为外部中断1输入口,与AT89C51的P3.3连接。AT24C02中带有片内地址寄存器,每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取,为降低总的写入时间,一次操作可写入多达8个字节的数据。用AT24C04A实现密码存储的电路如图3.2所示。图3.2 密码存储电路3.3 密码锁状态显示模块图3.3的三个LED用来显示密码锁的状态:锁开和锁关。其中LED灯亮表示密码输入正确,锁打开;LED灯不亮,则表示密码输入错误,这些的控制也是通过程序来控制的。图3.3 密码锁转台显示电路3.4 复位部分单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C3上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容C3放电,当电容C3放电结束后,RST端的电位由R1上的电压决定, 因此RST为高电平,CPU处于复位状态,松手后,电容C3充电,RST端电位下降,CPU脱离复位状态。也可以和按键开关串接一个电阻,且电阻值远小于R1的阻值,它的作用在于限制按键按下瞬间电容C3的放电电流,避免产生火花,以保护按键触电。其复位电路如图3.4所示。图3.4 复位电路3.5 晶振部分AT89C51引脚XTAL1和XTAL2与晶体振荡器及电容C1、C2按图4.4所示方式连接。晶振、电容C1/C2及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在033MHz之间,电容C1、C2取值范围在530pF之间。根据实际情况,本设计中采用12MHZ作为系统的外部晶振,电容取值为30pF。其电路图如图3.5所示。 图3.5 晶振电路3.6 显示模块显示部分是采用LCD液晶显示屏来实现的,D0D7分别和单片机的P0口的7个输出相连接,然后通过软件编程来驱动LCD显示。当密码输入正确,锁开时,液晶显示器上将显示“Unlock OK”;如果密码不正确,液晶显示器上会显示“ERROR”。电路图如图3.6所示。图3.6 显示电路3.7 报警部分蜂鸣器的工作原理是当有高电平驱动时就发出声音。报警部分直接将蜂鸣器和单片机相连接,编程设计的思路是加电后不发声,当密码输入错误时,单片机的P3.7引脚为低电平,蜂鸣器发出噪声报警。如图3.7所示。图3.7 报警电路4 系统软件设计4.1 系统程序流程图4.1.1 主程序流程图主程序设计流程图如图4.1所示。 开始初始化密码正确 输入旧密码出错报警开锁原密码相同设新密码 返回开锁修改 N Y NYN 图4.1 主程序流程图总的设计是在初始化时存入初始密码,然后设计键盘扫描程序,确定是在执行开锁功能还是修改密码。若是开锁,则设计程序判断密码是否正确,也就是将输入的密码和初始时设置的密码进行比较,密码正确则执行开锁,密码错误,则通过液晶显示器提示错误,并发出报警信号;若是修改密码功能,通过设计程序判断重新设置的密码是不是和旧密码相同,若相同则给出提示重新设置,若和旧密码不同则保存新密码,密码修改成功。4.1.2 键功能程序流程图键功能程序键值=09?键值=开锁?键值=确认?键值=设置? 返回密码输入程序确认程序设置程序开锁程序键功能程序流程图如图4.2所示。 Y NYYNN NY N 图4.2 键功能流程图键盘的程序设计依据的是矩阵键盘的扫描原理,矩阵键盘每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码,在程序初始化时将对应的行值和列值写入,在键盘的扫描程序中设计先进行行扫描,在在扫描完一行之后,进行所有的列扫描,判断是否有键按下,若有键按下找出按键的位置,查出该按键的编码值,判断要执行的是何种操作,是输入密码、开锁还是重新设置密码。4.1.3 开锁程序流程图开锁程序流程图如图4.3所示。LCD初始化按开锁键输入密码确认程序开锁输入密码正确?N报警程序 Y开锁成功返回图4.3 开锁流程图开锁的过程要根据键盘的扫描值识别输入的密码是否正确,如果密码输入正确,则开锁成功;如果密码输入错误,则显示错误提示信息,并发出报警信号。4.2 密码锁设计软件仿真4.2.1 仿真调试过程与结果在protues中画好电路原理图之后,先要把程序编译生成的.hex文件烧录到单片机中,也就是文件的下载,具体操作是双击电路图中的AT80C51单片机,在弹出窗口的Program Files中选择你要烧录的文件,然后单击OK,即完成文件的下载。完成上述操作之后,直接点击Protues中的运行按钮,即可进行仿真。可以输入密码开锁,或设置密码,同时可以看到相应的显示,以及每个操作的结果。密码锁的仿真结果如图4.4所示,即密码输入正确的显示结果,“Unlock OK!” 表明此时密码锁打开了。图4.4 仿真结果锁关的显示密码输入错误的结果显示如图4.5所示,在液晶显示器上显示密码输入错误信息,同时蜂鸣器发出了报警信号。图4.5 密码输入正确的显示4.2.2 仿真结果分析 仿真的结果实现了这次设计的要求,开始进入仿真时液晶显示器上显示“Your Password.”输入密码提示信息,通过矩阵键盘按键输入密码,按下“锁开” 按键,如果输入的密码正确,在液晶显示器上显示“Unlock OK!”提示信息,同时LED二极管亮,表明此时密码锁被打开;若果密码输入错误,则在液晶显示器上显示“ERROR!”的错误提示信息,平且蜂鸣器响,发出报警信号。当按下修改密码按键时,在液晶显示器上也会显示“Your Password.”信息,用户可以重新修改密码,完成密码输入后,按下保存新密码按键,若修改的新密码和旧密码相同,蜂鸣器会发出报警信号。整个仿真的结果表明设计的程序符合这次课题设计的要求,即成功的实现了密码锁所要求的功能。5 设计心得体会 在着手本次毕业设计时,通过查阅网络与图书馆搜集到的资料,再加上指导老师指点,结合生活中对密码锁的功能特性要求,设计出了这一套电子密码锁系统的主要硬件结构和软件结构,基本完成了课题的要求。不过由于了解的专业知识尚浅,对课题的研究经验的不足,使得在技术的解决与运用上显得粗糙了一些,特别是功能按键的设定。所幸该系统能基本上完成一个电子密码锁应有的功能特性:开锁提示,输错报警,密码修改,掉电存储。本系统用的是6位密码输入,有106种密码输入方案,相较于机械锁具,防盗能力已经相当不俗。这个系统软硬件设计简单,易于开发,成本较低,安全可靠,操作方便。本次设计的电子密码锁是以手动键盘输入密码的,通过这几个月对电子密码锁的研究学习,发觉这种密码输入方式可以进行改革。在越来越高科技化的今天,遥控控制显的愈发重要,今后的电子密码锁应该具有以红外技术或无线电技术为辅助的密码按键输入远程交互技术,这样就能远程输入密码完成操作。也可以放弃传统的按键输入密码模式,借助传感器技术运用声控来实现密码输入,又或者人脸识别技术,还有一种就是用户指纹输入方式,这些都可以使开锁的时间更短更方便。电子密码锁产业将向静态功耗更低,外围电路更简化,可提供的功能或控制口更多,更人性化高科技化的方向发展。通过本次毕业设计的锻炼,我学到了很多有关电子密码锁的设计方法与工作原理,巩固了单片机知识。期间也碰到不少问题,比如如何去模拟实现开锁这一功能,解决办法是找了个微型电磁继电器作为锁具,其内部电磁开关特性符合开锁的现象。再到后来的焊接工作,由于粗心大意,焊接出错的情况不在少数,往往在调试的时候才得以发现,特别是44矩阵键盘的焊接,改了不下10次。系统调试时碰到过按键不灵敏的问题。后来增加了键盘列位置上的电阻,增加了电平,效果得到改善。慢工出细活,过程是很重要的,只有耐心细心努力地去把握过程,才能得到可喜的结果。参考文献1 叶启明.单片机制作的新型安全密码锁J.家庭电子.2000,第六期:24-272 郭海英.基于单片机的电子安全密码锁的设计J.现代电子技术.2005,第三期:57-583 李明喜.新型电子密码锁的设计J.机电产品开发与创新.2004,第八期:77-794 董继成.一种新型安全的单片机密码锁J.电子技术.2004,第三期:55-605 祖龙起.刘仁杰.孙乃凌.一种新颖的电子密码锁J.电子世界.2001,第六期:88-906 王为青,邱文.51单片机应用开发案例精选.北京:人民邮电出版社,20077 楼然苗,李广飞.51系列单片机设计实例.北京:北京航空航天大学出版社,2003附录A 密码锁设计完整原理图密码锁设计原理图附录B 密码锁设计源程序代码void main() uchar i = 0; uchar IIC_Password10; uchar IS_Valid_User = 0; P0 = 0xFF; P1 = 0xFF; P2 = 0xFF; TMOD = 0x02; /T0设置为8位自动重装模式 TH0 = 175; TL0 = 175; TR0 = 1; /启动T0 DelayMS(10); LCD_Init(); /初始化LCD IIC_24C04_Init(); /初始化24C04 Display_String(Title_Text,0x00); /在第1行显示标题 /24C04的内容已由初始化BIN文件导入 /将24C04中预先写入的密码读入pass RecString(0xa0, 0 , IIC_Password, 6); IIC_Password6 = 0; while(1) P1 = 0xF0; if(P1 != 0xF0) KeyNo = Keys_Scan(); /扫描键盘获取键序号KeyNo switch ( KeyNo ) case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: if ( i= 5 ) /密码限制在6位以内 /如果i为0则执行一次清屏 if (i =0) Display_String( ,0x40); UserPasswordi = KeyNo + 0; UserPasswordi+1 = 0; DSY_BUFFERi = *; DSY_BUFFERi+1 = 0; Display_String(DSY_BUFFER,0x40); i+; break; case 10: /按A键开锁 if (strcmp(UserPass
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程制图专业毕业论文
- ERP系统操作手册实战指南
- 毕业论文汽车制动系设计
- 怎么确定毕业论文题目
- 设施作物专业毕业论文
- 专升本设计专业毕业论文
- 舞蹈系毕业论文拉丁舞
- 2025重庆两江新区某学校劳务派遣岗位招聘11人考试参考题库附答案解析
- 幼儿教师毕业论文题目
- 乡村产业发展规划
- 初中道德与法治跨学科项目化学习的设计与实施讲座提纲
- DG-TG08-12-2024 普通中小学建设标准
- 妇产科 女性生殖系统生理学习课件
- 《物业管理培训课件:业主满意度提升策略》
- 2025船舶抵押合同范本
- 金融标准化知识培训课件
- 2024年医销售药销售工作总结
- 2025年中国茯苓种植市场全面调研及行业投资潜力预测报告
- 医师规范化培训
- 监理跟踪、平行检测计划
- 螺栓知识培训
评论
0/150
提交评论