还剩20页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
目录TOC\o1-3\h\z\u摘要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摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出,传统的机械锁,由于其构造的简单,安全性能低,无法满足人们的需要在科学技术不断发展的今天,电子__防盗锁作为防盗卫士的作用显得日趋重要,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲睐本次设计的题目是基于单片机的智能__锁的设计,系统主要由单片机AT__C51控制,实现数据存储,并结合__的键盘输入、LCD显示、__、开锁等电路模块,实现相关的功能所设计的系统能完成以下功能正确输入__前提下,开锁;__输入错误情况下,发出____;__还可以可以根据用户需要更改本__锁具有设计方法合理,简单易行,成本低,安全实用等特点,具有一定的__价值关键词键盘输入单片机__液晶显示AbstractWiththedevelopmentofthepeopleslivingstandardhowtoachievethefamilysecurityisbecomingimportantinparticular.Thetraditionalmechanicallockisunabletomeetthepeoplesneedsbecauseofits______structurelowsecurity.Nowadayswiththecontinuousdevelopmentofthescien__andtechnology,Electronicpasswordanti-theftlockplaysamoreimportantroleasthesecurityguards,Electroniclockusebecauseofitshighflexibilitygoodsecrecyhighsafetycoefficientbythevastnumberofuserspro-gaze.The__inpaperisaboutthedesignelectroniccodelockbasedontheMCU.Thesystemis__inlycontrolledbythemicrocontrollerAT89C51fordatastoragecombinedwiththeexternalkeyboardLCDdisplayalarmunlockthecircuitmodulestoachieverelatedfunctions.Itcanaccomplishthefollowingfunction:openthelockwithacorrectlypasswordgiveanalarmwiththemistakepasswordchangethepasswordifthehostwant.Thelockhassomefeatureslikeareasonabledesignmethods______toworklowcostandsecurity.Italsohassomepromotionvalue.Keywords:KeyboardinputMCUAlarmLCDdisplay1引言
1.1课题背景随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者__以来研制的主题
[2]随着电子技术的发展,各类电子产品应运而生,电子__锁就是其中之一据有关资料介绍,电子__锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用这种锁是通过键盘输入一组__完成开锁过程研究这种锁的初衷,就是为提高锁的安全性由于电子锁的密钥量(__量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患电子锁只需记住一组__,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等但较实用的还是按键式电子__锁
[3]20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展目前,在西方发达国家,__锁技术相对先进,种类齐全,电子__锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理在我国__锁整体水平尚处于国际上70年代左右,电子__锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场但国内自行研制__的电子锁,其市场结构尚未形成,应用还不广泛国内的不少企业也引进了世界上先进的技术,发展前景非常可观希望通过不断的努力,使电子__锁在我国也能得到广泛应用__锁的设计方案多种多样,根据每个人知识掌握程度的不同设计出的__锁的功能也各不相同,有的功能很强常见的设计方案一种是用74LS112双JK触发器构成的数字逻辑电路控制方案,一种是以AT__s51为核心的单片机控制方案,但是数字电路方案原理过于简单,而且不能满足现在的安全需求,因此在一些比较重要的应用中用的较多的是通过单片机来控制的__锁2__锁设计方案
2.1主控部分的选择方案一采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为__锁的核心控制,将__保存在JK触发器中,与输入__通过比较器比较,判断结果是否相符合采用数字电路设计的方案好处就是设计简单,但控制的准确性和灵活性差方案二采用以单片机为核心的控制方案选用单片机作为系统的核心部件,实现控制与处理的功能单片机具有资源丰富、速度快、编程容易等优点利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接液晶显示(LCD),键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标,而且单片机编程设计灵活、IO端口丰富、控制的准确性搞,不但能实现基本的__锁功能,还能添加调电存储、声光提示甚至添加遥控控制等附加功能,此外单片机方案有较大的活动空间,不但能实现所要求的功能,还能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,因此综合考虑,本次设计采用方案二,用单片机设计主控电路
2.2__输入方式的选择__输入的方式有很多种,本次课题设计选用的是较为简单,且实现容易,成本较低的矩阵键盘输入识别的__输入方式矩阵键盘输入识别的原理是由各按键组成的矩阵键盘每条行线和列线都对应一条I/O口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个I/O口线,就可以确定哪一个键被触动通过不断读行线口线,或者中断方式触发键位扫描当发现有键按下,将列线逐一置低,其他列线置高,读行线口线当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下每个按键都可通过程序赋予功能,从而完成__识别
2.3总体设计原理框图本设计主要由单片机、矩阵键盘和液晶显示器等部分组成其中矩阵键盘用于输入数字__和进行各种功能的实现由用户通过连接单片机的矩阵键盘输入__,后经过单片机对用户输入的__与自己保存的__进行对比,从而判断__是否正确,并且通过单片机将控制引脚的高低电平送到液晶显示电路或者__电路控制开锁还是__,系统整体框图如图
2.1所示图
2.1系统结构框图各模块功能如下
(1).键盘输入模块分为__输入按键与几个功能按键,用于完成__锁输入功能
(2).显示模块用于完成对系统状态显示及操作提示功能
(3).复位电路完成系统的复位
(4).__电路用于完成输错__时候的警报功能
(5).__存储模块用于完成掉电存储功能,使修改的__断电后仍能保存
(6).开锁电路应用继电器及发光二极管模拟开锁,完成开锁及开锁提示3__锁的功能单元电路设计
3.1键盘输入模块由于本设计所用到的按键数量较多而不适合用__按键式键盘采用的是矩阵式按键键盘,它由行和列组成,也称行列式键盘,按键位于行列的交叉点上,__锁的__由键盘输入完成,与__式按键键盘相比,要节省很多I/O口本设计中使用的这个4×4键盘不但能完成__的输入还能作特别功能键使用键盘的每个按键功能在程序设计中设置它与单片机的连接如图
3.1所示图
3.1键盘输入模块该键盘设计不但有__输入的功能,还包含了开锁即确定按键和上锁按键,同时设置了写改__的相关功能按键,如输入新__、保存新__等,每一个按键的功能都在软件编程中实现
3.2__存储模块AT24C04A的
1、
2、3脚是三条地址线,用于确定芯片的硬件地址,第5脚和第8脚分别为正、负电源,第8脚SDL为串行数据输入/输出,数据通过这条双向I²C总线串行传送,第6脚SCK为外部中断0输入线,和单片机AT__C51的P
3.2连接,第5脚SDA为外部中断1输入口,与AT__C51的P
3.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与晶体振荡器及电容C
1、C2按图
4.4所示方式连接晶振、电容C1/C2及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡__频率与晶振频率及电容C
1、C2的容量有关,但主要由晶振频率决定,范围在0~33MHz之间,电容C
1、C2取值范围在5~30pF之间根据实际情况,本设计中采用12MHZ作为系统的外部晶振,电容取值为30pF其电路图如图
3.5所示图
3.5晶振电路
3.6显示模块显示部分是采用LCD液晶显示屏来实现的,D0~D7分别和单片机的P0口的7个输出相连接,然后通过软件编程来驱动LCD显示当__输入正确,锁开时,液晶显示器上将显示“UnlockOK”;如果__不正确,液晶显示器上会显示“ERROR”电路图如图
3.6所示图
3.6显示电路
3.7__部分蜂鸣器的工作原理是当有高电平驱动时就发出声音__部分直接将蜂鸣器和单片机相连接,编程设计的思路是加电后不发声,当__输入错误时,单片机的P
3.7引脚为低电平,蜂鸣器发出噪声__如图
3.7所示图
3.7__电路4系统软件设计
4.1系统程序流程图
4.
1.1主程序流程图主程序设计流程图如图
4.1所示N图
4.1主程序流程图总的设计是在初始化时存入初始__,然后设计键盘扫描程序,确定是在执行开锁功能还是修改__若是开锁,则设计程序判断__是否正确,也就是将输入的__和初始时设置的__进行比较,__正确则执行开锁,__错误,则通过液晶显示器提示错误,并发出____;若是修改__功能,通过设计程序判断重新设置的__是不是和旧__相同,若相同则给出提示重新设置,若和旧__不同则保存新__,__修改成功
4.
1.2键功能程序流程图键功能程序流程图如图
4.2所示NNNN图
4.2键功能流程图键盘的程序设计依据的是矩阵键盘的扫描原理,矩阵键盘每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码,在程序初始化时将对应的行值和列值写入,在键盘的扫描程序中设计先进行行扫描,在在扫描完一行之后,进行所有的列扫描,判断是否有键按下,若有键按下找出按键的位置,查出该按键的编码值,判断要执行的是何种操作,是输入__、开锁还是重新设置__
4.
1.3开锁程序流程图开锁程序流程图如图
4.3所示Y图
4.3开锁流程图开锁的过程要根据键盘的扫描值识别输入的__是否正确,如果__输入正确,则开锁成功;如果__输入错误,则显示错误提示信息,并发出____
4.2__锁设计软件仿真
4.
2.1仿真调试过程与结果在protues中画好电路原理图之后,先要把程序编译生成的.hex文件烧录到单片机中,也就是文件的下载,具体操作是双击电路图中的AT80C51单片机,在弹出窗口的ProgramFiles中选择你要烧录的文件,然后单击OK,即完成文件的下载完成上述操作之后,直接__Protues中的运行按钮,即可进行仿真可以输入__开锁,或设置__,同时可以看到相应的显示,以及每个操作的结果__锁的仿真结果如图
4.4所示,即__输入正确的显示结果,“UnlockOK!”表明此时__锁打开了图
4.4仿真结果锁关的显示__输入错误的结果显示如图
4.5所示,在液晶显示器上显示__输入错误信息,同时蜂鸣器发出了____图
4.5__输入正确的显示
4.
2.2仿真结果分析仿真的结果实现了这次设计的要求,开始进入仿真时液晶显示器上显示“YourPassword...”输入__提示信息,通过矩阵键盘按键输入__,按下“锁开”按键,如果输入的__正确,在液晶显示器上显示“UnlockOK!”提示信息,同时LED二极管亮,表明此时__锁被打开;若果__输入错误,则在液晶显示器上显示“ERROR!”的错误提示信息,平且蜂鸣器响,发出____当按下修改__按键时,在液晶显示器上也会显示“YourPassword...”信息,用户可以重新修改__,完成__输入后,按下保存新__按键,若修改的新__和旧__相同,蜂鸣器会发出____整个仿真的结果表明设计的程序符合这次课题设计的要求,即成功的实现了__锁所要求的功能5设计心得体会在着手本次毕业设计时,通过查阅网络与图书馆搜集到的资料,再加上指导老师指点,结合生活中对__锁的功能特性要求,设计出了这一套电子__锁系统的主要硬件结构和软件结构,基本完成了课题的要求不过由于了解的专业知识尚浅,对课题的研究经验的不足,使得在技术的解决与运用上显得粗糙了一些,特别是功能按键的设定所幸该系统能基本上完成一个电子__锁应有的功能特性开锁提示,输错__,__修改掉电存储本系统用的是6位__输入,有106种__输入方案,相较于机械锁具,防盗能力已经相当不俗这个系统软硬件设计简单,易于__,成本较低,安全可靠,操作方便本次设计的电子__锁是以手动键盘输入__的,通过这几个月对电子__锁的研究学习,发觉这种__输入方式可以进行__在越来越高科技化的今天,遥控控制显的愈发重要,今后的电子__锁应该具有以红外技术或无线电技术为辅助的__按键输入远程交互技术,这样就能远程输入__完成操作也可以放弃传统的按键输入__模式,借助传感器技术运用声控来实现__输入,又或者人脸识别技术,还有一种就是用户指纹输入方式,这些都可以使开锁的时间更短更方便电子__锁产业将向静态功耗更低__电路更简化,可提供的功能或控制口更多,更人性化高科技化的方向发展通过本次毕业设计的锻炼,我学到了很多有关电子__锁的设计方法与工作原理巩固了单片机知识期间也碰到不少问题比如如何去模拟实现开锁这一功能解决办法是找了个微型电磁继电器作为锁具其内部电磁开关特性符合开锁的现象再到后来的焊接工作,由于粗心大意,焊接出错的情况不在少数,往往在调试的时候才得以发现,特别是4×4矩阵键盘的焊接改了不下10次系统调试时碰到过按键不灵敏的问题后来增加了键盘列位置上的电阻增加了电平效果得到改善慢工出细活,过程是很重要的,只有耐心细心努力地去把握过程,才能得到可喜的结果____
[1]叶启明.单片机制作的新型安全__锁[J].家庭电子.2000第六期:24-27
[2]郭海英.基于单片机的电子安全__锁的设计[J].现代电子技术.2005第__:57-58
[3]李明喜.新型电子__锁的设计[J].机电产品__与创新.2004第八期:77-79
[4]董继成.一种新型安全的单片机__锁[J].电子技术.2004第__:55-60
[5]祖龙起.刘仁杰.孙乃凌.一种新颖的电子__锁[J].电子世界.2001第六期:88-90
[6]王为青邱文.51单片机应用__案例精选.北京:人民邮电出版社2007
[7]楼然苗李广飞.51系列单片机设计实例.北京:北京____大学出版社2003附录A__锁设计完整原理图__锁设计原理图附录B__锁设计源程序代码void__in{uchari=0;ucharIIC_Password
[10];ucharIS_Valid_User=0;P0=0xFF;P1=0xFF;P2=0xFF;TMOD=0x02;//T0设置为8位自动重装模式TH0=175;TL0=175;TR0=1;//启动T0DelayMS10;LCD_Init;//初始化LCDIIC_24C04_Init;//初始化24C04Display_StringTitle_Text0x00;//在第1行显示标题//24C04的内容已由初始化BIN文件导入//将24C04中预先写入的__读入passRecString0xa00IIC_Password6;IIC_Password
[6]=\0;while1{P1=0xF0;ifP1!=0xF0KeyNo=Keys_Scan;//扫描键盘获取键序号KeyNoswitchKeyNo{case0:case1:case2:case3:case4:case5:case6:case7:case8:case9:ifi=5//__限制在6位以内{//如果i为0则执行一次清屏ifi==0Display_String0x40;UserPassword[i]=KeyNo+0;UserPassword[i+1]=\0;DSY_BUFFER[i]=*;DSY_BUFFER[i+1]=\0;Display_StringDSY_BUFFER0x40;i++;}break;case10://按A键开锁ifstrcmpUserPasswordIIC_Password==0{LED_OPEN=0;//点亮LEDClear_Password;Display_StringUnlockOK!0x40;IS_Valid_User=1;}else{LED_OPEN=1;//关闭LEDClear_Password;Display_StringERROR!0x40;IS_Valid_User=0;}i=0;break;case11://按B键上锁LED_OPEN=1;Clear_Password;Display_StringTitle_Text0x00;Display_String0x40;i=0;IS_Valid_User=0;break;case12://按C键设置新__//如果是合法用户则提示输入新__if!IS_Valid_UserDisplay_StringNorights!0x40;else{i=0;Display_StringNewPassword:0x00;Display_String0x40;}break;case13://按D键保存新__if!IS_Valid_UserDisplay_StringNorights!0x40;else{SendString0xa00UserPassword6;//重新读入刚写的__RecString0xa00IIC_Password6;IIC_Password
[6]=\0;i=0;Display_StringTitle_Text0x00;Display_StringPasswordS__ed!0x40;}break;case14://按E键消除所有输入i=0;Clear_Password;Display_String0x40;}Beep;DelayMS100;P1=0xF0;whileP1!=0xF0;//如果有键未释放则等待whileP1==0xF0;//如果没有再次按下按键则等待}}显示模块键盘输入模块AT89C51__电路复位电路开锁电路__存储模块开始初始化__正确输入旧__出错__开锁原__相同设新__返回开锁修改NYYN键功能程序键值=0~9?键值=开锁?键值=确认?键值=设置?返回__输入程序确认程序设置程序开锁程序YYYNYLCD初始化按开锁键输入__确认程序开锁输入__正确?N__程序开锁成功返回。