大学电子密码锁设计毕业论文_第1页
大学电子密码锁设计毕业论文_第2页
大学电子密码锁设计毕业论文_第3页
大学电子密码锁设计毕业论文_第4页
大学电子密码锁设计毕业论文_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

郑州理工职业技术学院课程设计课程电子密码锁设计学校 郑州理工职业技术学院 院系机电工程系 专业班级数控“2班 学生姓名 田景亮 学生学号 201104010()49 指导教师 关B雅召 2011年3月25日目录TOC\o"1-5"\h\z第一章概述 2\o"CurrentDocument"1.1引言 2\o"CurrentDocument"电子密码锁的背景 3\o"CurrentDocument"电子锁设计的意义的本设计特点 3\o"CurrentDocument"第二章系统硬件设计 5\o"CurrentDocument"系统总设计结构图 5\o"CurrentDocument".开锁机构设计 62.2.1主控芯片AT89C51单片机的简介 6\o"CurrentDocument"2.3键盘设计 10\o"CurrentDocument"4系统电路设计: 11\o"CurrentDocument"1晶振时钟电路 11\o"CurrentDocument"复位电路设计 12\o"CurrentDocument"串口引脚功能介绍 12\o"CurrentDocument"其它引脚 12\o"CurrentDocument"5元器件采购 13\o"CurrentDocument"第三章软件设计流程及描述 13\o"CurrentDocument"系统软件设计整体思路 13\o"CurrentDocument"2系统软件设计流程图 14\o"CurrentDocument"3程序调试 16\o"CurrentDocument"3.1程序调试用到的软件及工具 16\o"CurrentDocument"KEILC51简介 16\o"CurrentDocument"调试过程 17\o"CurrentDocument"第四章源程序代码 19\o"CurrentDocument"4.1程序总体设计 19\o"CurrentDocument"总结 33\o"CurrentDocument"参考文献 34\o"CurrentDocument"致谢 35附录1系统电路图 36第一章概述引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自己的行为,“非礼不为”,虽无钥匙亦不会乱闯。然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。为什么会出现这种情况呢?因为传统锁具都存在致命的弱点:第一、锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏;第二、锁具制作工艺,技术落后,无法阻止技术手段的开启。目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。在惯偷面前,两根钢丝或儿件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言:“没有我打不开的锁。”其实,不是他们多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。电子密码锁的背景随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。电子锁设计的意义的本设计特点单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/O)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了,且容易升级改善。电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。大大提高了主人物资的安全性,安全可以代替老式机械锁。目前使用的密码锁种类繁多,各具特色。本文从经济实用的角度出发,采用AT89C2051单机,研制了一款具有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。(1)系统设置4位密码,密码通过键盘输入,若密码正确,则将锁打开。(2)密码由用户自己设定,在开锁状态下,用户可自行修改密码。(3)具有自动报警功能。自动报警分现场报警和远程报警两种。现场报警由扬声器发出报警声。(4)两种情况下可报警:-是密码输入错误3次,则报警;二是非正常开门,如破门而入的情况,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。系统工作时,用户通过按键输入4位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。第二章硬件电路设计及描述第二章系统硬件设计系统总设计结构图数码管及LED灯显示密码输入设备 >单片机AT89c51一单片机时钟电路开锁机构本设计由主控芯片51单片机,单片机时钟电路,键盘,和开锁电路组成。单片负责控制整个系统的执行过程。.开锁机构设计通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。本设计通过P3.0接…个3极管驱动继电器打开电磁阀线圈实现开关门。图2-2密码锁开锁机构示意图当用户输入的密码正确而且是在规定的时间及次数输入之内,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。2.2.1主控芯片AT89C51单片机的简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CM0S8位微处理器,俗称单片•机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89c51是一种高效微控制器。主要特性:与MCS-51兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24MHz三级程序存储器锁定128X8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式•片内振荡器和时钟电路管脚说明:VCC:供电电压。GND:接地。P0□:P0口为一个8位漏级开路双向I/O口,每脚可吸收8nL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1□:P1□是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4nL门电流。pi□管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P3□:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89c51的一些特殊功能口,如下表所示:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INTO(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收•些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6O因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(OOOOH-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。P,0:vccPI.1239POO(ADO)Pt2G339□PO.1<AOI)Pt3C37JPO24AO2)Pi4C5□PO31AO3)P,$二«JPO44AO4)Pl€CT34」PO5<AO5)P,,匚«333PO6<AO6)RSTr32:P0.7fAO7)<RXO>P30C:10A□ra/vpp(TXO)pa1r»13071ALE/PROG<<NTO)P32C122*nPSEN<n4Tr)P33C13»•□ 4A15,(T0)P34C14】P29<A14><T1>P35C.:1Pt.5<A13>(WR)P36C26P24<A12>P37C2*口4234A11>XTAL2C:23P22(A10)XTAL122P21(A9)QNOC2021JP20<A8>AT89C51图2-3AT89C51芯片图2.3键盘设计为了使本电路更加简洁,本电子锁的密码锁采用简单易学但不为多数人知道的摩期码作为电路的密码输入。键盘硬件设备只需要一个按即可实现密码的输入与更改。关于摩斯码的介绍如下:摩斯密码是20世纪使用较为广泛的电报传输使用的一种编码。电报最早是由美国的摩尔斯在1844年发明的,故也被叫做摩尔斯电码。它由--个输入按键在输入时按住的间隔时间长短组成来决定你的输入:短促的点信号".读"嘀"(Di);保持一定时间的长信号"一",读"嗒"(Da)o间隔时间:"嘀"It;"嗒"3t;"滴嗒"间It;字母间3t;字间5t。表2—1字符一摩斯码对照表字符摩斯码字符摩斯码字符摩斯码AM一—Y—・——B—•••NZ——,・C_・一・0_—_1,————DP・__・2•,一一EQ -_3••, F."一"R,一■4•・••一G———*S5 H•*・♦T—6一♦"♦♦1•・U,,—7——•••J,一——V***—8___.•K—,—W,——9————,L,—••X0—————注:摩斯码用在数字电路中“一”表示1, 表示0,如0翻译成二进制数为11111H,十六进制数为1FH。本电路设计只取0〜9数字作密码有效数字,如果输入其它字符则无效。表3-2本设计用到的数字的摩斯码和二进制对照数字0123456789摩斯码111110111100111000110000100000100001100011100111102进制111110111100111000110000100000100001100011100111102.4系统电路设计:本系统电路主芯片AT89c51,晶振和两个电容组成的时钟脉冲,•个电阻和一个电解电容和一个按键组成的复位电路,一个8段数码管构成的密码显示器,一个蜂鸣器,5个LED,一个NPN三极管加上一个继电器组成的驱动电路构成了系统电路。2.4.1晶振时钟电路单片机XIAL1和XIAL2分别接30PF的电容,中间再并个12MHZ的晶

振,形成单片机的晶振电路。2.4.2复位电路设计图3-2复位电路2.4.3串口引脚功能介绍单片的P1口外接1位8段数码管,作为密码输入显示器;INTO外接蜂鸣器,当INTO被置。时,蜂鸣器发出声音;P0口外接发光二极管用作系统工作状态提示。2.4.4其它引脚ALE引脚悬空,复位引脚接到复位电路、VCC接电源、VSS接地、EA接电源

5元器件采购1•元器件清单表3—3元器件清单原件名称备注单片机AT89C51电阻RI,R210K,100K各一只电解电容C3100F无极电容CLC230VF数码管一只5V蜂鸣器一只晶振12MHZ三极管9014一个按健SI,S2各一个12V继电器一个LEDDI,D2,D3,D4绿,黄,红,蓝各一个2极管40041只万能电路板1块经采购继电器没有买到,所以原电路的输出电路3极管的继电器改为LED灯,只要电路IC经密码输入后能点亮LED灯则电路设计要求达到。第三章软件设计流程及描述3.1系统软件设计整体思路一个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,

采用与C51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能“看懂”,然后逐一执行。高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流,但是本系统却选用了汇编语言。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控制系统,使用汇编语言可以不用像高级语言那样占用较多的存储空间,适合于存储容量较小的系统。2系统软件设计流程图入错误未满欹An15图3—1系统程序设计结构图3程序调试把也写好的汇编语言程序的载入软件调试工具,检查软件是否有设法错误,再根据软件提示对本程序进行修改,直到没有错误再生成单片机能运行的机器码,再用51开发板或其它单怎机写入工具把机器码写入单片机进行实际的程序调试,根据实际情况再对程序的不足加以修改,直到满足设计要求。3.1程序调试用到的软件及工具调试本程序需要用到KEILC51,及51开发板一块及其配套的下载烧录软件4KEILC51简介KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。C51工具包的整体结构:uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由0H51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。5调试过程首先打开KEILC51主程序,新建工程,新建文本框写入程序,保存,检查是否有语法错误,经反复检查无误后汇编,生成51单片机可执行的HEX文件。然后用51开发板相匹配的烧录软件把HEX文件写入单片机。uVision3[Ci\DSet&iuVision3[Ci\DSet&i £■eke、桌面\1111.ASB]®I目标1ProjectWorkspace口文件d)施辑尔)视图9工程0调试6)闪存«)外困设备6)工具CDsves(£)电口B)帮助®I目标1ProjectWorkspace279 setbp3.2280 movpl,#0ffh281 a-)mpcunchu2282283next1_1:284 cinea,xs_l,next2_2285 movp1,#0f9h286 cXrp3.2getl>p3.2287 1ca11delay1sgetl>p3.2289 movpl,#riffh290 a_inu>cunchu2291292next2_2s293 cinea,xs_2,next3_3294 movpl,#0a4h295 drp3.2296 1r»ai1delayIs297 setbp3.2298 movp1,*0ffh299 a-im»cunchu2300301next3_3:302 c-iliea,xs_3,next4_4303 movp1,#0b0h304 drp3.2305 1r?ai1delayIs306 setbp3.2307 movpl,#0ffh308 a-im»cunchu2309310next4_4:311 cinea,xs_4,next5_5312 movp1,#99h313 drp3.2,m|,m|室Q»Tr-噜-TgjSTARTUP.A51@1111ASM「***WARNINGL2:REFERENCEMADETOUNRESOLVEDEXTERNALSYMBOL:?C_STARTMODULE:STARTUP.obj(?C_STARTUP)ADDRESS:080AHProgramSize:dat;a=9.0xdat.a=Ocode=15pd~8"1111111111"-0个错误,2个警告.pd~8<1>1>建x.命令人在文件中r技/图3—2keilc51调试介面编程选项1FLASH内容|EEPROM内容 产品记录芯片选择At89Hsi芯片特征字:1E5106时钟效准:NONEHOWE读取IH0HBM0NHFLASH:0/4096EEPR0M:0/0Oblboi(•)NoLocki实同1IBLBO2OLoeklW入|1IBLB11OLock21IBLB12Lock3选项及原作说明丝ElElElElmmElEl焰丝[1][1][1]|1][1][1][11[1]将扩展焰丝位:FF筑程选项叵]芯片族除口片空检查日编程FLASH日自动旗装FLASH口启动LOGO日提示音口桧喇-自动编程I~I编程EEPROM口长鞋FLASH口校船BEPROMII自动承装EEPROME自动调速回快建校验口更新一自动编程口⑷件峪"口芯片麒定日读识别字口编程5f时1秒结束日芯片编程计数芯片编程数:0口Enter键一芯片明程;延时缓存区;延时缓存区;显示缓存区图3-3单片机烧录软件介面第四章源程序代码4.1程序总体设计本设计的程序:hcOequ4ahhe1equ4bhhc2equ4chhc3equ4dhhc4equ4ehxs_Oequ50hxs_lequ51hxs_2equ52hxs_3equ53hxs_4equ54hxs_5equ55hxs_6equ56hxs_7equ57hxs_8equ58hxs_9equ59hpsiequ5ah;设置密码缓存区ps2equ5bhps3equ5chps4equ5dhmmbzequ5fh;密码输入次数atlequ60h ;输入密码缓存区at2equ61hat3equ62hat4equ63h ;初始化orgOOhajmpmainlorg30hmainl:movpsi,#00hmovps2,#00hmovps3,#00hmovps4,#00hmovatl,#00hmovat2,#00hmovat3,#00hmovat4,#00hmain:movxs_O,#lfhmovxs_l,#0flimovxs_2,#07hmovxs_3,#03hmovxs_4,#01hmovxs_5,#00hmovxs_6,#10hmovxs_7,#18hmovxs_8,#lch;显示0的摩斯值;显示I的摩斯值;显示2的摩斯值;显示3的摩斯值;显示4的摩斯值:显示5的摩斯值;显示6的摩斯值:显示7的摩斯值;显示8的摩斯值movxs_9,#leh;显示9的摩斯值clrp3.0 ;RXD置0mova,#00h ;密码缓存movr2,#04h ;四位密码movrl,#00hmovrO,#ps1movr7,#05h;摩斯次数,由于数字为5次clrp2.7start:movpO,#Offhmovpl,#Offhsetbp2.4;按键位jbp2.4,start ;2.4为1转startlealldelay500msjbp2.4,startok: ;嘀的音clrpO.Olealldelay500msjnbp2.4,daa;是否去嗒音cun: ;setbp0.2setbpO.Orlaadda,rl;存入一位摩斯码djnzr7,yanshi;是否够五位摩斯码ajmpxianshiyanshi: ;输入一位摩斯码停顿Itlealldelay500msjbp2.4,mainajmpokdaa: ;嗒的音lealldelay500msjbp2.4,stopsetbpO.Oclrp0.2Icalldelay500mssetbp0.2jnbp2.4,stopmovrl,#O1hajmpcunstop: ;摩斯输入错误clrp0.4Icalldelay2ssetbp0.4ajmpmaincunchu:mov@r0,aincrOmova,#00hmovrl,#00hmovr7,#05hdjnzr2,yanshiclrp0.6Icalldelay2ssetbp0.6ajmpshuruxianshi:cjnea,xs_O,nextl;够五位摩斯码显示0movpl,#OcOhclrp3.2 ;报警器IcalldelayIssetbp3.2 ;报警器movpl,#Offhajmpcunchunextkcjnea,xs_l,next2;够五位摩斯码显示1movp1,#0f9hclrp3.2IcalldelayIssetbp3.2

movpO,#Offhajmpcunchunext2:cjnea,xs_2,next3;够五位摩斯码显示2movpl,#0a4hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu够五位摩斯码显示3够五位摩斯码显示3cjnea,xs_3,next4movpl,#ObOhclrp3.2IcalldelayIssetbp3.2movp1,#Offhajmpcunchunext4:cjnea,xs_4,next5;够五位摩斯码显示4movpl,#99hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu够五位摩斯码显示5够五位摩斯码显示5cjnea,xs_5,next6movpl,#92hclrp3.2IcalldelayIsnext6:cjnea,xs_6,next7;够五位摩斯码显示6movpl,#7dhclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchunext7:cjnea,xs_7,next8movpl,#Of8hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu够五位摩斯码显示next7:cjnea,xs_7,next8movpl,#Of8hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu够五位摩斯码显示7next8:cjnea,xs_8,next9movpl,#O8Ohclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu;够五位摩斯码显示8next9:cjnea,xs_9,cwmovpl,#90hclrp3.2next9:cjnea,xs_9,cwmovpl,#90hclrp3.2IcalldelayIs;够五位摩斯码显示9cw:clrp3.2clrp0.4Icalldelay5sclrp0.4setbp3.2ajmpmainlshuru: ;开门复位movmmbz,#O3 ;错误密码次数movatl,#00hmovat2,#00hmovat3,#00hmovat4,#00hshuru2:clrp0.6mova,#00h ;密码缓存movr2,#04h ;四位密码movrl,#00hmovrO,#at1movr7,#05hstart1:jbp2.4,start1Icalldelay500msjbp2.4,start1okl: ;滴音setbp3.0 ;开门后再按键It以上关门setbp0.6clrpO.OIcalldelay500msjnbp2.4,daaacunl:setbp0.2setbpO.Orlaadda,rldjnzr7,yanshilajmpxianshilyanshi1: ;每个摩斯码之间延时ItIcalldelay500msjbp2.4,stoplajmpokldaaa: ;嗒音Icalldelay500msjbp2.4,stop1setbpO.Oclrp0.2Icalldelay500mssetbp0.2jnbp2.4,stop1movrl,#O1hajmpcunlstopl: ;摩斯码错误处理clrp0.4Icalldelay2ssetbp0.4ajmpshuru2cunchu2:mov@r0,aincrOmova,#00hmovrl,#00hmovr7,#05hdjnzr2,yanshilajmpbijiaoxianshil: ;显示处理cjnea,xs_0,nextl_lmovpl,#OcOhclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2nextl_l:cjnea,xs_l,next2_2movpl,#Of9hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next2_2:cjnea,xs_2,next3_3movpl,#0a4hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next3_3:cjnea,xs_3,next4_4movpl,#ObOhclrp3.2IcalldelayIsnext4_4:cjnea,xs_4,next5_5movpl,#99hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next5_5:cjnea,xs_5,next6_6movpl,#92hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next6_6:cjnea,xs_6,next7_7movpl,#82hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next7_7:cjnea,xs_7,next8_8movp1,#Of8hclrp3.2IcalldelayIssetbp3.2movp1,#Offhajmpcunchu2next8_8:cjnea,xs_8,next9_9movpl,#8Ohclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2next9_9:cjnea,xs_9,cw2movp1,#90hclrp3.2IcalldelayIssetbp3.2movpl,#Offhajmpcunchu2bijiao:;比较密码movr6,#04movrl,#pslmovrO,#atlbj2:clrcmova,@r0subba,@rlcjnea,#00h,cw2incrlincrOdjnzr6,bj2clrp3.2 ;密码正确clrp3.0Icalldelay5ssetbp3.2ajmpshurucw2: ;密码错误处理djnzmmbz,bjdmovpO,#00hclrp3.2Icalldelay5minsetbp3.2movpO,#Offhajmpshuru2bjd:movpO,#00hclrp3.2Icalldelay5ssetbp3.2movpO,#Offhajmpshuru2delay500ms:movhcO,#05ffl:movhcl,#200fffkmovhc2,#250djnzhc2,$djnzhcl,fffldjnzhcO,fflretdelayIs:movhcO,#10ff2:movhcl,#200ff3:movhc2,#250djnzhc2,$djnzhcl,ff3djnzhcO,ff2retdelay2s:movhcO,#20ff4:movhe1,#200ff5:movhc2,#250djnzhc2,$djnzhcl,ff5djnzhcO,ff4retdelay5s:movhcO,#50ff6:movhcl,#200ff7:movhc2,#250djnzhc2,$djnzhcl,ff7djnzhcO,ff6retdelay5min:movhcO,#12qql:movhe1,#200qq2:movhc2,#250qq3:movhc3,#250djnzhc3,$djnzhc2,qq3djnzhcl,qq2djnzhcO,qqlretend总结实践是检验真理的唯一标准,当然也是检验学习成果的标准。在经过一段时间的学习之后,我们需要了解自己的所学应该如何应用在实践中,因为任何知识都源于实践,归于实践,所以要将所学的知识在实践中来检验。在做毕业设计期间,在老师的指导下,通过自身的不断努力,无论是思想上,学习上,都取得了长足的发展和巨大的收获,现将工作总结如下:思想上,学会了用科学的精神去解决问题。很多事情看起来是很简单的问题,但实际做起来去会发现有许多奥妙!这是因为其中蕴含着许多科学的问题。运用科学的方法去解决问题,这是我这次实训给我带来的思想上的改变。学习上,使自已在大学所以的知识在这次得到实践,学到一些书本上无法学到的经验,对电子元件有了进一步的认识。电子锁是信息化时代发展的产物,应时而生,我相信随着科技的不断发展,将来的电子锁一定更加完美,更加人性化,更加便宜,更加安全。参考文献[1]李朝青.单片机原理及接口技术(简明修订版)[M].北京:北京航空航天大学出版社,1998[2]李全利.单片机原理及接口技术[M].高等教育出版社,2003[3]PR0TEL99SE电路设计与制板[M].机械工业出版社,2007[4]杨将新,李华军,刘到骏等.单片机程序设计及应用(从基础到实践)□].电子工业出版社,2006[5]StevenF.Barrett.DaneilJ.Pack.EmbeddedSystem[M].北京:电子工业出版社,2006[6]周立功.LPC900系列Flash单片机应用技术[J].北京航空航天大学出版社,2004[7]黄智伟.全国大学生电子设计竞赛训练教程[M].北京:电子工业出版社,2005致谢在本次论文设计过程中,刘老师对该论文从选题,构思到最后定稿的各个环节给予细心指引与教导,使我得以最终完成毕业论文设计,在此表示衷心的感谢。此外在学习中,老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度以及侮人不倦的师者风范是我终生学习的楷模。另外在完成毕业设计的过程中,还得到众多朋友的关心支持和帮助,在此,谨向老师同学和朋友致以衷心的感谢和崇高的敬意!最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位老师表示感谢附录1系统电路图ZHUZHOUPROFESSIONALTECHNOLOGYCOLLEGE毕业设计r合文)标题:电子密码锁学生姓名:龙勇 系部:电子工程系 专业:应用电子 班级:0801 指导教师: 李二喜 株洲职业技术学院教务处制中文摘要摘要:在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。基于以上思路,本次设计使用ATMEL公司的AT89C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能:(1)密码通过键盘输入,若密码正确,则将锁打开。(2)报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。电子密码锁的设计主要由三部分组成:4X4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:(1)密码输入功能:按下一个数字键,一个“一”就显示在最右边的数码管上,同时将先前输入的所有“一”向左移动一位。(2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。(3)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。主要的设计实施过程:首先,选用ATMEL公司的单片机AT89C51,以及选购其他电子元器件。第二步,使用DXP2004设计硬件电路原理图,并设计PCB图完成人工布线(后因PCB板损坏决定采用万能板焊接的方法)。第三步,使用KeiluVision3软件编写单片机的C语言程序、仿真、软件调试。第四部,使用PROTEUS软件进行模拟软、硬件调试。最后,联合软、硬件调试电路板,完成本次毕业设计。关键词:4义4矩阵键盘;AT89C51;密码锁;密码二次确认目录TOC\o"1-5"\h\z\o"CurrentDocument"中文摘要 39\o"CurrentDocument"目录 42\o"CurrentDocument"第1章概述 0\o"CurrentDocument"第2章 系统总体方案设计 。\o"CurrentDocument"第3章硬件电路设计 3\o"CurrentDocument"键盘电路设计 3LED显示电路 4\o"CurrentDocument"开锁电路 6\o"CurrentDocument"报警电路 6\o"CurrentDocument"第四章软件设计 8\o"CurrentDocument"软件设计思路 8\o"CurrentDocument"各子程序设计 8\o"CurrentDocument"第5章系统调试 13\o"CurrentDocument"第6章心得体会 14\o"CurrentDocument"第7章参考文献 15\o"CurrentDocument"附录 15\o"CurrentDocument"源程序清单 15\o"CurrentDocument"硬件原理图 21第1章概述随着科技的发展,单片机已不是•个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。本文所涉及的是市场占有率最高的是MCS-51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。第2章系统总体方案设计方案一:采用数字电路控制。其原理方框图如图i—i所示。图2—1数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。用以74LSU2双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。矩阵键盘控制方案二:采用一种是用以AT89s51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的10端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图1-2所示。矩阵键盘控制输入错误锁定键盘89S51单片机AT24co2掉电存储AT24co2掉电存储 f串口显中电路图2—2单片机控制方案通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。本方案采用一种是用以89s51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。初步设计思路如下:输入密码用矩形键盘,包括数字键和功能键。LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。用发光二极管代替开锁的电路,发光表示开锁。输入密码错误次数超过3次,系统报警。打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。这样可预防停电后再来电时无密码可用。按“C”键,清除显示器为“000000”。欲重新设定密码,先输入密码在案输入密码,再按“D”键。若密码与设定密码相同,则开门。否则显示器清为“000000”。软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。

第3章硬件电路设计3.1键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图3.1XTAL1XTA12R8TALE嵌FIDP1.1P12P1JPI4PISP1J6PI.?PQDTAU]PQ.VAD1PD2TACZpoarAra2.“A。,POLADSPQJ&AD6PD.7/AOTP2Df^2P2.VA9F22fA<]PZJfAIIPZ.4/ASXTAL1XTA12R8TALE嵌FIDP1.1P12P1JPI4PISP1J6PI.?PQDTAU]PQ.VAD1PD2TACZpoarAra2.“A。,POLADSPQJ&AD6PD.7/AOTP2Df^2P2.VA9F22fA<]PZJfAIIPZ.4/AS♦2Sig—P2.?<AtfP3HTRXDP3.ima>F33TTH?3.«HDP3£mpxacnncP3.7/IK图3.1矩阵键盘每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NXM个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图3.1所示的4义4键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机I/O□向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为lo判断键盘中哪•个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。具体的功能设计如表3.1:表3.1按键功能按键键名功能说明1一9键数字键输入密码*键重设密码键设定新密码D键确定键比较密码#键清除键使显示器清零32LED显示电路本系统设计的显示电路是为了给使用者以提示而设置的。本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图3.2所示。用P0.0—P0.3接74LS247的A,B,C,D四端口,74LS247的输出口接LED

的七段显示;而P0.4—P0.6接74LS138的A,B,C三个输入口,74LS138的输出口接LED的位显示。通过软件实现数字和位控制。*0««M»0««Mbjmjt,2Z•ZAH•2Mt2,zaaHTOOn,vn«niwuniwnPMmmm图3.2LED*0««M»0««Mbjmjt,2Z•ZAH•2Mt2,zaaHTOOn,vn«niwuniwnPMmmm图3.2LED显示电路用74LS247可以控制输出什么字型。74LS247的逻辑功能表如表3.2:

表3.274LS247的逻辑功能表十进“制数,输入,输出。字“型.A3.A2.A1pAO.QA.QB.QCQD>QBQF.QGa津(k(kOp0.o.o.o.o.OpOp川1“0.0.o.1cLo.0.1L1*1L*0.(kk0~.1,0.2「3“aab,b0+000>bbo.3.40.i0.o.L001L0o.4.5“0.1,0.Ipo.1*o.11.0,0.5/6-Opla1*0.0・1“o.o.(kOp6.7/0.L1“L0.0.0・L1.b1.7.&1o.0.0.o.o.0*o.o.o.0-8.9.1,徐保1。0,(k33p(kOp9p用74LS138控制位循环显示,其逻辑功能表如表3.3:

表3.374LS138逻辑功能表CBAY1Y2YOY3Y4Y5Y6Y700001111J1

00110111111010110111110111110111110011110111\011111101111011111101111111111103.3开锁电路在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。电路图如3.3所示。当P2.0口输出低电平时,二极管发光,表示开锁。AW051-POIYAU]PD.VAM22f02PQ.t/Atl*PQSAD6POj&AKAW051-POIYAU]PD.VAM22f02PQ.t/Atl*PQSAD6POj&AKFD.T/AD?PZDTA2FZ.1/A9P22A<]F23fA11P2.WAtZF25TAQPZjGTAUFinruxDio.vd®pa^nnDP3airnP3VTOP3ST1F3.7/IF图3.3开锁电路3.4报警电路委-笛拳至言a聿一3.4报警电路委-笛拳至言a聿一」J.-JJJ;B4-I一.一3=1-r__.图3.4报警电路报警模块由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。蜂鸣器电路如图3.4所示。当89C51的P2.1口输出为低电平时,蜂鸣器产生蜂鸣音,89c51输出为高电平时,蜂鸣器不发声。第四章软件设计软件设计思路电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。密码的设定,在此程序中密码是固定40H—45H中,假设预设的密码为“123456”共6位密码。由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。各子程序设计1键盘扫描子程序键盘扫描流程图如图4.2.1

开始图421键盘扫描流程图键盘扫描子程序如下:L2: MOVR3,#OF7HMOVR1,#OOHL3: MOVA,R3MOVPl,AMOVA,PlMOVR4,ASETBCMOVR5,#04HL4: RLCAJNCKEYININCRIDJNZR5,L4CALLDISPMOVA,R3SETBCRRCAMOVR3,AJCL3JMPL22LED显示子程序LED显示流程图如图4.2.2图4.2.2LED显示流程图LED显示子程序如下:DISP:MOVRO,#45HDISP1:MOVA,@R0ADDA,#50HMOVPO,ACALLDELAYDECROMOVA,@R0ADDA,#40HMOVPO,ACALLDELAYDECROMOVA,@ROADDA,#30HMOVPO,ACALLDELAYDECROMOVA,@ROADDA,#20HMOVPO,ACALLDELAYDECROMOVA,@ROADDA,#10HMOVPO,ACALLDELAYDECROMOVA,@ROADDA,#OOHMOVPO,ACALLDELAYRET3密码比较和报警程序密码比较和报警流程图如4.2.3

图4.2.3密码比较和报警流程密码比较和报警程序:COMP:MOVR1,#45HMOVRO,#35HMOVR2,#06HCl:MOVA,@R1XRLA,@R0JNZC3DECRIDECRODJNZR2,C1CLRP2.0MOVR2,#200C2:MOVR6,#248DJNZR6,$DJNZR2,C2

C3: INCR5MOVA,R5MOVR5,ACJNER5,#03H,C4CLRP2.1MOVR5,#OOHC4:JMPSTART第5章系统调试本次调试采用本次调试采用Protues软件仿真。首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。依次按下依次按下1,2,3,4,5,6后,4,5,6后,LED显示如图5.1图5.1LED显示按下确定键后,二极管亮,表示密码正确开门。如图5.2第6章心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问

温馨提示

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

评论

0/150

提交评论