单片机控制的智能密码锁设计_第1页
单片机控制的智能密码锁设计_第2页
单片机控制的智能密码锁设计_第3页
单片机控制的智能密码锁设计_第4页
单片机控制的智能密码锁设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机控制的智能密码锁的设计摘要本文从经济实用的角度出发,以AT89C51单片机为核心,结合外围的键盘输入、数码管显示、报警、开锁等电路模块,设计了一款具有自动报警功能的电子密码锁。该系统能实现密码的输入、清除、比较,密码正确开锁,密码错误次数超次报警等功能。该系统具有设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于住宅、办公室的保险箱及档案柜等需要防盗的场所,有比较强的实用性。关键词电子密码锁;矩阵键盘;报警;数码管显示SINGLECHIPMICROCOMPUTERCONTROLOFINTELLIGENTELECTRONICCOMBINATIONLOCKDESIGNABSTRACTTHISARTICLEFROMECONOMICALPRACTICALANGLEEMBARKING,TAKEAT89C51THEMONOLITHICINTEGRATEDCIRCUITASACORE,UNIFIESELECTRICCIRCUITMODULESANDSOONPERIPHERYKEYBOARDENTRY,NIXIETUBEDEMONSTRATION,WARNING,UNBLANKING,DESIGNEDONESECTIONTOHAVETHEAUTOALARMFUNCTIONELECTRONICCOMBINATIONLOCKTHISSYSTEMCANREALIZETHEPASSWORDINPUT,THEELIMINATION,THECOMPARISON,THEPASSWORDUNLOCKSCORRECTLY,FUNCTIONSANDSOONPASSWORDWRONGNUMBEROFTIMESULTRAWARNINGTHISSYSTEMHASTHEDESIGNTOBESIMPLE,EASYTODEVELOP,THECOSTISLOW,SAFERELIABLE,CHARACTERISTICSANDSOONEASEOFOPERATION,MAYAPPLYTHEPLACEWHICHINTHEHOUSING,THEOFFICESAFETYDEPOSITBOXANDTHEFILINGCABINETANDSOONNEEDSTOGUARDAGAINSTTHEFT,HASTHEQUITESTRONGUSABILITYKEYWORDSELECTRONICCOMBINATIONLOCKMATRIXKEYBOARDWARNINGNIXIETUBEDEMONSTRATION目录1概述12总体方案设计221单片机系统222矩阵键盘323LED显示324报警系统33硬件电路设计331键盘电路设计332LED显示电路设计433报警电路设计534晶振振荡电路设计535复位电路设计64软件设计641软件总体设计642各子程序的设计75调试及分析1151软件介绍12511KEIL简介12512PROTEUS介绍1252软件调试126总结13参考文献14致谢15附录161概述随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。目前,在西方发达国家,密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全、可靠的技术实现大门的管理。在我国密码锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。11设计任务设计一个8位数字密码锁,密码内容可通过开关进行设置并且设置8位输入按键,按照设计要求利用仿真软件画出电路图进行仿真,最后分析出现误差的原因以及影响因素。12设计要求1、系统通过44的矩阵键盘输入或设定开锁密码2、可以通过LCD查看已输入的字符个数(显示)3、用户可以自行设定和修改密码。4、按每个密码键时都有声音提示。5、开锁密码错3次要报警1分钟,报警期间输入密码无效,以防窃贼多次试探密码。6、键入的8位开锁密码完全正确才能开锁,开锁时要有1秒的提示音。7、电磁锁的电磁线圈每次充电5秒,然后恢复初态。8、密码设定完毕后要有2秒的提示音。2总体方案设计该系统主要以MCS51单片机为核心,结合具体的电路,组合成一个智能密码锁系统,该系统的其他电路主要包括密码输入模块、密码检测系统、声光显示电路、数码管显示电路、晶振复位电路八个主要模块。如下图所示图21系统总设计图21单片机系统单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机、时钟电路、复位电路等组成。为了简化电路、降低成本、提高可靠性,本系统采用STC90C51单片机作为主控制器。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,进行智能密码锁的设计。此次课题用单片机P2口与键盘相连,作输入口,P0口与LED显示器相连,作显示。单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到内部振荡和外部振荡。由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式。ERRORERRORERROR电源电路时钟电路复位电路数码管显示蜂鸣器报警电路键盘输入电路22矩阵键盘此次毕业设计采用矩阵式按键,用于密码输入模块。44矩阵键盘,4行4列分别与P2口相连,采用行列反转扫描法。设有“09”10个数字密码按键和3个拨码开关作为功能键。3个功能键中包括清除键、密码修改键、确认键,键盘09键按下将会显示10个不同的数字,密码修改键用来修改当前密码。23LED显示此次毕业设计设置8位密码,按键后数码管显示器显示,采用动态显示。P0口送显示数据,P1口显示扫描,根据按键顺序,显示器第一位显示第一次按的密码,第二位显示第二次按的密码,依此类推第8位显示第8次按的密码,按键完成后按确认键后,系统进行密码比较密码对则执行开锁动作,对应的发光二极管亮。24报警系统当输入的8位开锁密码完全正确时,有1秒的提示音开锁,当输入的密码3次不正确后,蜂鸣器会长叫一分钟报警。3硬件电路设计31键盘电路设计单片机应用系统设计中,若使用按键较多时(一般多于8个按键),通常采用矩阵式键盘,较之独立式按键键盘要节省很多I/O端口。其原理如图所示图31键盘电路设计图所示为矩阵式键盘的结构,由4根行线和4根列线组成,按键位于行、列线的交叉点上,行线和列线分别连接到按键的两端,构成了一个44(16个按键)的矩阵式键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。键盘程序扫描法识别按键一般应包括以下内容判别有无键按下;键盘扫描取得闭合键的行、列号;用计算法或查表法得到键值;判断闭合键是否释放,如没释放则继续等待;将闭合键的键值保存,同时转去执行该闭合键的功能。除了程序扫描法识别按键外,还可以采用下面两种方法识别按键一种是定时扫描方式,每隔一段时间对键盘扫描一次;另一种是利用单片机定时器产生一个定时时间(例如10MS),采用中断方式,当定时时间到产生定时器溢出中端,CPU响应中断后,在中断函数中对键盘进行编程扫描,识别键值。采用以上两种键盘扫描方式时,无论是否有按键按下,CPU都要定时扫描键盘,而单片机应用系统工作时并不是经常需要键盘输入,因此,CPU经常处于空扫描状态。为提高CPU的工作效率,可采用中断扫描方式。当无键按下时,CPU处理自己的工作;当有键按下时,产生中断申请,CPU转去执行键盘扫描函数,并识别键值,这一应用充分体现了中断处理的实时处理功能。32LED显示电路设计图32电路显示图共阴极8位数码管组的AG端口分别与排阻的输出端18端口连接。电路选用动态显示原理动态显示是一种按位轮流点亮各位数码管的显示方式,即在某一时段,只让其中一位数码管的“位选端”有效,并送出相应的字型显示编码。其他位的数码管因“位选端”无效而都处于熄灭状态;下一时段按顺序选通另外一位数码管,并送出相应的字型显示编码,按此规律循环下去,即可使各位数码管分别间断地显示出相应的字符。这一过程称为动态扫描显示。与静态显示方式比较,当显示位数较多时,动态显示方式可节省I/O端口资源,硬件电路简单;但其显示的亮度低于静态显示方式;由于CPU要不断地依次运行扫描显示程序,将占用CPU更多的时间。若显示位数较少,采用静态显示方式更加简便。33报警电路设计图33报警电路原理图此次设计中,密码输入正确,控制开锁电平,喇叭短时提示。密码输入错误时喇叭长时提示,3次密码输入错误时报警电路报警。34晶振振荡电路设计图34晶振振荡电路XTAL1脚和XTAL2脚分别构成片内振荡器的反相放大器的输入和输出端,外接石英晶体或陶瓷振荡器以及补偿电容C1、C2构成并联谐振电路。当外接石英晶体时,电容C1、C2选20PF40PF;当外接陶瓷振荡器时,电容C1、C2选37PF57PF。AT89C51系统中晶振可在024MHZ选择。外接电容C1、C2的大小会影响晶振器频率的高低、振荡频率的稳定度、起振时间及温度稳定性。在设计电路板时,晶振和电容应靠近单片机芯片,以便减少寄生电容,保证振荡器稳定可靠工作。在系统设计中,为保证串行通信波特率的误差,选择了12MHZ的石英晶振,电容C1、C2为30PF。35复位电路设计图35按键复位电路图复位是单片机的初始化操作。单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其它部件都处一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式,但是单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。整个复位电路包括内外两个部分。外部电路产生的复位信号通过复位引脚RST进入片内的斯密特触发器(抑制噪声),再与片内复位电路相连。单片机的外部复位电路有上电自动复位和按键手动复位两种。4软件设计41软件总体设计图41软件总设计P10P17是作为密码按键输入;P20P27口为数码管的段选控制口;P34口为蜂鸣器控制口;P33和P35口为指示灯控制口。该密码锁上电或按键复位后能自动显示系统提示,进入工作状态。密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码正确时可修改密码。密码的设定,此程序的初始密码放在一个数组中,假设预设的密码为“12345678“共8位密码。由于采用44矩阵式键盘完成密码的输入,那么将AF按键为功能键,09个按键为数字键。在输入过程中,输入以为密码显示一杠,接着根据显示杠的数目来确定输入密码的位数,直到8位密码都已经输入完毕;输入完后按确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。42各子程序的设计A开锁判定子程序结束进行比较,给出相应处理密码比较密码动态显示矩阵键盘扫描判断设置密码开始UCHARTEST图42开锁判定图UCHARFLAGFOREE0EE1AAKEYIFEEE1|AAA1EEE0GG0BREAKUCHARNEXTUCHARFLAG1CCTESTIFCC1BEEP0DELAY500BEEP1DELAY500BEEP0DELAY500BEEP1WHILE1DISPLAYTABLE3,6FLAG11AAKEYIFBBB1|AAA1BBB0BREAKELSESFJ2TAB4,TAB2WHILEAAABEEP0DISPLAYTABLE5,6P20X80FLAG10KEYRETURNFLAG1动态显示程序主要完成的是将字型码通过LED显示出来,其中数码管的显示是按顺序有规律的显示出来。5调试及分析51软件介绍511KEIL简介随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展。KEIL是目前最流行的51单片机开发软件,它提供了一个集成开发环境UVISION,它包括C编译器,宏汇编,连接器,库管理和一个功能强大的仿真调试器。这样在开发应用软件的过程中,编辑、编译、汇编、连接、调试等各阶段都集成在一个环境中,先用编辑其编写程序,接着调用编译器进行编译,连接后即可直接运行,可以缩短开发周期。512PROTEUS介绍PROTEUS软件是一块功能强大的电路设计分析软件。它组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统,它和KEIL结合起来就可以实现软硬件的联调仿真。ISIS是PROTEUS系统的中心,它远不仅是一个表库。PROTEUS的ISIS是一款LABCENTER出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机。元件库齐全,使用方便,是不可多得的专业单片机软件仿真系统,它具有控制原理图设计外观的超强制作环境。无论用户的要求是快速实现复杂设计的仿真以及PCB设计,还是设计精美的原理图以供出版,ISIS是您的最好工具。52软件调试通过编写出系统的主程序、密码比较判断程序、显示程序的测试,结合外围电路及输出驱动控制等器件来检测系统是否能够正常工作。通过KEILUVISION2软件来编译调试程序,看程序中是否有死循环错误、机器码错误及转移地址错误,若程序正确并执行跟踪或单步运行,确保了程序的正确性后结合PROTEUS仿真软件的使用来判断程序和原理图的结合是否能实现所要求的功能,即能够顺利的实现开锁及报警的功能。其调试的结果如图所示图51智能密码锁设计仿真图6总结本次毕业设计,采用AT89C51芯片为核心器件来设计智能密码锁,结合外围的键盘输入、LED显示、报警系统等电路来完成错误报警,超次锁定、修改用户密码等功能。在设计中,通过动手实践操作进一步学习和掌握了单片机原理的有关知识,特别是程序的编程方面,加深了对单片机原理及应用技术的认识,进一步巩固了对单片机只是的理解,掌握简单的单片机应用系统的设计、制作、调试的方法。在设计时更具课题要求,复习相关的知识,查询相关的资料。本次设计还存在一些问题,比如报警设备不够完善,开锁装置不尽合理,指示灯不正确显示等,总之,完整的设计需要一步步的完善,多次的修改才能得到更好的结果。参考文献1许立梓微型计算机原理及应用M机械工业出版社20022刘乐善微型计算机接口技术及应用M华中理工大学出版社20003邹逢兴计算机硬件技术基础试验教程M高等教育出版社20004吴秀清微型计算机原理与接口技术M中国科学技术出版社20015邓亚平微型计算机接口技术M清华大学出版社20016王迎旭单片机原理与应用M机械工业出版社20017周航慈单片机应用程序设计技术M北京航空航天大学出版社20028谢宜仁单片机实用技术问答M人民邮电出版社20029李光飞,单片机C程序设计指导M北京北京航空航天大学出版社20030110马忠梅单片机应用程序设计(第四版)M北京北京航空航天大学出版社2006。致谢此次单片机控制的智能密码锁的毕业设计,让我们将课堂上学到的理论知识运用到实际中,通过查阅网络和图书馆搜集到的资料,加上许燕萍老师的指导,让我们更加深刻的验证了所学的知识。回顾此次毕业设计,至今感慨良多,整个过程可以说是苦多于甜,但是可以学到很多很多东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。然而在设计的过程中我也发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机C语言掌握得不好,通过这次毕业设计之后,一定把以前所学过的知识重新温故。虽然这个设计做的也不太完善,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我受益终身。对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。天外有天,人外有人。挫折是一份财富,经历是一份拥有。最后衷感谢各位老师对我的指导和谆谆教诲,我也在努力的积蓄着力量,尽自己的微薄之力回报母校的培育之恩,争取自己的人生对社会产生更多积极价值。附录附录A源程序清单INCLUDE/51单片机头文件INCLUDETYPEDEFUNSIGNEDCHARUCHARTYPEDEFUNSIGNEDINTUINTSBITD1P33/开锁成功指示灯SBITD2P35/开锁错误指示灯SBITBEEPP34/蜂鸣器接口UCHARCODETABLE10X3F,0X38,0X5E,0X40,0X39,0X3F,0X5E,0X79UCHARCODETABLE221,21,17,14,18,18,0,21UCHARCODETABLE30,19,14,20,14,13UCHARCODETABLE412,18,0,5,14,13UCHARCODETABLE514,10,10,0,10UCHARCODETABLE60X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X79,0X71,0X37,0X76,0XB8,0X73,0X37,0X00UCHARTAB11,2,3,4,5,6,7,8UCHARTAB20,0,0,0,0,0,0,0UCHARTAB38,TAB48,TAB58UCHARAA,BB,CC,DD,EE,FF,GGUCHARAAA,BBB,CCC,DDD,EEE,FFF/延时子函数VOIDDELAYUINTZUINTX,YFORXZX0XFORY110Y0Y/矩阵键盘扫描子函数UCHARKEYP10XFEBBP1BBBBWHILEBB0XF0DELAY20BBP1BBBBWHILEBB0XF0BBP1SWITCHBBCASE0XEEAA7BEEP0BREAKCASE0XDEAA8BEEP0BREAKCASE0XBEAA9BEEP0BREAKCASE0X7EAA15BEEP0AAA1BREAKDEFAULTBREAKWHILEBB0XF0BBP1BBBBP10XFDBBP1BBBBWHILEBB0XF0DELAY20BBP1BBBBWHILEBB0XF0BBP1SWITCHBBCASE0XEDAA4BEEP0BREAKCASE0XDDAA5BEEP0BREAKCASE0XBDAA6BEEP0BREAKCASE0X7DAA14BEEP0BBB1BREAKDEFAULTBREAKWHILEBB0XF0BBP1BBBBP10XFBBBP1BBBBWHILEBB0XF0DELAY20BBP1BBBBWHILEBB0XF0BBP1SWITCHBBCASE0XEBAA1BEEP0BREAKCASE0XDBAA2BEEP0BREAKCASE0XBBAA3BEEP0BREAKCASE0X7BAA12BEEP0CCC1BREAKDEFAULTBREAKWHILEBB0XF0BBP1BBBBP10XF7BBP1BBBBWHILEBB0XF0DELAY20BBP1BBBBWHILEBB0XF0BBP1SWITCHBBCASE0XE7AA0BEEP0BREAKCASE0XD7AA10BEEP0DDD1BREAK

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论