毕业设计(论文)-基于单片机电子密码锁的设计(纯属原创).doc_第1页
毕业设计(论文)-基于单片机电子密码锁的设计(纯属原创).doc_第2页
毕业设计(论文)-基于单片机电子密码锁的设计(纯属原创).doc_第3页
毕业设计(论文)-基于单片机电子密码锁的设计(纯属原创).doc_第4页
毕业设计(论文)-基于单片机电子密码锁的设计(纯属原创).doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

中国石油大学胜利学院专科毕业论文专科生毕业论文题 目: 基于单片机的电子密码锁设计 学生姓名: 学 号: 院 系: 机械与控制工程学院 专业年级: 指导教师: 李福坤 2015年 6 月15 日摘 要随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。 本文从经济实用的角度出发,系统由stc89c52与低功耗cmos型eprom at24c02作为主控芯片与数据存储器单元,结合外围的键盘输入、lcd显示、报警、开锁等电路模块。它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。用c语言编写的主控芯片控制程序与eeprom at24c02读写程序相结合,并用keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。关键词:电子密码锁;报警;液晶显示朗读显示对应的拉丁字符的拼音abstract as peoples living standards improve, the question how to achieve home security has become particularly prominent. in science and technology is developing continuously, electronic code lock as a security guards role is increasingly important. thisarticlefromtheeconomicalpointofview,thesystembythestc89c52withlowpowercmosbasedepromat24c02asthemasterchipandthedatamemoryunit,combinedwiththeexternalkeyboard,lcddisplay,alarm,unlockandothercircuitmodules.itperformsthefollowingfunctions:enterthepasswordcorrectlyunderthepremiseofunlocking;wrongpasswordcasethealarm;passwordcanbechangedaccordingtouserneeds.masterinclanguagecontrolprogramandeepromat24c02chiptoreadandwriteprocessarecombinedandcompiledwiththekeilsoftware,designedanumberyoucanchangethepassword,thepasswordwithanelectronicalarmcontrolsystem.thelockhasareasonabledesign,simple,lowcost,safeandpractical,confidentiality,flexibility,andhigh,withsomepromotionalvalue.keywords:electricpasswordlock;alarm;lcddisplay目 录 引言1第1章 绪论21.1 电子密码锁的背景与研究意义21.2 电子密码锁的现状及发展趋势21.3 本章小结5第2章 系统整体方案设计62.1 设计目标62.2 主控部分的选择62.3 密码输入方式的选择72.4 本章小结7第3章 硬件系统设计83.1系统芯片介绍83.1.1单片机stc89c52功能介绍83.1.2 lcd1602显示器介绍83.1.3存储芯片at24c02介绍93.1.4 i2c总线介绍113.2 硬件电路设计133.2.1 复位电路133.2.2 晶振电路143.2.3存储电路143.2.4 键盘输入电路163.2.5 显示电路173.2.6 电源输入电路183.2.7 报警电路183.2.8 开锁电路183.3 本章小结20第4章 软件程序设计214.1 主程序流程214.2 按键软件设计214.3 密码设置软件设计214.5 本章小结21结论与展望22参考文献23致谢24附录 密码锁电路原理图25引 言在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁电子密码锁,提供了很大的发展空间。从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和取款机,由于人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、ic卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器在公共场所使用存在容易机械损坏,ic卡还存在容易丢失、损坏等缺点,再加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接受程度,键盘式电子密码锁是这类电子防盗产品的主流。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用也日趋重要。电子密码锁是集计算机技术、电子技术、数字密码技术为一体的机电一体化高科技产品,具有安全性高,使用方便等优点。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。本次毕业论文主要分为两大模块,一是硬件系统电路部分,另一个是用c语言编写的软件程序部分,基本能完成电子密码锁的开锁、修改密码、密码错误报警等主要功能,成本低,可靠性高,具有很好的市场应用价值。第1章 绪 论1.1 电子密码锁的背景与研究意义在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁电子密码锁,提供了很大的发展空间。本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共8位密码,每位的取值范围为18,用户可以自行设定和修改密码,每个密码按键都有声、光提示。用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警十分钟,期间输入密码无效,以防窃贼多次试探密码。八位密码同时输入正确,锁才能打开。锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。其特点如下:1. 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2.密码可变,用户可以随时更改密码,防止密码被盗。3. 误码输入保护,当输入密码多次错误时,报警系统自动启动。4. 无活动零件,不会磨损,寿命长。5. 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6. 电子密码锁操作简单易行,一学即会。1.2 电子密码锁的现状及发展趋势在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。在安全技术防范领域,随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能,从而使密码锁具有很高的安全性、可靠性。最早的锁,是主人为防他人开启而设的简单的机关,应用于门上最简单的锁就是门闩了。我国古代有石锁,并无钥匙,是以绳索或铁链束缚。商周时期出现了用钥匙才能开启的铜锁,铁锁,以钥匙的不同而匹配不同的锁。 随着科学技术的迅猛发展,机械锁也有了长足的发展。现代机械锁具已有了一百多年的历史,锁芯里加入了长短不一的弹子,要外线用相应齿形的钥匙来打开。以后,又发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。如指纹、眼底视网膜等)来控制锁的开启。我国锁的发展已绵延了数千年,中国锁具的发展,大体经历了初创期,发展期和繁荣期三个阶段。初创期为新石器时代到夏商时期。在我国母系社会后期,因为当时社会生产力的提高,人类开始拥有个人的私有(少量)财产。后来,随着私有制的发展,私人财富越来越多,为了保护财产和生命的安全,人类开始了对锁具的探索。在最初,人类只是简单地把个人贵重财物用兽皮包起来外面用绳索牢牢捆缚,最后在开启处,打上特殊的紧紧捆死的绳结,只能用一个叫“错”的工具才能挑开。错,又叫“肖”、“起子”。它用兽牙或兽骨制成,形状像把镰刀状的钩子,实际上绳结就是最早的锁具,“肖”就是最早的钥匙,这就是我国锁具的雏形,一直从商代沿用到汉代。到了距今5000年的仰韶文化时期,我们先民创造了装在木结构框架建筑上的木锁。这是世界上迄今为止最古老的锁具,可称得上是“世界第一锁”。这种木锁一直在民间传承。发展期为春秋战国经秦汉、魏晋、南北朝,直到隋唐宋元时期。春秋时期进入铁器时代,考古证明,在这一时期人们大量的是使用铁锁、铜锁,还有银锁、鎏金锁等,其中有代表性的如西周的青铜锁、东汉的金属锁、唐代的虾尾银锁和宋代的方身锁等,都具有相当高的技术水平。繁荣期为明清时期特别是汉代的铁制三簧锁,在我国前后沿用了1000多年。各种材质的锁具同步发展,以铜锁、铁锁居多,工艺更加精巧,在开锁难度和外形制造上有很大的创新。现代锁具,它的机械化生产,摆脱了过去我们用手工操作的束缚。它不仅是能批量生产,满足人民生活的需要;同时,也充分运用了现代科学,创造了磁控锁、声控锁、遥控锁、远红外线锁、电子卡片锁、指纹锁、超声波锁、电磁波锁等绝妙精品,大大提高了防窃、防盗功能。从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和取款机,由于人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、ic卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器在公共场所使用存在容易机械损坏,ic卡还存在容易丢失、损坏等缺点,再加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接受程度,键盘式电子密码锁是这类电子防盗产品的主流。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用也日趋重要。电子密码锁是集计算机技术、电子技术、数字密码技术为一体的机电一体化高科技产品,具有安全性高,使用方便等优点3。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。当今电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的。1.3 本章小结本章首先讲述了本文的选题来源及研究意义,然后讲述了电子密码锁在国内的发展过程及特点,最后叙述了当前电子密码锁的应用及发展前景。第2章 系统整体方案设计2.1 设计目标本设计采用stc89c52单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器lcd1602和密码存储at24c02等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,组成的电子密码锁系统,能够实现:1完全正确输入八位密码的前提下,有开锁提示;2错误输入密码情况下,蜂鸣器报警;开锁密码错3次要报警10分钟,报警期间输入密码无效。3用户可以自行设定和修改密码;4只有内部上电复位时才能设置或修改密码。系统整体设计框图如图2-1所示: 输入电路显示电路主控芯片存储模块输出电路晶振电路图2- 1 系统整体设计框图2.2 主控部分的选择方案一:采用数字电路控制用以74ls112双jk触发器构成的数字逻辑电路作为密码锁的核心控制,将密码保存在jk触发器中,与输入密码通过比较器比较,判断结果是否相符合。采用数字电路设计的方案控制的准确性和灵活性差,故不采用。 方案二:采用以单片机为核心的控制方案选用单片机作为系统的核心部件,实现控制与处理的功能。单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机存储器(ram)和只读存储器(rom)及其引脚资源,外接液晶显示(lcd),键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标6。因此综合考虑,采用方案二。2.3 密码输入方式的选择方案一:指纹输入识别 指纹识别技术主要涉及四个功能:读取指纹图像、提取特征、保存数据和比对。通过指纹读取设备读取到人体指纹的图像,然后要对原始图像进行初步的处理,使之更清晰,再通过指纹辨识软件建立指纹的特征数据。软件从指纹上找到被称为“节点”(minutiae)的数据点,即指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。通常手指上平均具有70个节点,所以这种方法会产生大约490个数据。这些数据,通常称为模板。通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果,从而判断输入结果的正确与否。考虑到本方案软硬件太过复杂,而且成本也高,故不采用。方案二:矩阵键盘输入识别 由各按键组成的矩阵键盘每条行线和列线都对应一条i/o口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个i/o口线,就可以确定哪一个键被触动。 行线设计成上拉口线,初始时被置高电位,列线悬空,初始置低。通过不断读行线口线,或者中断方式触发键位扫描。当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。每个按键都可通过程序赋予功能,从而完成密码识别本方案简单易行,故采用。2.4 本章小结本章主要围绕电子密码锁系统展开,首先说明了电子密码锁的组成,然后介绍了主控制方案、密码输入方案论证与比较,最终选择了最优方案。第3章 硬件系统设计3.1 系统芯片介绍3.1.1 单片机stc89c52功能介绍stc89c52是51系列单片机的一个型号,它是stc公司生产的。stc89c52是一个低电压,高性能cmos 8位单片机,片内含8k bytes的可反复擦写的flash只读程序存储器和256 bytes的随机存取数据存储器(ram),器件采用stc公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,功能强大的stc89c52单片机可提供许多较复杂系统控制应用场合。stc89c52有40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,stc89c52可以按照常规方法进行编程,但不可以在线编程(s系列的才支持在线编程)。其将通用的微处理器和flash存储器结合在一起,特别是可反复擦写的flash存储器可有效地降低开发成本7。stc89c52有pdip、pqfp/tqfp及plcc等三种封装形式,以适应不同产品的需求 。其引脚图如图3-1示。图3- 1 stc89c52引脚分布图3.1.2 lcd1602显示器介绍液晶显示模块已作为很多电子产品中都可以看到,显示的主要是数字、专用符号和图形。1602型lcd显示模块具有体积小,功耗低,显示内容丰富等特点。1602型lcd可以显示2行16个字符,有8位数产品的通过器件,如在计算器、万用表、电子表及很多家用电子据总线d0-d7和rs,r/w,en三个控制端口,工作电压为5v,并且具有字符对比度调节和背光功能。引脚功能说明:lcd1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明,如表3-1所示:表3- 1 lcd1602引脚接口说明表编号符号引脚说明编号符号引脚说明1vss电源地9d2数据2vdd电源正极10d3数据3vl液晶显示偏压11d4数据4rs数据/命令选择12d5数据5r/w读/写选择13d6数据6e使能信号14d7数据7d0数据15bla背光源正极8d1数据16blk背光源负极第1脚:vss为地电源。第2脚:vdd接5v正电源。第3脚:vl为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10k的电位器调整对比度。第4脚:rs为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:r/w为读写信号线,高电平时进行读操作,低电平时进行写操作。当rs和r/w共同为低电平时可以写入指令或者显示地址,当rs为低电平r/w为高电平时可以读忙信号,当rs为高电平r/w为低电平时可以写入数据。第6脚:e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。第714脚:d0d7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。3.1.3 存储芯片at24c02介绍at24c02是美国atmel公司的低功耗cmos型eprom,内含2568位存储空间,具有工作电压宽(2.55.5 v)、擦写次数多(大于10000次)、写入速度快(小于10 ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了ic总线式进行数据读写的串行器件,占用很少的资源和i/o线,并且支持在线编程,进行数据实时的存取十分方便。at24c02中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。i2c总线是一种用于ic器件之间连接的二线制总线。他通过sda(串行数据线)及scl(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。 at24c02正是运用了ic规程,使用主/从机双向通信,主机(通常为单片机)和从机(at24c02)均可工作于接收器和发送器状态。主机产生串行时钟信号(通过scl引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号ack。at24c02的控制字由8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向。管脚描述:scl 为串行时钟:串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚。sdl 为串行数据/地址:双向串行数据/地址管脚用于器件所有数据的发送或接收sdl,是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或。a0、a1、a2 为器件地址输入端:当使用24c02 时最大可级联8个器件,如果只有一个24c02被总线寻址,这三个地址输入脚a0、a1、a2可悬空或连接到vss。wp为写保护:如果wp 管脚连接到vcc 所有的内容都被写保护只能读当wp, 管脚连接到vss 或悬空,允许器件进行正常的读/写操作12。管脚图如图3-2所示。 图3- 2 at24c02引脚图3.1.4 i2c总线介绍i2c(interintegrated circuit)总线是一种由philips公司开发的两线式串行总线,用于连接微控制器及其外围设备。i2c总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。i2c总线的硬件结构:i2c串行总线一般有两根信号线,一根是双向的数据线sda,另一根是时钟线scl。所有接到i2c总线设备上的串行数据sda都接到总线的sda上,各设备的时钟线scl接到总线的scl上。为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须是开漏输出或集电极开路输出。设备上的串行数据线sda接口电路应该是双向的,输出电路用于向总线上发送数据,输入电路用于接收总线上的数据。而串行时钟线也应是双向的,作为控制总线数据传送的主机。 总线的运行(数据传输)由主机控制。所谓主机是指启动数据的传送(发出启动信号)、发出时钟信号以及传送结束时发出停止信号的设备,通常主机都是微处理器。被主机寻访的设备称为从机。为了进行通讯,每个接到i2c总线的设备都有一个唯一的地址,以便于主机寻访。主机和从机的数据传送,可以由主机发送数据到从机,也可以由从机发到主机。凡是发送数据到总线的设备称为发送器,从总线上接收数据的设备被称为接受器。总线的构成及信号类型:i2c总线是由数据线sda和时钟scl构成的串行总线,可发送和接收数据。在cpu与被控ic之间、ic与ic之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,i2c总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。i2c总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。开始信号:scl为高电平时,sda由高电平向低电平跳变,开始传送数据。结束信号:scl为高电平时,sda由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的ic在接收到8bit数据后,向发送数据的ic发出特定的低电平脉冲,表示已收到数据。cpu向受控单元发出一个信号后,等待受控单元发出一个应答信号,cpu接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障9。如图3-3所示sdascl开始结束图3- 3 开始结束信号图目前有很多半导体集成电路上都集成了i2c接口。带有i2c接口的单片机有:cygnal的 c8051f0xx系列,philipsp87lpc7xx系列,microchip的pic16c6xx系列等。很多外围器件如存储器、监控芯片等也提供i2c接口。总线基本操作:i2c规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。 总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(scl)控制总线的传输方向,并产生起始和停止条件。sda线上的数据状态仅在scl为低电平的期间才能改变,scl为高电平的期间,sda状态的改变被用来表示起始和停止条件。1. 控制字节:在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义,eeprom一般应为1010),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。2.写操作:写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不同有所不同。3.读操作:读操作有三种基本操作:当前地址读、随机读和顺序读。图4给出的是顺序读的时序图。应当注意的是:最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机必须在第9个周期时发出停止条件或者在第9个时钟周期内保持sda为高电平、然后发出停止条件。3.2 硬件电路设计本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警。本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、复位部分、晶振部分、显示部分、报警部分组成,软件部分对应的由主程序、初始化程序、lcd显示程序、键盘扫描程序、启动程序、关闭程序、键功能程序、密码设置程序、eeprom读写程序和延时程序等组成。3.2.1 复位电路单片机复位是使cpu和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后pc0000h,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即rst为高电平期间),p0口为高组态,p1p3口输出高电平;外部程序存储器读选通信号psen无效。地址锁存信号ale也为高电平。根据实际情况选择如图3-4所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容c1上的电压很小,复位下拉电阻上的电压接近电源电压,即rst为高电平,在电容充电的过程中rst端电压逐渐下降,当rst端的电压小于某一数值后,cpu脱离复位状态,由于电容c1足够大,可以保证rst高电平有效时间大于24个振荡周期,cpu能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容c1通过r5放电。当电容c1放电结束后,rst端的电位由r1与r2分压比决定。由于r11r15 因此rst为高电平,cpu处于复位状态,松手后,电容c1充电,rst端电位下降,cpu脱离复位状态。r1的作用在于限制按键按下瞬间电容c1的放电电流,避免产生火花,以保护按键触电 。e1r1k1r210k图3- 4复位电路原理图3.2.2 晶振电路st89c52引脚xtal1和xtal2与晶体振荡器及电容c2、c1按图3-5所示方式连接。晶振、电容c2c3及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容c1、c2的容量有关,但主要由晶振频率决定,范围在033mhz之间,电容c2、c3取值范围在530pf之间。根据实际情况,本设计中采用12mhz做系统的外部晶振。电容取值为20pf。图3- 5晶振电路原理图3.2.3存储电路at24c02是一个2k位串行cmos e2prom, 内部含有256个8位字节,catalyst公司的先进cmos技术实质上减少了器件的功耗。at24c02有一个16字节页写缓冲器。该器件通过ic总线接口进行操作,有一个专门的写保护功能。采用两线串行的总线和单片机通讯,电压最低可以到2.5v,额定电流为1ma,静态电流10ua(5.5v),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的dip封装,使用方便。 1、管脚封装dip:双列直插式封装,是最简单的一种封装技术。 工作温度工业级-55 +125 各管脚承受电压-2.0 vcc+2.0v vcc管脚承受电压-2.0 +7.0v 2、功能描述at24c02支持ic,总线数据传送协议ic,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端a0、a1和a2可以实现将最多8个at24c02器件连接到总线上12。 3、管脚描述at24c02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。 sda 串行数据/地址 at24c02 双向串行数据/地址管脚用于器件所有数据的发送或接收,sda 是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-or)。 a0、a1、a2 器件地址输入端 这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。当使用at24c02 时最大可级联8个器件。如果只有一个at24c02被总线寻址,这三个地址输入脚(a0、a1、a2 )可悬空或连接到vss,如果只有一个at24c02被总线寻址这三个地址输入脚(a0、a1、a2 )必须连接到vss。 wp 写保护 如果wp管脚连接到vcc,所有的内容都被写保护只能读。当wp管脚连接到vss 或悬空允许器件进行正常的读/写操作其电路如图36所示。a01a12a23gnd4vcc5wp6scl7sdl8u3at24c02vccr20510r21510vccp3.5p3.6p3.7图3- 6 掉电存储电路原理图图中1、2、3脚是三条地址线,用于确定芯片的硬件地址,在at89s51上它们都能接地,第5脚和第8脚分别为正、负电源。at24c02中带有片内地址寄存器,每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个储存单元的读写,所有字节均以单一操作方式读取。3.2.4 键盘输入电路由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多i/o口。本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等13。键盘的每个按键功能在程序设计中设置 。其大体功能(看键盘按键上的标记)及与单片机引脚接法如图3-7所示:k4k3k2k1k5k6k7k8k12k11k10k9k13k14k15k16r110kr210kr310kr410kr510kr610kr1610kr1710kvccp1.0p1.11p1.3p1.4p1.5p1.7图3- 7 键盘输入原理图3.2.5 显示电路为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器lcd1602取代普通的数码管来完成。只有按下键盘上的开启按键后,显示器才处于开启状态。同理只有按下关闭按键后显示器才处于关闭状态。否则显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键09输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。当密码输入完成时,按下确认键,如果输入的密码正确的话, lcd子显示“right”,单片机其中p2.0引角会输出低电平,使三极管t2导通,电磁铁吸合,电子密码锁被打开,如果密码不正确,lcd显示屏会显示“error”,p2.0输出的是高电平,电子密码锁不能被打开14。通过lcd显示屏,可以清楚的判断出密码锁所处的状态 。1602型lcd基本操作程序如下表所示:表3- 2 lcd1602基本操作程序读状态输入rs=l,r/w=h,e=h输出d0d7=状态字写指令输入rs=l,r/w=l,d0d7=指令码,e=高脉冲输出无读数据输入rs=h,r/w=h,e=h输出d0d7=数据写数据输入rs=h,r/w=l,d0d7=数据,e=高脉冲输出无其显示部分引脚接口如图3-8所示:r1010kp3.2p3.1p3.0db07db18db29db310db411db512db613db714rs4r/w5e6vcc2vl+15vl-16vss1vee3u2lcd1602图3- 8显示电路原理图3.2.6 电源输入电路密码锁主要控制部分电源需要用5v直流电源供电,其电路如图3-9所示,而5v电源输入时往往伴有杂波,所以加一个2.2uf的电容滤波16。这样输出的电压一般能满足要求。vcce22.2uf12power2pin图3- 9 电源输入电路原理图3.2.7 报警电路报警部分由陶瓷压电发声装置及外围电路组成,加电后不发声,当有键按下时,“叮”声,每按一下,发声一次,密码正确时,不发声直接开锁,当密码输入错误时,单片机的p2.1引脚为低电平,三极管t3导喇叭发出噪鸣声报警。如图3-10所示:q38550spkvccr191kp2.1图3- 10 报警电路原理图3.2.8 开锁电路通过单片机开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。其原理如图311所示。电磁锁单片机微控制器开锁驱动电路返回ny密码正确?图3- 11密码锁开锁机构示意图当用户输入的密码正确时,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。其实际电路如图312所示。电路由驱动和开锁两级组成。由d1、r12、q1组成驱动电路,其中q1可以选择普通的小功率三极管如8050、9018都可以满足要求。d1是开锁指示灯;由d2、c5组成开锁。其中d2、c5是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干扰。电磁锁的选用要视情况而定,但是吸合力要足够且有一定的余量。在设计中,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。图3- 12开锁电路原理图3.3 本章小结本章主要介绍的是系统的硬件结构设计,以单片机为核心控制器,介绍了主控制器s单片机、存储电路 at24c02、显示电路lcd1602、键盘接口电路、报警电路以及电源电路等的设计。第4章 软件程序设计本系统软件设计由主程序、初始化程序、lcd显示程序、键盘扫描程序、键功能程序、密码设置程序、eeprom读写程序和延时程序等组成。4.1 主程序流程开始接上电源,程序进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,密码正确,开锁成功,密码错误3次出错报警,选择是否修改密码,若要修改密码,先输入旧密码密码,密码正确后设置新密码,错误时报警,需要两次确认新密码,确认后,密码修改成功,否则结束最终返回。然后启动程序,进行保护,再次在键盘上输入密码,系统进行扫描,如果和之前一样,则执行相同程序,如不是,则执行另一种程序。4.2 按键软件设计在按键当中,有与输入、开锁、清除、设置、确认的程序相对应的按键,并按顺序与输入的数相比较,当输入正确时,进入密码程序,错误时进行清除,输入两次新密码正确时,可进行重新设置密码,最后确认程序。4.3 密码设置软件设计开始按下设置键,输入旧密码,如果错误累计三次,进行报警程序。如输入正确,可以修改密码,确认后再次输入新密码,如两次输入一样,则更改成功。如果两次输入的新密码不一样,则修改密码失败,重新返回设置新密码。4.4 开锁软件设计开始时按开锁键,输入密码,如果输入正确,则开锁成功。如果输入错误累计达到三次,则执行报警程序。4.5 本章小结在单片机应用系统中,除了注意硬件电路的正确设计外,还要考虑系统软件的设计。本章主要根据系统功能,介绍了本设计的软件流程图的设计,确定系统的总体结构和操作控制过程,然后介绍了按键功能子程序设计、密码设置子程序设计、开锁功能子程序设计等。结论与展望以上为毕业期间所作的毕业论文-基于单片机的电子密码锁设计,在着手本次毕业

温馨提示

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

评论

0/150

提交评论