【电子信息工程毕业设计】红外遥控电子密码锁设计—硬件设计

【电子信息工程毕业设计】红外遥控电子密码锁设计—硬件设计

ID:481835

大小:1.61 MB

页数:36页

时间:2017-08-09

上传者:U-944
【电子信息工程毕业设计】红外遥控电子密码锁设计—硬件设计_第1页
【电子信息工程毕业设计】红外遥控电子密码锁设计—硬件设计_第2页
【电子信息工程毕业设计】红外遥控电子密码锁设计—硬件设计_第3页
【电子信息工程毕业设计】红外遥控电子密码锁设计—硬件设计_第4页
【电子信息工程毕业设计】红外遥控电子密码锁设计—硬件设计_第5页
资源描述:

《【电子信息工程毕业设计】红外遥控电子密码锁设计—硬件设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

(20__届)本科毕业设计红外遥控电子密码锁设计—硬件设计35 摘要目前随着科技水平的提高,具备远程遥控和报警能力的电子密码锁种类逐渐增多,开始成为人们日常生活中财产保护的一个良好选择。针对传统机械锁的一些缺点和重要部门的安全性要求,提出一种基于红外遥控的密码锁设计方案。本设计以51系列单片机(STC89C52)为核心,基于红外线遥控通信原理及相关编码解码技术,配以红外遥控收发设备、液晶显示器、4*4矩阵键盘等外围扩展电路,实现利用红外遥控器以及矩阵键盘对该智能密码锁的上锁,开锁,报警等功能。同时在此基础上,通过E2PROM的扩展,实现对6位密码任意修改,保存的功能。本文在详细叙述上述硬件电路设计的基础上,还对软件设计进行了简要的介绍。该种电子密码锁具有保密性强,灵活性好,适用范围广的特点,在应用上比较适合家庭,车库,工厂等场所。关键词:STC895C2红外遥控电子密码锁35 TheDesignofElectronicCodeLocksBasedonInfraredRemoteControl--HardwareDesignAbstractWiththedevelopmentoftechnology,electroniclockswithremotecontrolandalarmsystemarewidelyusedasagoodchoiceinourdiary.Thispaperintroducesatypeofremote-controledelectroniccodelockdesignedwith51series(STC89C52)asthecore,coupledwithinfraredremotecontroldevices,liquidcrystaldisplay,4*4matrixkeyboardandotherperipheralexpansioncircuit,achievingthefunctionsofpassword'sdisplay,store,modify,andalarm.Inthedisign,weadopttheinfraredasthemedium,soourmaintheoryisbasedontheinfraredremotecontrolaboutcodinganddecoding.Theseelectroniclockshasadvantagesofgoodflexibility,widerangeofapplicationsandhighsecurity,andtheyaresuitableforthehome,garage,factoriesandotherplaces.Keywords:STC89C52InfraredRemote-controlElectroniccodelock35 目录摘要IVAbstractV1绪论11.1课题研究意义11.2红外线遥控电子密码锁发展现状11.3市场发展前景31.4课题研究的主要内容32方案设计与总体设计52.1设计任务和要求52.2方案设计52.3方案评价63系统硬件电路设计83.1红外遥控技术83.1.1红外通信概况83.1.2硬件介绍83.1.3红外传输实现原理93.24*4矩阵键盘103.31602液晶显示123.4蜂鸣器报警模块133.5STC89C52单片机解锁143.5.1时钟电路153.5.2复位电路164软件设计简述184.1系统软件总体设计方案184.2红外遥控模块流程图194.3矩阵键盘模块流程图1935 结论21参考文献22致谢23附录24附录1电路原理图24附录2PCB板绘制图25附录3实物拍摄图26附录4系统软件主程序2735红外遥控电子密码锁设计—硬件设计35 红外遥控电子密码锁设计—硬件设计1绪论1.1课题研究意义随着社会科技进步,电子产品向智能化和微型化不断发展,单片机已成为电子产品研制和开发工作者的首选控制器。而伴随电子技术的不断提高,给古老的锁具生产也带来了巨大的改革,诸如磁卡锁、指纹锁等新一代密码锁都应运而生。这些锁具大多是通过密码输入控制电路或芯片来控制了机械开关闭合,完成开锁任务的电子产品。这其中有许多不同类型的产品,有简单的电路,也有以成本较高的芯片为基础的产品。现在的电子锁更广泛的是以芯片为核心以编程实现具体功能的。相较于以前的机械锁,他们有很多优点:保密,编码量多,随机开锁成功率几乎为零,密码可变。这些电子锁虽然其保密性高,使用灵活性好,安全系数高。他们的出现帮助人们更好的保护自身财产安全,但是这些锁不能实现远程遥控控制限制了其在日常生活中的进一步推广,所以对具有远程控制优点的红外线遥控电子密码锁的研究具有很高的学术及使用价值。一是因为红外遥控器有许多优点,如红外线发射装置,因为使用的是红外线发光二极管,这种微型遥控器操作容易,价格便宜;数字信号调制编码和二次调制的处理方式,不仅可以控制多渠道的信息,以增加远程控制功能,而且可以提高信号传输的抗干扰能力,减少故障,实现低功耗;红外线不会泄漏到外面,没有串扰影响,反应速度快,传动效率高,因此稳定可靠。二来是因为现有的工业生产环境中,在普遍的高压,辐射,有毒气体,粉尘等环境下,红外遥控器的使用不仅完全可靠,还可以可有效地隔离电气干扰。因此,红外遥控器是通信和远程控制的最广泛使用的手段。1.2红外线遥控电子密码锁发展现状从无到有,锁具发展至今,其历史可以大致分为五个阶段:(1)古代木锁;(2)古代机械锁;(3)现代机械锁;(4)一般电子锁,磁卡锁,环保卡锁;(5)遥控电子锁,特定场合使用电子锁。35 红外遥控电子密码锁设计—硬件设计目前在各种场合,最常见的为五十年代意大利设计的机械锁,该锁结构简单,使用方便,价格便宜,但使用中也发现了很多缺点:(1)由金属制成的这种机械锁,通过钥匙的不同齿形与锁芯的嵌合来实现开锁,这样的一个开锁原理决定了他的安全性会比较低,据统计,每四千把锁中就有两个锁的齿牙类似或相同。(2)当用户钥匙丢失时,个人的财产受到很大威胁,不能得到保障,因为无论是谁拿起钥匙都可以打开门;(3)机械锁的材料,主要是黄铜,质地柔软,容易损坏。之后发明的锁,选择使用密码来解锁而不是继续沿用机械解锁的方式,这是锁发展史上重大的一个进步,这不但大大提高了使用的灵活程度与便携性,同时也解决了上一代机械锁安全性差的缺点,大大提高了密保性能,比如我们使用一个六位密码的密码锁,这时密码最多就能产生105个组合,具有这样的一个基数的密码能够很好的保证个人物品的安全。在我们现在的实际生活中基本上把密码锁分为机械锁,磁卡锁,指纹锁,电子锁等几种。自发明锁依赖,每个国家都已开始进行这方面的研究。80年代,日本发明了首个电子锁。之后随着日本经济的进一步复苏,电子产业进入快速发展阶段,一些使用简单的门锁电路设计出现。这类电子锁作为第一代产品,不可避免的存在着安全性差,易产生裂纹等缺点。到90年代,在微电子和通信技术大跨步发展的大背景下,以美国意大利德国为代表的世界强国及地区都对电子密码锁的技术进行了升级与提升,也从此时开始进入了锁的实际应用阶段。中国是从90年代初开始对电子密码锁初步探索。到目前为止,在这方面得到了长足的发展,更多的利用不同的芯片及电路的密码锁设计,技术也更加先进,但我们需要知道,在出口产品高端产品只有15%-20%左右的份额,而即使是中国的高端产品,在发达国家却只能算是中档产品,价格也十分低廉。此外,目前中国的的出口产品与国外产品相比,无论是从品牌知名度还是从产品的价格来说,都依旧存在着很大的差距。随着电子技术的日趋成熟,家庭,宾馆已经开始使用电子门,同时更多的电子锁也开始应用到了保管贵重物品及机密文件之中。小型便携式电子锁可广泛应用于各种场合,其结构简单,成本低,安全性高。电子密码锁系统通常的组成包括了电路部分以及机械解锁部分。电路部分系统通常是通过ASIC35 红外遥控电子密码锁设计—硬件设计(专用集成电路)芯片控制,也有部分电路是利用微控制器和逻辑门以及其它控制方法来实现不同的功能。现有的电子密码锁,基本上是通过键盘输入用户密码的接口电路,然后控制器进入工作流程,将预设密码与用户输入密码进行比较,确认完全一样时,发送一个信号至功率放大器进行功率放大,从而带动机械部件执行开锁动作。但是大部分的电子密码锁在远程控制能力上还是有很大的限制,针对这种情况,而红外线控制的解锁方式能很好的解决这个问题,并有效提高门禁系统的可靠性和安全性,适应市场需要。该系统具有普通电子密码锁功能的同时,还增加了遥控功能。该系统具有较强的实际应用价值,所涉及的技术包括:红外载波数据传输技术、单片机控制技术、红外遥控系统编码及译码技术、电路设计与演示板制作技术等。1.3市场发展前景目前,我们可以发现市场上使用率比较高的智能锁有IC卡密码锁、射频卡密码锁、红外遥控密码锁、指纹识别密码锁和瞳孔识别密码锁等。其中IC卡密码锁成本低,体积小,卡片本身无须电源等优点使其占领了一定的市场份额,但是因为有机械接触,会产生接触磨损,而且使用不太方便,一定程度上限制了它的应用;射频卡密码锁属于非接触式密码锁,成本不高,体积适中,卡片使用感应电源,重量很轻,技术成熟,受到了广泛的欢迎,但是与IC卡密码锁相比,成本偏高;指纹识别密码锁和瞳孔识别密码锁统在可靠性、安全性方面是目前门禁系统中最高的,但是成本高昂,离大众化还有很长的距离;而红外遥控密码锁系统的成本与接触式密码锁系统相当,但是进行近距离遥控时,其遥控距离远大于射频卡密码锁的遥控距离,低耗很低,可以使用普通碱性电池供电,使用十分方便。红外遥控密码锁系统成本低廉,,经过进一步的优化设计,成本也可进一步降低。据此分析,红外遥控密码锁在未来还是具有十分广阔的市场前景。1.4课题研究的主要内容在本课题中研究的主要内容是针对红外遥控密码锁硬件部分的设计与开发锁展开,系统是以51系列单片机为核心,基于红外遥控技术理论,在外接电路包括矩阵键盘、液晶显示及蜂鸣报警等模块的一起工作下,实现对电子密码锁的上锁解锁和操作过程中密码的显示、修改与保存等功能,同时满足红外信号对系统远程遥控的设计要求。35 红外遥控电子密码锁设计—硬件设计对系统开发来说,硬件电路的设计开发是软件功能实现的基础,因此硬件电路设计的合理与否关系到整个系统开发是否成功。在设计中,首先需要做好对系统各功能模块的划分,确定总体设计思路。之后主要的研究内容是对各模块所需使用的芯片及元器件的选择,在这里我们需要从性价比、工作性能、稳定性等多方面来考虑,保证最后设计完成的系统能够正常稳定工作。最后我们在各模块划分明确及元器件选用方案明确后,在PROTEL软件上进行硬件电路图设计,并提供含有元件封装的PCB电路板绘制图。在设计中要求以单片机为核心控制,对单片机的各接口进行合理设计,正确驱动系统中各元器件正常工作,同时针对单片机还需做好晶振和复位电路的设计,保证单片机工作频率稳定以及在处于死循环模式时系统能够及时初始化。结合软件系统的功能开发,我们需要让此系统完成实现以下几点:(1)红外遥控信号的接收(遥控距离达到8-10米);(2)键盘输入、本机设置的键盘信息管理功能;(3)单人电控锁开锁、关锁的控制功能;(4)报警长鸣功能。[1-3]35 红外遥控电子密码锁设计—硬件设计2方案设计与总体设计2.1设计任务和要求1.输入正确密码后按确认键自动解锁;2.红外遥控信号的接收(遥控距离达到8-10米);3.键盘输入、本机设置的键盘信息管理功能;4.密码输入出错长鸣报警5.具有安全性,加密能力强和较强的抗干扰能力。2.2方案设计根据本系统的设计要求,在硬件部分本设计将基于STC89C52单片机为控制核心,并分为红外遥控,单片机控制,蜂鸣器报警,LCD1602液晶显示,4*4矩阵键盘以及电源等几个模块。系统设计原理图如图2-1所示:蜂鸣器STC89C52单片机1602液晶LCD红外发射器键盘电源红外线接收器晶振复位图2-1红外线电子密码锁硬件设计总体方案在本设计中单片机主要用于控制和处理各功能模块的工作间的互相连接,实现电子密码锁的开启、密码修改和操作信息内容的提示等功能。各模块功能如下:(1)控制模块:主控电路模块以单片机STC89C52为核心元件。单片机对从红外信号接收器处接收到的数字信号进行处理,利用这些指令控制电子密码锁的运行。35 红外遥控电子密码锁设计—硬件设计(2)红外接收模块:当遥控器按键被按下时,输出一定数量已经过调制的脉冲信号。当接收器收到发射器的红外指令信号时,它将红外信号变成TTL电平信号,再经放大、解调、整形、解码处理后送入CPU,由CPU进行识别处理,以控制电子密码锁的工作。(3)数据存储模块:此模块采用I2C总线对外部存储器(E2PROM)进行密码的读/写操作。在存储器中我们会预设一个初始密码,用户使用过程中可以根据个人需求添加更多密码,以达到多用户模式的要求。(4)键盘与显示模块:此模块工作时,单片机向LCD显示屏的串口发送数据,当串口接收到一串数据后,显示屏能实现数字的显示、清屏等操作。同时在显示输入密码的过程中,为了保证用户个人财产安全,防止密码外泄,显示器上并不显示键盘输入的数字而是以特殊符号*显示,(6)报警模块:当三次密码输入出现错误时,单片机则向蜂鸣器发出驱动信号,使电子密码锁自动报警。(7)电源模块:采用直流+5V电源向STC89C52,LCD1602,0038B等元件供电,保证他们的正常工作运行。[5-6]2.3方案评价在本设计方案中,在核心控制的CPU上选用STC系列的单片机89C52,STC89C52是一种带8K字节可编程可擦除只读存储器的低电压、高性能CMOS8的微处理器,此芯片可实现的主要功能及特性见表2-1。主要功能特性兼容MCS51指令系统8K可反复擦写FlashROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能表2-1STC89C52STC89C52与同类的单片机相比,在以下几方面也有着比较突出的优势:(1)强大的加密能力,很难解密或破解,且解密成本高,这有效遏制了大量放着盗版者的非法破解;(2)优良的抗干扰能力:防静电(ESD保护);宽电压;工作温度区间大;设计上的优化处理;35 红外遥控电子密码锁设计—硬件设计(1)单片机芯片外部的电磁辐射进行专门设置:禁止ALE输出;(2)低功耗;(3)可编程系统,可进行远程升级;(4)可下载到ISP编程器,1万/人/天;(5)可使用内部集成MAX810复位电路;综合上述优点,采用STC89C52单片机来完成红外线遥控密码锁的硬件部分设计工作是比较合适的,考虑到他的工作稳定,功耗低,干扰小等特性,都满足此次设计的要求。液晶显示模块体积小,功耗低,显示内容丰富,使用起来超薄轻巧,因此在低功耗应用系统中的使用也越来越普及,现在这种字符型液晶显示模块是单片机系统设计中最常用的信息部件,在设计中,选用了LCD1602液晶显示模块,他可以显示两行,每行可以显示16个字符,该元件采用+5V单电源供电,外围电路配置简单,成本低,性价比较同类产品出色。因为单片机的I/0口数量较少,而考虑到本设计中包括0-9的数字键还有开锁键,修改键,清除键等功能键,所以选用4*4的矩阵键盘来实现外部信息的输入,N*M的矩阵键盘使用简单,原理易懂,同时最重要的是节省了89C51的I/0口占用,可以将节约下来的串口外接其他电路,实现其他设计要求。红外遥控模块选用的的是基于TC9012的红外遥控器,9012是专门用于红外遥控系统的专用发射集成电路,采用CMOS工艺,TC9012的管脚设置和外围应用电路都进行了高度的优化,以配合PCB的布图和低成本的要求,电路工作时有正常工作模式和低功耗模式两种,状态的合理切换大大降低了功耗。因为TC9012出色的性能控制和广泛的应用,在这次的红外线遥控功能中也选了这款芯片。最后在红外信号接收选取0038B,一来是因为元件本身应用场所广泛,使用简单,也比较容易获得,另外重要的其工作特性适合满足于电子密码锁的功能要求。电子密码锁硬件设计各模块功能及具体参数特性将在模块功能设计中具体阐述。35 红外遥控电子密码锁设计—硬件设计3系统硬件电路设计3.1红外遥控技术3.1.1红外通信概况红外通信简单来说就是要利用红外技术在短距离的两点间实现信息的互相传输与转发。它一般由红外发射和红外接收两部分组成的系统。发射系统首先需要通过一个红外信号发射器调制出一个红外信号,之后接收器的光学器件和红外探测器便负责对此信号的接收与解调,这样一发一收的过程就构成了一个简易的红外通信系统。红外线是一种波长介于750nm至1mm之间的电磁波,频率高于微波,但又低于可见光的频率,人类通过肉眼是无法看到的。红外通讯中使用的红外信号一般是选择红外波段中的近红外线,波长范围介于0.75um至25um两者中。红外数据协会(IrDA)在其成立后,为确保来自不同厂商的产品获得最佳的通信效果,建立了一个红外通信协议标准,在标准中规定用于红外数据通信的红外光波长的范围限制在850nm至900nm之间。红外通信的基本原理是在发送端将基带信号(二进制)调制成脉冲序列信号(载波信号),然后经过一系列处理后再通过红外发射管发射调制完成的红外线信号。常用的脉冲调制方式包括改变脉宽来调制信号的调制(PWM)和通过改变脉冲串之间的时间间隔来实现信号调制(PPM)等两种方式。现在脉冲时间调制(PPM)是红外数据协会(IrDA)和国际电工委员会(IEEE)建议的调制方式,因此在各类产品和设计中运用的也都是PPM脉冲时间调制。本设计也是基于PPM调制进行的红外信号传输。3.1.2硬件介绍红外线远程遥控模块由发射和接受两部分组成。模块图如下图3-1所示。图3-1红外信号接收器0038B35 红外遥控电子密码锁设计—硬件设计发射部分即一个内置红外发射模块的遥控器,遥控器上额的每一个按键对应一个编码,而接受模块则选用0038B专用芯片。模块工作时,用户按下按钮,由遥控器内置程序对输入的数据进行编码调制(同时将所得编码调制到一个高频信号上,以减小功率损耗),然后通过红外发光管将信号发射,接受过程与发射过程刚好相反,由0038B芯片将所接受到的红外信号放大并解调(去除高频载波),再进行解码,这样一个完整的发射接收过程完成,交由STC单片机进行之后的处理。现在对0038B进行一下介绍,0038B的管脚分布如图3-2所示,2脚、3脚分别为地电源和地,1脚是解调信号输出口,其电平与TTL兼容。[7-11]图3-20038B引脚图0038B红外信号接收芯片是一种黑色环氧聚光镜,筛选去除了可见光的干扰。PIN红外接收管,选频放大器和解调器是0038B的主要组成部分。当红外线发射器发送到空间中的红外信号被0038B检测并接收到后,它的内部PIN引脚就会将红外信号转换为电信号,再将此电信号放大至选定的频率,解调后就会将信号由1脚输出并送至微处理器进行处理。0038B在信号接收上也进行了专门的处理:当接收到频带内的红外信号时,0038B接收器会输出低电平,否则就输出高电平,从而让在空间传输过程中并不十分稳定的红外信号解调成连续方波信号,易于单片机进行处理。选用0038B芯片作为红外信号接收模块元件还考虑到了该芯片的稳定性好,抗干扰能力很强,外围电路非常简洁,成本也比较低,适用于各种红外遥控和红外数据传输,是理想的红外线接收放大器元件。0038B芯片上内置了许多单位电路诸如前置放大器、限幅放大器、信号带通滤波、检测信号、施密特校对器,芯片处理完成后所输出信号为标准TTL电平信号。同时,0038B环氧树脂经特殊红外滤光片处理后,具备了优良的抗干扰能力,防止影响红外信号收集的自然光脉冲输出。3.1.3红外传输实现原理红外通信中,我们以脉冲的占空比大小来区分信号为‘0’或为‘1’;脉宽为0.565ms,间隔0.56ms,周期为1.125ms的信号识别其为二进制‘0’;脉宽为0.565ms,间隔为1.685ms,周期为2.25ms的信号则认为二进制‘1’。波形图如图3-3所示。35 红外遥控电子密码锁设计—硬件设计图3-3‘0’码和‘1’的识别遥控器产生的代码是一个连续的32位二进制代码组,前16位,是用户可以用了区分设备而设的标识符;后16位是8位操作码和反代码,可以生产多达128个不同的编码。当遥控器上一个键被按下超过36ms,芯片振荡器启用,将发出一组108ms的编码脉冲,这个108ms的脉冲由一个开始码(9ms),一个结果码(4.5ms),低8位地址码(9ms〜18ms),高8位地址码(9ms〜18ms),8位数据码(9ms〜18ms)和反码(9ms〜18ms)组成。如果键被按下超过108ms,则发送代码仅由最初的起始代码(9ms)和结束代码(4.5ms)的组成。解码的关键是如何确定'0'和'1','0'和'1'都是从0.56ms低电平开始,所不同的是不同的高电平时间,'0'是0.56ms,'1'是为1.68ms,所以必须根据不同的高电平持续时间来区别'0'和'1'。如果启动延迟从0.56ms后开始,0.56ms后读到低电平,表明该位为'0',反之为'1';为确保工作可靠性起见,延时必须超过0.56ms,但不能超过1.12ms,否则如果该位为'0',接下来看到的已经是下一位的高电平,所以延时时间取(1.12+0.56)/2=0.84ms更可靠。过程如图3-4所示。图3-4数据码的组成3.24*4矩阵键盘因为本系统需要用到10个数字按键以及三至四个系统功能键,需要用到的键盘数量比较多,为了节省I/O口,节省资源,我们选择使用4*4的矩阵键盘来作为输入模块,这样一个8位的I/O口就可以驱动16个键盘,大大提升了I/0口利用率。矩阵键盘硬件电路设计图如图3-4所示,键盘按键的具体设置则为图3-5所示35 红外遥控电子密码锁设计—硬件设计图3-54*4矩阵键盘硬件电路图321067547上锁开锁98清空保存重置图3-6矩阵键盘设置矩阵键盘中每一条水平(行线)与垂直线(列线)的交点并不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。我们设定P1.0-P1.3口为低四位并代表行线,而P1.4-P1.7为高四位并代表列线。当判断键盘中有无按钮按下时,我们可以按照以下流程来判断:将低四位输出低电平,高四位输出高电平,然后检测列线的电平高低情况,若所有列线电平均显示为高电平,则表明键盘没有动作发生。而若某位列线显示为0,则表示该列上有一个按钮被按下,之后依次将行线置为低电平,就是在置某根行线为低电平的条件下,剩余行线均置为高电平,若某一根行线置低后,检测到某一列为低电平,则该列线与置为低电平的行线交叉处的按键就是按下的按钮。35 红外遥控电子密码锁设计—硬件设计3.31602液晶显示LCD显示块是利用发光二极管显示字符的显示器件,在单片机应用系统中使用频率较高的是7段数码管,在本设计中,我们选用共阳极的数码管,这样当我们将单片机的P2并行输出口与数码管管脚对应相连时,8位并行输出口就能输出不同的字节数,从而即可获得不同的数字或字符。在液晶显示模块上我采用的是应用比较广泛的LCD1602,LCD1602是一种常见的通用型的双行16字符点阵液晶元件,内含数字、字母、符号192种(无汉字)字符库,可通过8位或4位的单片机进行显示字符的控制,通过编程可实现字行的上下滚页,左右移动,通过硬件连线可控制背景灯的对比度,背景灯的开关。其实现的主要功能:完成密码的输入、改密、开锁、关锁等功能的屏幕即时显示。LCD1602与STC89C52的电路引脚连接图如图3-7所示:[12-15]图3-71602液晶显示模块电路引脚图35 红外遥控电子密码锁设计—硬件设计引脚符号功能说明1VSS接地2VDD接电源(+5V)3V0液晶显示器对比度调整引脚,接地时对比度最高,接电源时则对比度最小(对比度过高时会产生“鬼影”,可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。5R/WR/W为读写信号端,高电平进行读操作,低电平进行写操作。6EE(或EN)端为使能端,下降沿有效。7DB0低4位三态、双向数据总线0位(最低位)8DB1低4位三态、双向数据总线1位9DB2低4位三态、双向数据总线2位10DB3低4位三态、双向数据总线3位11DB4低4位三态、双向数据总线4位12DB5低4位三态、双向数据总线5位13DB6低4位三态、双向数据总线6位14DB7高4位三态、双向数据总线7位(最高位)(也是busyflag)15BLA背光电源正极16BLK背光电源负极表3-11602引脚说明3.4蜂鸣器报警模块本次研究课题是红外线电子密码锁,目标是对个人财产的良好保护,因此我们需要在设计中加入报警模块,在密码连续错误时提醒用户以此来更好的保护个人财产的安全。电路设计如图3-8所示。图3-8蜂鸣器模块电路图35 红外遥控电子密码锁设计—硬件设计蜂鸣器接在STC89C52单片机的P2.3引脚上,通过NPN型三极管进行电流放大,由此可以通过单片机对报警声的频率及持续时间进行设置,而当连续三次密码输入错误时,单片机启动报警程序,由P2.3口输出低电平,三极管导通,蜂鸣器两端加电,产生长时间的报警音,这个设置同时也是为了防止他人对密码锁的多次非法试探。3.5STC89C52单片机解锁在这次设计中我们选用的单片机控制芯片是STC89C52芯片,相较于AT及STC其他系列的优点已经在前文的方案比较中列出,总体而言,STC89C52烧制程序简单,工作稳定高,兼容性好且抗干扰性强。单片机的电路设计图如3-9示:图3-989C52引脚连接图在设计图中的各个引脚介绍如下:1.主电源引脚(2根)VCC(P40):电源输入,接+5V电源GND(P20):接地线35 红外遥控电子密码锁设计—硬件设计2.外接晶振引脚(2根)XTAL1(P19):片内振荡电路的输入端XTAL2(P20):片内振荡电路的输出端3.控制引脚(4根)RST/VPP(P9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(P30):地址锁存允许信号PSEN(P29):外部存储器读选通信号EA/VPP(P31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。4.可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。P0口(P39~P32):8位双向I/O口线,名称为P0.0~P0.7P1口(P1~P8):8位准双向I/O口线,名称为P1.0~P1.7P2口(P21~P28):8位准双向I/O口线,名称为P2.0~P2.7P3口(P10~P17):8位准双向I/O口线,名称为P3.0~P3.73.5.1时钟电路STC89C52单片机内部内置一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是输入端和输出端。时钟信号可以选择由内部或外部方式产生。内部方式的时钟电路如图3-13所示,在RXD和TXD引脚上外接定时元件,内部振荡器就能产生自激,从而产生时钟信号。电路中的并联谐振回路通常选用石英晶体和电容来控制频率大小。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,由此可见,电容值的调整对频率起到微调的作用。而外部方式的时钟电路如图3-14所示,RXD接地,TXD接外部振荡器。在这个电路中对外部振荡信号没有特殊要求,只要求保证脉冲宽度即可,实际应用中选择比较多的是频率低于12MHz的方波信号。片内时钟发生器会把振荡频率两分频,产生一个两相时钟P1和P2,供单片机选择使用。在这次设计中,选用了简单的内部时钟电路产生晶振,内部方式产生时钟电路相对外部方式更易控制时钟信号的频率及频率的微调,晶振模块电路图如图3-10:35 红外遥控电子密码锁设计—硬件设计图3-10晶振模块设计图3.5.2复位电路单片机使用过程中复位电路的设置是非常必要的,复位是对单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元重新开始执行程序。除了让系统进入正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为使系统重新工作,也需按复位键重新启动。单片机复位时不单对PC寄存器初始化,对其他寄存器也均有影响。单片机的RST引脚是复位信号的输入端,复位信号为高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。而当我们使用颇率为6MHz的晶振时,持续时间应超过4us才能完成复位操作。整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2点对施密特触发器的输出信号进行采样,这样变得得到内部复位操作所需要的信号。在本设计中STC89C52选用的复位电路是采用按键电平复位即通过使复位端经电阻与Vcc电源接通实现复位功能的。模块电路如图3-11示。图3-11复位模块电路设计图35 红外遥控电子密码锁设计—硬件设计STC89C52作为电路的工作核心,P1.0-P1.7外接本机键盘,X1,X2接晶振电路的X1,X2口,P3.2外接红外信号接收芯片0038B,P0.0-P0.7以及P2.3,P2.5,P2.6,P2.7则外接了1602显示屏,最后P2.3则与蜂鸣器报警模块相连,用以驱动扬声器。另外我们在E2PROM中设置了一个六位的初始密码。整个系统由遥控器,接收器以及键盘组成,在系统中设置了15个按键,可以采用遥控器发射红外信号进行开锁和上锁,同时也可以选择用键盘来实现上述功能。[18-19]35 红外遥控电子密码锁设计—硬件设计4软件设计简述4.1系统软件总体设计方案单片机系统开发的产品软件与硬件密不可分,没有硬件的基础,软件没有平台来进行运行仿真及调试,而没有软件的功能实现,硬件的搭设也是没有意义的。软件是整个控制系统的核心,在硬件设计已经基本确定的情况下,程序代码编译的差异可以直接影响硬件的功能实现能力。我们这次设计选用C语言进行软件部分的编译,C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码,对单片机的指令系统不要求了解,仅要求对51系列单片机的存储器结构有初步了解。而在后期过程中使用KeiluVision编辑、调试、编译通过。在系统的设计思路中我们采用模块化设计,自顶而下的设计思路,这样的设计有利于程序代码的优化,而且便于设计、调试和维护。以主程序为核心设置了多个功能模块子程序。程序大致可以分为系统初始化程序、红外遥控模块子程序、密码判断子程序、显示子程序、键盘服务程序等。软件额主程序主要包括以下内容:初始化定时器和中断,采用定时器0和外部中断0,并且定时器0工作在工作方式2;初始化LCD1602和EEPROM;设置初始密码;判断红外和4*4矩阵键盘是否有键按下,如果红外有键按下,则红外接收头接收数据,外部中断响应,单片机产生中断,进入数据处理阶段,最后根据按键流程图输出响应的结果,如果矩阵键盘有键按下,直接进入按键处理程序。按键处理程序包含了报警和LCD1602显示。主程序流程图见图4-1:图4-1主程序流程图35 红外遥控电子密码锁设计—硬件设计4.2红外遥控模块流程图在确定了系统的主流程后,红外遥控模块的软件设计是最关键的,直接关系到红外信号收发功能的实现。红外遥控模块的流程图如图4-2。图4-2红外遥控模块流程图红外遥控包括红外发射和红外接收两个部分。红外发射部分重点在于信号的编码,而红外接收部分重点在于信号的解码,编解码的原理在上文中已经有叙述过。红外接收头(0038B)的信号输出引脚直接与单片机的中断引脚(INT0)相连,来实现红外信号的解码。在设计中采用下降沿触发,若检测到低电平则引起中断,进入中断程序。外部中断程序如下:voidINT0init(void){EA=1;IT0=1;//下降沿触发方式EX0=1;}4.3矩阵键盘模块流程图4*4矩阵键盘的按键功能和红外遥控模块的按键功能是一样的,包括15个按键:数字键0-9,开锁键,上锁键,密码设置键,密码保存键和密码清空键。流程图如图4-3。35 红外遥控电子密码锁设计—硬件设计图4-3矩阵键盘流程图最终软件系统在硬件设计基础上实现的功能如下:1.当没有接收到遥控信号时,这时由键盘输入密码,当6位有效密码输入正确时开锁键确认,完成开锁,1602显示openok!。2.开锁完成后,如果需要再把锁锁上,可以按下上锁键,此时锁又重新锁上,1602显示Lockok!。3.在输入6位有效密码时,必须按照先后序输入,如顺序错误或密码不对时,1602显示器会提示错误,若连续3次输入错误,系统会长时间报警,这时必须按复位键恢复到初始化状态。4.在输入密码的过程中,若发现错误了可以按下清空键,清空已输入的密码,然后重新输入密码。5.当锁处于开锁状态时,可以设置新密码,先按下设置密码键,输入新密码,然后按下保存密码键,此时新密码已保存,同时锁被重新锁上。35 红外遥控电子密码锁设计—硬件设计结论经过前文所阐述的硬件与软件设计思路、芯片选择、电路连接以及代码的编译,结合实物的调试,我们相信本系统是完全可行的。本设计是基于STC80C52芯片所制作的红外线遥控密码电子锁。该系统可以实现一定距离的红外信号发射与接收,可以进行键盘与红外遥控的双输入控制,对系统进行输入密码,清除密码,上锁解锁以及重设及保存密码等几个常用功能操作,并将操作界面外接展示到1602液晶显示屏上,最后系统还具备报警功能,提高安全性。当然由于自身能力有限,系统还是有不完善的地方,比如我们在设计中只是实现了任务书所要求的8-10米遥控距离,这个距离要应用到实际生活中还是有一定差距的,所以我们要在保证系统灵敏度的基础上,通过改进芯片进一步加大遥控距离;另外需要增加在用户密码输入错误时逐位清楚误操作码的功能和在输入密码不完全但之后长时间无操作时系统自动返回并上锁等功能以及进一步减小系统功耗、提升稳定度也是我们以后可以进一步努力的方向。我们发现这个系统的成本低,使用方便,相信日后通过性能的改善与功能的提升,红外线遥控密码锁可以逐渐应用到我们的日常生活中,带来真正实际的帮助。35 红外遥控电子密码锁设计—硬件设计参考文献[1]张毅坤,陈善久,裘雪红.单片微型计算机原理及应用[M].西安:西安科技大学出社,1998.8.[2]王晓东,刘春红,于鑫.单片机和计算机的串口通信[J].应用科技,2003(30)1:14-16.[3]何小艇主编.电子系统设计[M].浙江大学出版社.1998.12.[4]蔡美琴张为民沈新群张荣娟.MCS-51系列单片机系统及其应用[M].高等教育出版社.1998.12[5]陈奥初.单片机应用系统设计与实践[M].北京:北京空航天大学出版社.1990[6]石晶晶,李亚梅.新型红外遥控密码锁的研究与设计[J].中国科技信息.2008(19)1:135-136[7]宁爱民.应用AT89C2051单片机设计电子密码锁[J].淮海工学院学报.2003.2,28-31.[8]康华光等.电子技术基础第2版[M].北京:高等教育出版社,2004[9]张继刚等.单片机原理及应用[M]北京:高等教育出版社,2009[10]JimemezPetal.ImprovedPPMschemesforinfraredwirelessLAN[J].ElectronicsLettrs.1996.10.[11]SerialInfraredLinkAccessProtocol(IrLAP),Version1.1.June16,1996,IBMCorporation,Hewlett-PackardCompany,AppleComputer,Inc.,CounterpointSystemsFoundry,Inc.[12]李明等.C语言程序设计教程[M]上海.上海交通大学出版社.2008.[13]赵广林.Protel99SE电路设计与制作[M].北京:电子工业出版社,2005:15-342[14]董继成.一种新型安全的单片机密码锁[J].电子技术应用,2004,(3):58-60.[15]王金国.采用单片机的电子密码锁控制电路[J].山东煤炭科技,2000,(3):30-33.[16]赵益丹,徐晓林,周振峰.电子密码锁的系统原理、设计程序及流程图[J].嘉兴学院学报,2003,15(1):103[17]苏家健等.单片机原理及应用技术[M].高等教育出版社.2004.1.[18]阎石.数字电子技术基础[M].高等教育出版社.2005.7.[19]赵长德.MCS-51/98单片机原理与应用[M].北京.机械工业出版社.1997.6.35 红外遥控电子密码锁设计—硬件设计附录附录1电路原理图35 红外遥控电子密码锁设计—硬件设计附录2PCB板绘制图35 红外遥控电子密码锁设计—硬件设计附录3实物拍摄图35 红外遥控电子密码锁设计—硬件设计附录4系统软件主程序//主程序voidmain(){uchartemp;uchari=0,k=0,j=0,j1,h1;//temp:键盘还回的值i:输入个数j:错误次数ucharIS_valid_user;//开锁的标志timer0init();INT0init();init_1602();eeprominit();delay(100);IspErase(FLASH_START_ADDRESS);//擦数扇区,为写入一字节数据做准备IspWrite(table4[0],0x2001);//写入初始密码IspWrite(table4[1],0x2002);IspWrite(table4[2],0x2003);IspWrite(table4[3],0x2004);IspWrite(table4[4],0x2005);IspWrite(table4[5],0x2006);delay(10);IspRead(0x2001);//读出初始密码35 红外遥控电子密码锁设计—硬件设计num=DataMemery;table1[0]=num;IspRead(0x2002);num=DataMemery;table1[1]=num;IspRead(0x2003);num=DataMemery;table1[2]=num;IspRead(0x2004);num=DataMemery;table1[3]=num;IspRead(0x2005);num=DataMemery;table1[4]=num;IspRead(0x2006);num=DataMemery;table1[5]=num;P3=0x0f;while(1){if(P1!=0x0f){temp=keyscan();j1=1;P1=0x0f;}//ifendif(irreceok==1)//红外接收是否OK{irpros();irreceok=0;}if(irprosok==1){temp=keyscan1();h1=1;irprosok=0;}//IRifendif(j1==1||h1==1){h1=0;j1=0;switch(temp){case0:case1:case2:case3:case4:case5:case6:case7:case8:case9:35 红外遥控电子密码锁设计—硬件设计if(i<=5){userpassword[i]=temp;table4[i]='*';Display_string(table4,0x80+0x40);i++;}break;case10://开锁键for(k=0;k<6;k++){if(table1[k]==(userpassword[k])+48)flag=1;elseflag=0;}if(flag==1){flag=0;i=0;delay(10);clear();delay(50);delay(30);Display_string("openok!",0x80+0x40);IS_valid_user=1;j=0;}else{i=0;j++;if(j==3){Display_string("Dolockagain!",0xc0);}else{clear();delay(50);delay(30);Display_string("ERROR!havetry",0x80+0x40);write_com(0xcf);write_date(0x30+j);//错误次数IS_valid_user=0;}}i=0;35 红外遥控电子密码锁设计—硬件设计break;case11://上锁键clear();delay(100);Display_string(table,0x80);Display_string("Lockok!",0x80+0x40);i=0;IS_valid_user=0;break;case12://设置新密码if(!IS_valid_user){i=0;Display_string("noright!",0x80+0x40);delay(1000);Display_string(table,0x80);Display_string("Lockok!",0x80+0x40);}else{i=0;Display_string("newpassword",0x80);Display_string("",0x80+0x40);}break;case13://保存新密码if(!IS_valid_user){i=0;delay(100);Display_string("noright!",0x80+0x40);delay(1000);Display_string(table,0x80);Display_string("Lockok!",0x80+0x40);}else{i=0;for(k=0;k<6;k++){userpassword[k]=userpassword[k]+48;}delay(20);IspErase(FLASH_START_ADDRESS);//擦除扇区,为写入一字节数据做准备35 红外遥控电子密码锁设计—硬件设计IspWrite(userpassword[0],0x2001);IspWrite(userpassword[1],0x2002);IspWrite(userpassword[2],0x2003);IspWrite(userpassword[3],0x2004);IspWrite(userpassword[4],0x2005);IspWrite(userpassword[5],0x2006);delay(100);IspRead(0x2001);//读数据num=DataMemery;table1[0]=num;IspRead(0x2002);num=DataMemery;table1[1]=num;IspRead(0x2003);num=DataMemery;table1[2]=num;IspRead(0x2004);num=DataMemery;table1[3]=num;IspRead(0x2005);num=DataMemery;table1[4]=num;IspRead(0x2006);num=DataMemery;table1[5]=num;delay(100);write_com(0x01);clear();delay(30);Display_string(table,0x80);Display_string("passwordsaved!",0xc0);delay(1000);write_com(0x01);Display_string("Dolockagain!",0xc0);}break;case14://清除所有输入i=0;clear();delay(30);Display_string(table4,0xc0);break;}//switchend}//ifendif(j==3){Display_string("passworderror",0x80+0x40);35 红外遥控电子密码锁设计—硬件设计Display_string("Lockok!",0x80+0x40);beep=0;delay(1000);beep=1;}}//WHILEEND}//mainEND35

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭