毕业设计(论文):基于单片机的电子密码锁设计.doc

上传人:文****钱 文档编号:41823 上传时间:2018-05-09 格式:DOC 页数:55 大小:642KB
下载 相关 举报
毕业设计(论文):基于单片机的电子密码锁设计.doc_第1页
第1页 / 共55页
毕业设计(论文):基于单片机的电子密码锁设计.doc_第2页
第2页 / 共55页
毕业设计(论文):基于单片机的电子密码锁设计.doc_第3页
第3页 / 共55页
毕业设计(论文):基于单片机的电子密码锁设计.doc_第4页
第4页 / 共55页
毕业设计(论文):基于单片机的电子密码锁设计.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、0基于单片机的电子密码锁设计摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。本文从经济实用的角度出发,系统由STC89C52与低功耗CMOS型EPROMAT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。它能完成以下功能正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。用C语言编写的主控芯片控制程序与EEPROMAT24C02读写程序相结合,并用KEIL软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。本密

2、码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。关键词电子密码锁;报警;液晶显示1DESIGNOFELECTRICPASSWORDLOCKBASEDONMCUABSTRACTASPEOPLESLIVINGSTANDARDSIMPROVE,THEQUESTIONHOWTOACHIEVEHOMESECURITYHASBECOMEPARTICULARLYPROMINENTINSCIENCEANDTECHNOLOGYISDEVELOPINGCONTINUOUSLY,ELECTRONICCODELOCKASASECURITYGUARDSROLEISINCR

3、EASINGLYIMPORTANTTHISARTICLEFROMTHEECONOMICALPOINTOFVIEW,THESYSTEMBYTHESTC89C52WITHLOWPOWERCMOSBASEDEPROMAT24C02ASTHEMASTERCHIPANDTHEDATAMEMORYUNIT,COMBINEDWITHTHEEXTERNALKEYBOARD,LCDDISPLAY,ALARM,UNLOCKANDOTHERCIRCUITMODULESITPERFORMSTHEFOLLOWINGFUNCTIONSENTERTHEPASSWORDCORRECTLYUNDERTHEPREMISEOFUN

4、LOCKINGWRONGPASSWORDCASETHEALARMPASSWORDCANBECHANGEDACCORDINGTOUSERNEEDSMASTERINCLANGUAGECONTROLPROGRAMANDEEPROMAT24C02CHIPTOREADANDWRITEPROCESSARECOMBINEDANDCOMPILEDWITHTHEKEILSOFTWARE,DESIGNEDANUMBERYOUCANCHANGETHEPASSWORD,THEPASSWORDWITHANELECTRONICALARMCONTROLSYSTEMTHELOCKHASAREASONABLEDESIGN,SI

5、MPLE,LOWCOST,SAFEANDPRACTICAL,CONFIDENTIALITY,FLEXIBILITY,ANDHIGH,WITHSOMEPROMOTIONALVALUEKEYWORDSELECTRICPASSWORDLOCKALARMLCDDISPLAY2目录引言5第1章绪论611电子密码锁的背景与研究意义612电子密码锁的现状及发展趋势613本章小结8第2章系统整体方案设计921设计目标922主控部分的选择923密码输入方式的选择924本章小结10第3章硬件系统设计1131系统芯片介绍11311单片机STC89C52功能介绍11312LCD1602显示器介绍12313存储芯片AT

6、24C02介绍13314I2C总线介绍1332硬件电路设计15321复位电路15322晶振电路16323存储电路16324键盘输入电路17325显示电路18326电源输入电路19327报警电路19328开锁电路2033本章小结21第4章软件程序设计2241主程序流程图2242按键软件设计22421按键功能程序流程图22422按键功能子程序2343密码设置软件设计24431密码设置程序流程图24432密码设置子程序2544开锁软件设计25441开锁程序流程图25442开锁功能子程序2645本章小结27第5章系统仿真、调试及结论2851PROTEUS软件简介2852进入PROTEUSISIS285

7、3工作界面28354各模块的电路图及说明30541电子密码锁系统主模块AT89C51单片机30542电子密码锁系统的键盘模块31543电子密码锁系统的显示模块31544电子密码锁系统的晶振复位电路32545电子密码锁系统的掉电存储及报警电路32546电子密码锁系统的开锁电路3254本章小结33结论与展望34致谢35参考文献36附录A密码锁电路原理图37附录B一篇引用的外文文献及其译文38附录C主要参考文献的题录及摘要44附录D主要C语言源程序464插图清单图21系统整体设计框图9图31STC89C52引脚分布图11图32AT24C02引脚图13图33开始结束信号图14图34复位电路原理图16图

8、35晶振电路原理图16图36掉电存储电路原理图17图37键盘输入原理图18图38显示电路原理图19图39电源输入电路原理图19图310报警电路原理图20图311密码锁开锁机构示意图20图312开锁电路原理图21图41主程序流程图22图42按键功能流程图23图43密码设置流程图24图44开锁流程图26图51PROTEUS启动时的屏幕28图52PROTEUSISIS的工作界面29图53PROTEUS运行按键29图54PROTEUS仿真图30图55STC89C52单片机引脚图30图56键盘输入模块31图57密码显示模块31图58晶振及复位电路32图59掉电存储及报警电路32图510开锁电路33表格清

9、单表31LCD1602引脚接口说明表8表32LCD1602基本操作程序155引言在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁电子密码锁,提供了很大的发展空间。从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和取款机,由于人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对

10、特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等缺点,再加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接受程度,键盘式电子密码锁是这类电子防盗产品的主流。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用也日趋重要。电子密码锁是集计算机技术、电子技术、数字密码技术为一体的机电一体化高科技产品,具有安全性高,使用方便等优点。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的

11、性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。本次毕业论文主要分为两大模块,一是硬件系统电路部分,另一个是用C语言编写的软件程序部分,基本能完成电子密码锁的开锁、修改密码、密码错误报警等主要功能,成本低,可靠性高,具有很好的市场应用价值。6第1章绪论11电子密码锁的背景与研究意义在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新

12、型的锁电子密码锁,提供了很大的发展空间1。本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共8位密码,每位的取值范围为18,用户可以自行设定和修改密码,每个密码按键都有声、光提示。用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警十分钟,期间输入密码无效,以防窃贼多次试探密码。八位密码同时输入正确,锁才能打开。锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。其特点如下1保密性好,编码量多,远远大于弹子锁。随机开锁

13、成功率几乎为零。2密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3误码输入保护,当输入密码多次错误时,报警系统自动启动。4无活动零件,不会磨损,寿命长。5使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6电子密码锁操作简单易行,一学即会。12电子密码锁的现状及发展趋势在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。在安全技术防范领域,随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的

14、功能外,还引入了智能化、科技化等功能,从而使密码锁具有很高的安全性、可靠性。最早的锁,是主人为防他人开启而设的简单的机关,应用于门上最简单的锁就是门闩了。我国古代有石锁,并无钥匙,是以绳索或铁链束缚。商周时期出现了用钥匙才能开启的铜锁,铁锁,以钥匙的不同而匹配不同的锁。随着科学技术的迅猛发展,机械锁也有了长足的发展。现代机械锁具已有了一百多年的历史,锁芯里加入了长短不一的弹子,要外线用相应齿形的钥匙来打开。以后,又发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。如指纹、眼底视网膜等)来控制锁的开启

15、。我国锁的发展已绵延了数千年,中国锁具的发展,大体经历了初创期,发展期和繁荣期三个阶段。初创期为新石器时代到夏商时期。在我国母系社会后期(相当于公元前5000年公元前2000年),因为当时社会生产力的提高,人类开始拥有个人的私有(少量)财产。后来,随着私有制的发展,私人财富越来越多,为了保护财产和生命7的安全,人类开始了对锁具的探索。在最初,人类只是简单地把个人贵重财物用兽皮包起来外面用绳索牢牢捆缚,最后在开启处,打上特殊的紧紧捆死的绳结,只能用一个叫“错”的工具才能挑开。错,又叫“肖”、“起子”。它用兽牙或兽骨制成,形状像把镰刀状的钩子,实际上绳结就是最早的锁具,“肖”就是最早的钥匙,这就是

16、我国锁具的雏形,一直从商代沿用到汉代。到了距今5000年的仰韶文化时期,我们先民创造了装在木结构框架建筑上的木锁。这是世界上迄今为止最古老的锁具,可称得上是“世界第一锁”。2这种木锁一直在民间传承。发展期为春秋战国经秦汉、魏晋、南北朝,直到隋唐宋元时期。春秋时期进入铁器时代,考古证明,在这一时期人们大量的是使用铁锁、铜锁,还有银锁、鎏金锁等,其中有代表性的如西周的青铜锁、东汉的金属锁、唐代的虾尾银锁和宋代的方身锁等,都具有相当高的技术水平。繁荣期为明清时期特别是汉代的铁制三簧锁,在我国前后沿用了1000多年。各种材质的锁具同步发展,以铜锁、铁锁居多,工艺更加精巧,在开锁难度和外形制造上有很大的

17、创新。现代锁具,它的机械化生产,摆脱了过去我们用手工操作的束缚。它不仅是能批量生产,满足人民生活的需要;同时,也充分运用了现代科学,创造了磁控锁、声控锁、遥控锁、远红外线锁、电子卡片锁、指纹锁、超声波锁、电磁波锁等绝妙精品,大大提高了防窃、防盗功能。从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和取款机,由于人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损

18、坏等缺点,再加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接受程度,键盘式电子密码锁是这类电子防盗产品的主流。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用也日趋重要。电子密码锁是集计算机技术、电子技术、数字密码技术为一体的机电一体化高科技产品,具有安全性高,使用方便等优点3。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当

19、然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提

20、高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高4。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。8当今电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普

21、及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的5。发展前境也是非常大的。13本章小结本章首先讲述了本文的选题来源及研究意义,然后讲述了电子密码锁在国内的发展过程及特点,最后叙述了当前电子密码锁的应用及发展前景。9第2章系统整体方案设计21设计目标本设计采用STC89C52单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器LCD1602和密码存储AT24C02等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开

22、锁电路或者报警电路控制开锁还是报警,组成的电子密码锁系统,能够实现1完全正确输入八位密码的前提下,有开锁提示;2错误输入密码情况下,蜂鸣器报警;开锁密码错3次要报警10分钟,报警期间输入密码无效。3用户可以自行设定和修改密码;4只有内部上电复位时才能设置或修改密码。系统整体设计框图如图21所示图21系统整体设计框图22主控部分的选择方案一采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,将密码保存在JK触发器中,与输入密码通过比较器比较,判断结果是否相符合4。采用数字电路设计的方案好处就是设计简单,但控制的准确性和灵活性差,故不采用。方案二采用以单片机为核心

23、的控制方案选用单片机作为系统的核心部件,实现控制与处理的功能。单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接液晶显示(LCD),键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标6。因此综合考虑,本系统采用方案二。23密码输入方式的选择输入电路存储模块晶振电路主控芯片显示电路输出电路10方案一指纹输入识别指纹识别技术主要涉及四个功能读取指纹图像、提取特征、保存数据和比对。通过指纹读取设备读取到人体指纹的图像,然后要对原始图像进行初步的处理,使之更清晰,再通过指纹辨识软件建立指纹的特征数据。软件从指纹上找到被称为

24、“节点”(MINUTIAE)的数据点,即指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。通常手指上平均具有70个节点,所以这种方法会产生大约490个数据。这些数据,通常称为模板。通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果,从而判断输入结果的正确与否。考虑到本方案软硬件太过复杂,而且成本也高,故不采用。方案二矩阵键盘输入识别由各按键组成的矩阵键盘每条行线和列线都对应一条I/O口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个I/O口线,就可以确定哪

25、一个键被触动。行线设计成上拉口线,初始时被置高电位,列线悬空,初始置低。通过不断读行线口线,或者中断方式触发键位扫描。当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。每个按键都可通过程序赋予功能,从而完成密码识别本方案简单易行,故采用。24本章小结本章主要围绕电子密码锁系统展开,首先说明了电子密码锁的组成,然后介绍了主控制方案、密码输入方案论证与比较,最终选择了最优方案。11第3章硬件系统设计31系统芯片介绍311单片机STC89C52功能介绍STC89C52是51系列单片机的一个型号,它是STC公司生产的。ST

26、C89C52是一个低电压,高性能CMOS8位单片机,片内含8KBYTES的可反复擦写的FLASH只读程序存储器和256BYTES的随机存取数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,兼容标准MCS51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大的STC89C52单片机可提供许多较复杂系统控制应用场合。STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,STC89C52可以按照常规方法进行编程,但不可以在线编程S系列的才支持在线编程。其将通用的微

27、处理器和FLASH存储器结合在一起,特别是可反复擦写的FLASH存储器可有效地降低开发成本7。STC89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。其引脚图如图31示。P101P112P123P134P145P156P167P178RST9P30RXD10P31TXD11P32INT012P33INT113P34T014P35T115P36WR16P37RD17XTAL218XTAL119GND20P20A821P21A922P22A1023P23A1124P24A1225P25A1326P26A1427P27A1528PSEN29ALE/PROG30E

28、A/VPP31P07AD732P06AD633P05AD534P04AD435P03AD336P02AD237P01AD138P00AD039VCC40图31STC89C52引脚分布图STC89C52具体介绍如下主电源引脚(2根)VCCPIN40电源输入,接5V电源GNDPIN20接地线外接晶振引脚(2根)XTAL1PIN19片内振荡电路的输入端XTAL2PIN20片内振荡电路的输出端控制引脚(4根)RST/VPPPIN9复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。12ALE/PROGPIN30地址锁存允许信号PSENPIN29外部存储器读选通信号EA/VPPPIN31程序存储器的

29、内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根8。P0口(PIN39PIN32)8位双向I/O口线,名称为P00P07P1口(PIN1PIN8)8位准双向I/O口线,名称为P10P17P2口(PIN21PIN28)8位准双向I/O口线,名称为P20P27P3口(PIN10PIN17)8位准双向I/O口线,名称为P30P37312LCD1602显示器介绍液晶显示模块已作为很多电子产品中都可以看到,显示的主要是数字、专

30、用符号和图形。1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602型LCD可以显示2行16个字符,有8位数产品的通过器件,如在计算器、万用表、电子表及很多家用电子据总线D0D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。引脚功能说明LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明,如表31所示表31LCD1602引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使

31、能信号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端由高电平跳变成低电平

32、时,液晶模块执行命令。第714脚D0D7为8位双向数据线。第15脚背光源正极。第16脚背光源负极。13313存储芯片AT24C02介绍AT24C02是美国ATMEL公司的低功耗CMOS型EPROM,内含2568位存储空间,具有工作电压宽2555V、擦写次数多大于10000次、写入速度快小于10MS、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了IC总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。AT24C02中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作

33、方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。I2C总线是一种用于IC器件之间连接的二线制总线。他通过SDA串行数据线及SCL串行时钟线两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。AT24C02正是运用了IC规程,使用主/从机双向通信,主机通常为单片机和从机AT24C02均可工作于接收器和发送器状态。主机产生串行时钟信号通过SCL引脚并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。AT24C02的控制字由8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送

34、的方向。管脚描述SCL为串行时钟串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚。SDL为串行数据/地址双向串行数据/地址管脚用于器件所有数据的发送或接收SDL,是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或。A0、A1、A2为器件地址输入端当使用24C02时最大可级联8个器件,如果只有一个24C02被总线寻址,这三个地址输入脚A0、A1、A2可悬空或连接到VSS。WP为写保护如果WP管脚连接到VCC所有的内容都被写保护只能读当WP,管脚连接到VSS或悬空,允许器件进行正常的读/写操作12。管脚图如图32所示。图32AT24C02引脚图314I2C总线介绍I2C

35、INTERINTEGRATEDCIRCUIT总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。I2C总线的硬件结构I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟14线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须是开漏输出或

36、集电极开路输出。设备上的串行数据线SDA接口电路应该是双向的,输出电路用于向总线上发送数据,输入电路用于接收总线上的数据。而串行时钟线也应是双向的,作为控制总线数据传送的主机。总线的运行(数据传输)由主机控制。所谓主机是指启动数据的传送(发出启动信号)、发出时钟信号以及传送结束时发出停止信号的设备,通常主机都是微处理器。被主机寻访的设备称为从机。为了进行通讯,每个接到I2C总线的设备都有一个唯一的地址,以便于主机寻访。主机和从机的数据传送,可以由主机发送数据到从机,也可以由从机发到主机。凡是发送数据到总线的设备称为发送器,从总线上接收数据的设备被称为接受器。总线的构成及信号类型I2C总线是由数

37、据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100KBPS。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。I2C总线在传送数据过程中共有三种类型信号,它们分别是开始信号、结束信号和应答信号。开始信号SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。应答信号

38、接收数据的IC在接收到8BIT数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障9。如图33所示图33开始结束信号图目前有很多半导体集成电路上都集成了I2C接口。带有I2C接口的单片机有CYGNAL的C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外围器件如存储器、监控芯片等也提供I2C接口。总线基本操作I2C规程运用主/从双向通讯。器件发送数据到总线上

39、,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。总SDASCL开始结束15线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件10。1)控制字节在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义,EEPROM一般应为1010),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。2)写操作写操作分为字节写和页面写两种操作,对于页

40、面写根据芯片的一次装载的字节不同有所不同。3)读操作读操作有三种基本操作当前地址读、随机读和顺序读。图4给出的是顺序读的时序图。应当注意的是最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机必须在第9个周期时发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。32硬件电路设计本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报

41、警。本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、复位部分、晶振部分、显示部分、报警部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、键功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。321复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即RST为高电平期间),P0口为高组态,P1P3口输出高电平;外部程序存储器读选通

42、信号PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选择如图34所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C1上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容C1通过R5放电。当电容C1放电结束后,RST端的电位由R1与R2分压比决定。由于R113报警程序修改程序YNNY开始返回23图4

43、2按键功能流程图422按键功能子程序VOIDCHECK_KEYVOIDUNSIGNEDINTROW,COL,TMP1,TMP2TMP10X10/TMP1用来设置P1口的输出,取反后使P11P17中有一个为0FORROW0ROW3输新密码Y再次输新密码Y设设置置成功NY两次新密码输入相同开始返回设置成功25432密码设置子程序IFSK111PRINT“OLDCODE“/提示输入旧密码PASS1COUNT10COUNT0COUNT71COUNT21COUNT60SK110IFCOUNT0/输出显示IFCOUNT1GOTOXY0,0PRINT“OLDCODE“IFCOUNT0IFCOUNT1GOTO

44、XY0,0PRINT“NEWCODE“IFSK141PRINT“NEWCODE“PASS01PASS0SK140COUNT0COUNT70N0M0ELSEGOTOXY0,0PRINT“OLDCODEWRONG“/旧密码输入错误SK140COUNT20COUNT70PASS0M0IFPA10NPA10IFSK141IFN7PRINT“SETOVER“/旧密码输入正确,存新密码44开锁软件设计441开锁程序流程图如图44为开锁流程图,开始时按开锁键,输入密码,如果输入正确,则开锁成功。如果输入错误累计达到三次,则执行报警程序。26图44开锁流程图442开锁功能子程序IFSK151/提示输入密码GO

45、TOXY0,0;COUNT0PRINT“CODE“COUNT11COUNT21COUNT61SK150SK140M0CP01IFCOUNT0PRINT“CODE“COUNT10IFSK141PRINT“DOOROPEN“初始化按开锁键输入密码按确认键所输入密码正确Y开锁开锁输入次数加1次数3报警程序返回返NYN开始开锁返回27SK140COUNT0COUNT20M0COUNT41COUNT61DELAYMS1000P2_00DELAYMS500P2_01LCD_INITIALCP00ELSEGOTOXY0,0PRINT“CODEWRONG“DELAYMS1000SK140COUNT0COUNT

46、20COUNT60M0P3_60COUNT41COUNT61DELAYMS1000DELAYMS100DELAYMS3000P3_61LCD_INITIALCP00/密码错误45本章小结在单片机应用系统中,除了注意硬件电路的正确设计外,还要考虑系统软件的设计。本章主要根据系统功能,介绍了本设计的软件流程图的设计,确定系统的总体结构和操作控制过程,然后介绍了按键功能子程序设计、密码设置子程序设计、开锁功能子程序设计等。28第5章系统仿真、调试及结论51PROTEUS软件简介PROTEUSISIS是英国LABCENTER公司开发的电路分析与实物仿真软件。它运行于WINDOWS操作系统上,可以仿真、

47、分析各种模拟器件和集成电路,该软件的特点是实现了单片机仿真和数字电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具

48、有这些功能;同时支持第三方的软件编译和调试环境,如KEILC51UVISION2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和电路分析于一身的仿真软件,功能极其强大。本章介绍PROTEUSISIS软件的工作环境和一些基本操作。52进入PROTEUSISIS双击桌面上的ISIS6PROFESSIONAL图标或者单击屏幕左下方的“开始”“程序”“PROTEUS71PROFESSIONAL”“ISIS71PROFESSIONAL”,出现如图51所示图51PROTEUS启动时的屏幕53工作界面PROTEUSISIS的工作界面是一种标准的WINDOWS界面,如图52所示。包括标题栏、主菜

49、单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。29图52PROTEUSISIS的工作界面运行PROTEUS程序后,进入软件的主界面。通过左侧工具栏中的P从库中选择元件命令命令,在PICKDEVICES左侧窗口中选择所需元件的关键字,然后放置元件并调整方向和位置以及参数设置,进行连线。最后载入HEX文件后可以进行模拟仿真,可以全速运行也可以单步调试运行。图53PROTEUS运行按键在利用PROTEUS进行仿真的条件下,通过不停的调试与改正,显示屏LCD1602不能显示任何内容,最后还是不能实现密码锁的功能,其PROTEUS仿真如图56所示。30XTAL218XTAL119ALE30EA31PSEN29RST9P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD633P07/AD732P101P112P123P134P145P156P167P178P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A152

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。