基于单片机的红外遥控电子密码锁设计毕业设计论文.doc
基于单片机的红外遥控电子密码锁设计摘要:在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的方法来解决。本设计是基于51单片机设计的六位红外遥控密码锁,具有本机开锁遥控开锁,报警,工作状态液晶显示功能。密码锁具有安全性高、成本低、功耗低、易操作等优点。 关键词:红外电子密码锁;报警;液晶显示;The Design of Infrared Remote Control Combination Lock Xiao peng (Grade 09,Class 3,Major electronics and information engineering ,the school of physics and telecommunications engineering,Shaanxi University of Technology,Hanzhong 723003,Shaanxi)Tutor:Zhu Yaliabstract:In daily life and work, with department of housing security, unit documents, financial statements and some personal information using lock to save. This design is based on 51 single-chip with infrared remote control combination lock, with unlock the machine remote control lock, alarm and working status of liquid crystal display function. Combination lock with high safety, low cost, low power consumption, easy operation, etc.Key words:Infrared electronic combination lock;The alarm; Liquid crystal display (LCD);目录1 引言3 电子密码锁的背景与研究意义31.2 红外电子密码锁的现状及发展趋势41.3 课题研究方法52 红外通信原理52.1 红外的发射和接收52.1.1 编码解码62.1.2 调制72.1.3 解调接收73 硬件电路设计73.1 整系统框图73.2设计思想8 3.3 有关芯片的简介9 3.3.1 单片机 AT89C519 3.3.2存储芯片AT24C02介绍11 3.3.3 I2C总线介绍12 3.3.4 LCD1602 液晶显示15 3.红外接收头183.4电路图的设计193.4.1 复位电路193.4.2 振荡电路203.4.3 继电器驱动电路203.4.4 24C02213.4.5 LCD 1602214 系统软件设计224.1 KEIL 软件的简介224.2 系统功能子程序224.2.1 数据读写模块224.2.2 红外发射接收模块244.2.5 主流程图265 电路仿真及调试275.1 报警电路275.2 显示电路275.3 开锁电路28致谢29参考文献30附录A 外文资料翻译31附录B 源程序38附录C 电路图601 引言 电子密码锁的背景与研究意义在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁电子密码锁,提供了很大的发展空间。由于红外遥控具有许多优点, 例如红外线发射装置采用红外发光二极管遥控发射器易于小型化且价格低廉; 采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。所以红外线遥控是目前使用最广泛的一种通信和遥控手段。 在本设计中,红外遥控密码锁和 PC 机、数据库相结合,能够实现适时的、强大的管理,使得整个红外遥控系统得到更好的完善。 本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共6位密码,每位的取值范围为09,用户可以自行设定和修改密码,每个密码按键都有声、光提示。用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误将报警,期间输入密码无效,以防窃贼多次试探密码。六位密码同时输入正确,锁才能打开。其特点如下:1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以防止因人员的更替而使锁的密级下降。3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。1.2 红外电子密码锁的现状及发展趋势在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的方法来解决。假设使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丧失后安全性即大打折扣。在安全技术防范领域,随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能,从而使密码锁具有很高的安全性、可靠性。当今电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的5。发展前境也是非常大的。目前大部分的锁采用的都是机械式的,其最大的缺点是利用简单工具就能很容易地把锁打开。针对这种情况,我们设计了一种红外遥控密码锁,而一般设备都采用专用的遥控编码及解码集成电路,其制作简单、容易,但由于特定功能的限制,只适用于专用的电器产品,其应用范围受到限制。而设计的红外遥控密码锁系统能提高门禁系统的可靠性和安全性,适应市场需要。该系统具有普通电子密码锁功能的同时,还增加了遥控功能。该系统具有较强的实际应用价值,所涉及的技术包括:红外载波数据传输技术、单片机控制技术、红外遥控系统编码及译码技术、电路设计与演示板制作技术等。1.3 课题研究方法主要的设计实施过程:首先,选用ATMEL公司的单片机AT89C51,以及选购其他电子元器件。第二步,使用PROTEL99完成原理图,并设计PCB图完成人工布线后因PCB板损坏决定采用万能板焊接的方法。第三步,使用Keil uVision3软件编写单片机的C语言程序、仿真、软件调试。第四部,使用PROTEUS软件进行模拟软、硬件调试。最后,联合软、硬件调试电路板,完成本次设计。2 红外通信原理红外遥控有发送和接收两个组成部分。发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。红外接收完成对红外信号的接收、放大、检波、整形,并解调出遥控编码脉冲。为了减少干扰, 采用的是价格廉价性能可靠的一体化红外接收头(HX1838, 它接收红外信号频率为38kHz,周期约26 s) 接收红外信号,它同时对信号进行放大、检波、整形得到 TTL 电平的编码信号,再送给单片机,经单片机解码并执行去控制相关对象。单片机 HX1838红外发射电路 单片机 图2 原理方框图编码与解码是一对逆过程,不仅在原理上是一对逆过程,在码的发收过程也是互反的,即以前发射端原始信号是高电平,那接收头输出的就是低电平,反之亦然。2.1 红外的发射和接收红外线波长在750nm至1um之间的电磁波,它的频率低于可见光,是一种人的眼睛看不到的光线。红外遥控具有抗干扰能力强,信息传输可靠,功耗低,成本低,易于实现等显著优点。红外遥控由发送和接收两部分组成,发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲信号,通过红外发射管发射红外信号。红外接收采用性能可靠的一体化红外接收头接收红外信号,它同时对信号进行放大,检波,整形,得到TTL电平的编码信号,再送给单片机,经单片机解码并进行相关操作。发送与接收示意图如下所示:2.1.1 编码解码'0'的编码与解码 0.56ms '1'的编码与解码 图 2.2 编码与解码遥控编码脉冲由前导码、16 位地址码8位地址码、8 位地址码的反码和 16 位操作码8 位操作码、8 位操作码的反码组成。前导码:是一个遥控码的起始部分,由一个9ms的高电平 ( 起始码 ) 和一个4. 5ms的低电平 ( 结果码 )组成,作为接受数据的准备脉冲。16位地址码:能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。16 位操作码:用来执行不同的操作。“0”“1”。2.1.2 调制 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制,然后再通过红外发射二极管产生红外线向空间发射。一般电视遥控器的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码,用于核对数据是否接收准确。 根据红外编码的格式,发送数据前需要先发送9ms的起始码和4.5ms的结果码。遥控串行数据编码波形如下列图所示: 图2.3 编码波形2.1.3 解调接收接收方一般使用HX1838一体化红外线接收器进行接收解码,当HX1838接收到38kHz红外信号时,输出端输出低电平,否则为高电平。所以红外遥控器发送红外信号时,参考上面遥控串行数据编码波形图,在低电平处发送38kHz红外信号,高电平处则不发送红外信号。 红外接收完成对红外信号的接收、放大、检波、整形,并解调出遥控编码脉冲。为了减少干扰,采用的是价格廉价性能可靠的一体化红外接收头(HX1838,它接收红外信号频率为38kHz,周期约26us) 接收红外信号,它同时对信号进行放大、检波、整形得到 TTL电平的编码信号,再送给单片机,经单片机解码并执行去控制相关对象。3 硬件电路设计3.1 整系统框图 AT89C51 发射电路4*4键盘 复位电路 图3.1 遥控器整体框图 警报电路 接收电路 AT89C51 开锁电路 复位电路 1602显示电路 4*4键盘 24c02存储电路该系统由发射模块和接收模块两部分构成,遥控器发射模块可以随身携带,只要在接收器附近,即可遥控开锁;接收器则集开锁、修改密码、报警和显示于一体。本系统采用单片机AT89C2051和AT89C52作为核心的元件,利用红外遥控原理和单片机相关功能设计的一款具有本机开锁,遥控开锁和可修改密码的电子密码锁。发射接收电路图如下: (a) (b) 图 3.3 发射与接收3.3 有关芯片的简介 3.3.1 单片机 AT89C51 图3.4 AT89C51 管脚图AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4K bytes的可反复擦写的只读程序存储器EPROM和128bytes的随机存取数据序存器RAM,器件采用ATMEL公司的高密度/非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器CPU和FLASH存储单元,AT89C51单片机为许多嵌入式控制系统提供了一种灵活行高且价廉的方案。1) 主要特性:· 8031 CPU与MCS-51 兼容· 4K字节可编程FLASH存储器(寿命:1000写/擦循环)· 全静态工作:0Hz-24KHz· 三级程序存储器保密锁定· 128*8位内部RAM · 32条可编程I/O线 · 两个16位定时器/计数器 · 6个中断源 · 可编程串行通道 · 低功耗的闲置和掉电模式 · 片内振荡器和时钟电路2)管教说明:VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:管脚 备选功能:P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INT0外部中断0P3.3 /INT1外部中断1P3.4 T0记时器0外部输入P3.5 T1记时器1外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器0000H-FFFFH,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源VPP。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3) 震荡特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。管脚图如下图:AT24C02是美国Atmel公司的低功耗CMOS型E²PROM,内含256×8位存储空间,具有工作电压宽(2.55.5 V)、擦写次数多(大于10000次)、写入速度快(小于10 ms)、抗干扰能力强、数据不易丧失、体积小等特点。而且他是采用了I²C总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。AT24C02中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。I2C总线是一种用于IC器件之间连接的二线制总线。他通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。 AT24C02正是运用了I²C规程,使用主/从机双向通信,主机(通常为单片机)和从机(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 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接收到应答信号后,根据实际情况作出是否继续传递信号的判断。假设未收到应答信号,由判断为受控单元出现故障。目前有很多半导体集成电路上都集成了I2C接口。带有I2C接口的单片机有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外围器件如存储器、监控芯片等也提供I2C接口。总线基本操作:I2C规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。 总线必须由主器件通常为微控制器控制,主器件产生串行时钟SCL控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件10。1 控制字节:在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符不同的芯片类型有不同的定义,EEPROM一般应为1010,接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。2写操作:写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不同有所不同。3 读操作:读操作有三种基本操作:当前地址读、随机读和顺序读。图4给出的是顺序读的时序图。应当注意的是:最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机必须在第9个周期时发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。3.3.4 LCD1602 液晶显示LCD1602 可显示两行英文字符,并且内带 ASCII 字符库。LCD1602 模块内部可以完成显示扫描,单片机只要向 LCD1602 发送命令和显示内容的 ASCII 码。 表3.1引脚功能说明引脚符号功能说明1VSS 一般接地2VDD接电源+5V3V0液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高比照度过高时会产生“鬼影”,可以通过一个10K的电位器调整比照度。4RSRS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、 双向数据总线 0位最低位8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位最高位也是busy flag15BLA背光电源正极16BLK背光 电源负极 图3.4 LCD1602引脚图 表3.2寄存器选择控制表RSR/W操作说明00写入指令寄存器清除屏等01读busy flagDB7,以及读取位址计数器DB0DB6值10写入数据寄存器显示各字型等11从数据寄存器读取数据 表3。3 显示地址1234567891011121314151600H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0EH0FH40H41H42H43H44H45H46H47H48H49H4AH4BH4CH4DH4EH4FH 0011 0000 0x38 设置16×2显示,5×7点阵,8位数据接口;显示开关及光标设置: (初始化)0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1), N=0(读或写一个字符后地址指针减1 &光标减1),S=1 且 N=1 (当写一个字符后,整屏显示左移)s=0 当写一个字符后,整屏显示不移动数据指针设置:数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)其他设置:01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。通常推荐的初始化过程:延时15ms写指令38H延时5ms写指令38H延时5ms写指令38H延时5ms以上都不检测忙信号 (以下都要检测忙信号写指令38H写指令08H 关闭显示写指令01H 显示清屏写指令06H 光标移动设置写指令0cH 显示开及光标设置3.红外接收头 图 3.7 红外接收头示意图规格:HX1838(铁壳)宽电压适应、低功耗、高灵敏度、优良的抗干扰特性;应用广泛:家用电器、空调、玩具等红外遥控接收;表3.3.5.1 极限参数: 电源电压VCC (v)工作温度TOPR () -25 +85功 耗PD(mw)35储存温度TSTG () -40 +125表3.3.5.2 光电参数: (T=25 VCC=5V f0=38KHZ) 参 数符号测试条件MinTypeMax单 位 工作电压 Vcc V 接收距离 LL5IR5 IF =300mA测试信号 10 17 M 载波频率 f0 38k HZ 接收角度 1/2 距离衰减1/2 +/-45 Deg BMP 宽度 fBW -3Db Bandwidth 2 5kHz 静态电流 ICC 无信号输入时 - mA 低电平输出 VOL Vin=0V Vcc=5V V高电平输出 VOHVcc=5V Vcc V输出脉冲 宽 度 TPWL Vin=500Vp-p 500 600 700 S TPWH Vin=50mVp-p 500 600 700 S 复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间即RST为高电平期间,P0口为高组态,P1P3口输出高电平;外部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选择如图3-4所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C1上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了防止死机时无法可靠复位。当复位按键按下后电容C1通过R5放电。当电容C1放电结束后,RST端的电位由R1与R2分压比决定。由于R11<<R15 因此RST为高电平,CPU处于复位状态,松手后,电容C1充电,RST端电位下降,CPU脱离复位状态。R1的作用在于限制按键按下瞬间电容C1的放电电流,防止产生火花,以保护按键触。E1R1K1R210K 图3.8 复位电路 3.4.2 振荡电路3.4.3 继电器驱动电路 图 3.10 继电器驱动电路在继电器的使用中要注意的就是电流的驱动还有由于继电器内部是电感所以应加一个二极管泄流如下图:3.4.4 24C02 图 3.11 AT24C02 由于只有一个24C02所以只需把A0,A1,A2接地,按照I2C协议,SCL,SDA需接10K上拉电阻。3.4.5 LCD 1602 图 3.12 LCD 1602如上图所示:lcd1602完成工作状态的显示。4 系统软件设计4.1 KEIL 软件的简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能表达高级语言的优势。C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。4.2 系统功能子程序4.2.1 数据读写模块AT24C02 其读取和写入方框图如下列图所示: 入口 入口 启动24c02写入命令、地址 启动24c02写入命令、地址 NN读取一字节的数据并存入缓冲区、写入应答读取一字节的数据并存入缓冲区、写入应答YY 返回 数据读完 返回 数据读完 (a)