资源描述
学号: 常 州 大 学 毕业设计(论文)(2012届)题 目 红外遥控防盗密码锁设计 学 生 学 院 信息科学与工程学院 专 业 班 级 校内指导教师 专业技术职务 校外指导老师 专业技术职务 二一二年六月红外遥控防盗密码锁设计摘 要: 本设计根据红外遥控原理,以红外遥控器为发送端发送密码,以HX1838红外接收头接收密码,应用单片机技术控制红外信号的发送和接收,根据开锁显示指示灯的亮灭,判断密码是否正确,达到红外遥控密码锁的目的。该红外遥控防盗密码锁设计以AT89C51单片机为控制核心,包括硬件设计和软件设计两大部分。硬件电路由红外发射接收模块,开关选择模块,密码存储模块,液晶显示模块,以及开锁模块组成。当遥控器输入密码时,红外接收头接收信号,与存储器24C02中设定的六位密码进行比对,若匹配则发光二极管亮,实现开锁;若不匹配则发光二极管不亮,开锁不成功。此外,本设计还可以通过拨码开关选择修改密码状态,通过遥控器连续输入两次六位密码完成密码修改。整个过程,每次操作液晶显示都有相应的语言提示。软件部分主要由主程序,红外接收子程序,显示子程序和密码存储子程序组成。它有效地控制单片机接收信号,并正确实现密码锁的相关控制。本设计以单片机为核心元件,结合了遥控器和红外接收头来实现红外线遥控防盗密码锁,具有遥控密码开锁,修改密码等基本功能。关键词:单片机;红外遥控;密码锁;液晶显示Design of Infrared Remote Control Code LockAbstract: The design is based on the principle of infrared remote control, with infrared remote control to send a password, and the HX1838 infrared receiver to receive the password. The SCM technology is also used to send infrared signals and to distinguish the working status of lock display indicator light, and finally determine whether the password is correct.The design of the infrared remote control anti-theft lock takes AT89C51 microcontroller as the core, including both the hardware part and the software part. Hardware circuit is made up of the infrared transmitter receiver module, the switch selection module, the password storage module, LCD module, as well as the realization of the lock module. When the remote control is used to enter a password, the infrared receiver receives signals which will be compared with the six password settings in memory 24C02.If the password is right, bright light-emitting diodes emitting light, or the light-emitting diode will not shine. In addition, the design can also be selected by DIP switch to change the password state continuous input via the remote control entering the six passwords twice. During the whole process, after each operation LCD has a corresponding language prompts. The software part contains the main program, the infrared receiver subroutine and the password stored subprogram. It controls the MCU to receive the signal effectively, and correct control of the system.The design uses the MCU as the core component, combined with remote control and infrared receiver to realize remote control anti-theft locks. It has the basic functions of entering remote unlock password, changing passwords and so on.Keywords:Single-chip Microcomputer; Infrared remote control; Lock; LCD Monitor目 录摘要.Abstract.目录.1 绪论11.1 课题背景及目的11.2 国内外研究情况11.3 课题研究方法及市场前景22方案的选择和确定32.1 编码方案选择32.2 解码方案选择32.3 显示方案选择42.4 总体方案的确定53 红外系统理论63.1 红外通信系统63.2 红外遥控系统73.2.1 红外遥控器编码原理73.2.2 红外接收头解码原理84 硬件电路设计94.1 单片机最小系统设计94.1.1 AT89C51单片机94.1.2 电源电路104.1.3 复位电路114.1.4 晶振电路124.2 红外发送/接收电路设计124.2.1 红外发送电路设计124.2.2 红外接收电路设计144.3 开关选择电路设计154.4 密码存储电路设计164.5 液晶显示电路设计184.6 开锁电路设计215系统软件设计235.1 主程序设计235.2 红外接收子程序设计235.3 密码存储子程序设计255.4 液晶显示子程序设计276 系统调试287 总结29参 考 文 献30致 谢31附 录32 III 常州大学本科毕业设计(论文)1 绪论1.1 课题背景及目的锁是人们日常生活中用以锁门防盗保护财产的一种器具,俗称把门将军。我国使用锁为生活服务已有5000多年的历史。在漫长的岁月中,随着人类文明的不断发展,锁的用途不断扩大,使用范围越来越广。随着电子技术1的飞速发展,给古老的锁具生产带来了巨大的变革,现代的电子技术与机械技术相结合,产生了一大批如声控锁、磁控锁、密码锁、遥控锁,指纹锁等先进的锁具。目前国内外密码锁系统的主要方向的发展是:接触式密码锁系统,非接触式密码锁系统,智能识别密码锁系统,但是他们都相应的存在着不同的缺点。例如:接触式密码锁系统成本较低,体积小,卡片本身无须电源,但使用不太方便,而且有接触磨损。相比之下,红外遥控密码锁系统的成本与接触式密码锁系统相当,而且可以进行近距离遥控,使用十分方便。而且它已经与 PC 机的数据库相结合,可以组成一套酒店房间的门禁管理系统。 由于红外遥控具有许多优点,例如红外线发射装置采用红外发光二极管遥控发射器易于小型化且价格低廉;采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。所以红外线遥控是目前使用最广泛的一种通信和遥控手段。在本设计中,红外遥控密码锁和 PC 机、数据库相结合,能够实现适时的、强大的管理,使得整个红外遥控系统得到更好的完善。1.2 国内外研究情况目前,最常用的锁是20世纪50年代意大利人设计的机械锁1,其机构简单、使用方便、价格便宜。但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。据统计,每4000把锁中就有两把锁的钥匙齿牙相同或类似,故安全性低。二是钥匙一旦丢失,无论谁捡到都可以将锁打开。三是机械锁的材料大多为黄铜,质地较软,容易损坏。四是机械锁钥匙易于复制,不适于诸如宾馆等公共场所使用。由于人们对锁的安全性,方便性等性能有更高的要求,许多智能锁(如指纹辨别、IC卡识别)也相继问世,但这类产品的特点是针对特定指纹或有效卡,但能适用于保密要求高且仅供个别人使用的箱、柜、房间,其成本一般较高,在一定程度上限制了这类产品的普及和推广。随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。根据国外的统计资料显示,装有电子防盗装置的商业区或居民区盗窃犯罪率平均下降30%左右。目前西方发达国家已经大量地应用这种智能门禁系统,但在我国的应用还不广泛,成本还很高。针对这种情况,我们设计了一种红外遥控密码锁,而一般设备都采用专用的遥控编码及解码集成电路,其制作简单、容易,但由于特定功能的限制,只适用于专用的电器产品,其应用范围受到限制。而设计的红外遥控密码锁系统能提高门禁系统的可靠性和安全性,适应市场需要。该系统具有普通电子密码锁功能的同时,还增加了遥控功能。该系统具有较强的实际应用价值,所涉及的技术包括:红外载波数据传输技术、单片机控制技术、红外遥控系统编码及译码技术、电路设计与演示板制作技术等。1.3 课题研究方法及市场前景本设计基于AT89C51单片机2系列,运用了单片机芯片实现红外解码、液晶显示以及数据存储功能,通过查找资料确定各个模块的实现方法,先在软件上进行调试,再根据硬件修改调试软件,最后将各个模块合理组合在一起,达到预计的功能与目标。本设计红外遥控防盗密码锁操作简单,给用户提供了友好的操作界面,用户不需专门学习,就能够简单、快捷地完成操作。并且它功耗小,成本低,价格适中,体积小,可以进行近距离遥控,使用方便,安全性能好。可以通过改变程序,来进一步完善,从而使其功能不断增强和更新。它可以用于交通工具的防盗、住宅门禁的防盗、手机包等日常生活的防盗,甚至经优化,成本可以进一步降低,因此,红外遥控防盗密码锁具有广阔的市场前景。2方案的选择和确定本设计采用了红外遥控技术和电子密码锁技术相结合的解决方案。利用红外遥控原理,当按下遥控发射器上的按键时,发射器内的编码器输出一组对应的二进制代码,再将此二进制代码按一定的格式调制到高频载波上,加至红外发光二极管上变成光信号发射出去。该信号被红外接收二极管所接收变成电信号,再放大,限值检波及波形等处理后送入单片机。单片机对遥控送来的功能信号进行译码、识别出控制种类和内容,据此控制锁(发光二极管)的亮灭。本设计的关键在于编码、解码以及显示的方案选择。2.1 编码方案选择方案一:硬件编码编码成功率高,读取显示简单,这是它的优点。可是该芯片价格昂贵,硬件电路较为复杂,不易调试是它的一大缺点。方案二:软件编码编码方式更为灵活,不许拘泥于各种标准的形式。缺点是编程过程复杂,没有标准化,可读性不高,稳定性差。方案三:遥控器成本低,稳定性高,可以直接作为已编码的发送端使用,直接省去了发送端的制作、编程以及调试过程,加快了项目进度,节约了资源。但解码时,必须参考特定的编码格式,如NEC标准,飞利浦标准,在解码前也必须先了解遥控器各个键位的编码值。综上所述,考虑到可以节约更多成本和时间,本设计采用遥控器作为发送端。2.2 解码方案选择本设计的重点在于遥控解码,遥控解码的方式有硬件解码和软件解码。方案一:硬件解码在接受遥控的一边可以连接一个专用解码芯片,只要按键盘上的键值,它就能直接把这个键值解码出来并存储,当你调用这个键值的时候只要从里面去读取就行了,所以它的解码率高,读取显示简单,这是它的优点。可是该芯片价格昂贵,而且只能解码对应的遥控器,兼容性差,成本昂贵。方案二:软件解码根据遥控器选择的芯片不同,其遥控码格式也有不同。现在市场上主要有日本的NEC标准和飞利浦标准,通过软件的方式解码时解码的正确率就是一个很重要的指标了。在单片机编程的时候是选择用执行效率高的汇编语言还是选用可读性编写容易的C语言。不可否认汇编的执行效率是C语言的几倍甚至几十倍,而且误码率低,可是如果选择汇编的话编写难度可想而知,可是如果用C语言编写的话误码率及实时性又会变得比较差。综合以上考虑,采用C语言软件解码方式。2.3 显示方案选择方案一:数码管显示LED显示器是由发光二极管发展过来的。一般分为LED数码管显示器和LED点阵显示器。LED数码管显示器具有高亮度、宽视角、反应速度快、可靠性高、使用寿命长等特点。但是LED数码管只能显示数字和极少数几个英文字符,显示单调。而LED点阵式显示器虽然能显示各种信息,但它的体积较大,在市场上买到的最小的88点阵都有3cm3cm,适合于广告牌等需要大面积显示的地方,不适合移动设备。系统采用4个共阳极LED数码管显示。位码用8550三极管驱动,段码直接用P0口控制。本设计主要优点是电路硬件较少,程序控制简单,占用CPU时间少,成本较低。缺点就是显示数据不丰富。方案如图2.1所示。图2.1 数码管显示方案图方案二:液晶显示LCD液晶显示器是利用光的偏振现象来显示的,一般分为数字型LCD和点阵型LCD。前者用于显示简单字符,如时钟等;后者能显示各种复杂的图像和自定义的字符,因此应用比较广泛。LCD液晶显示器都具有本身不发光、靠反射或者透射其它光源发光的优点,同时具有功耗小、可靠性高、寿命长、体积小、电源简单等特点,非常适合嵌入式系统、移动设备和掌上设备的使用。LCD1602液晶显示屏可以显示出32个字符和数字,主要有3个控制口和8个数据端口。优点是显示的数据丰富,可以显示数字和字符。缺点是接口繁多,软件编程麻烦。相对而言,液晶显示更直观、更方便,因此,本设计选择了液晶显示。方案如图2.2所示。图2.2 液晶显示方案图2.4 总体方案的确定综上所述,本设计的发送部分采用网上购买的WD6122 芯片为内核的小型遥控器,其编码基于NEC协议。接收部分则主要由AT89C51、LCD1602液晶、继电器、晶振电路、复位电路等组成,由红外接收头HX1838接收红外信号,数据进入51单片机解码。系统的整体设计框图如下图2.3所示:图2.3 系统整体设计框图遥控密码锁的基本设计功能主要有如下几个部分:(1) 设定密码:在该设计中设定了一组原始密码:123456。用户可以通过修改键来修改原始密码。比如:拨码开关打到修改状态,接着用遥控器依次输入两次六位密码,再按确认键即表示密码被设置好了,那么下次用户输入这组数据即可开锁。(2) 密码输入有效显示:为了确信是否有键按下以及防止密码外泄,在电路中设置了液晶显示,即在显示时并不是显示用户按下的数字符号,而是在输入一位时,液晶则显示一个字符“*”, 这样既巧妙地提醒了用户又保护了用户密码,可靠性也是本设计的优点之一。(3) 遥控开锁:用户可以不必在主机上输入密码开锁。只要手执遥控器,键入正确密码,便会自动开锁;如果密码错误,则不能实现开锁。3 红外系统理论3.1 红外通信系统红外遥控是单工的红外通信方式,本设计的红外遥控采用以通信方式为基础的红外遥控,故着重分析红外通信系统的基本原理。红外线是波长在 750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通信一般采用红外波段内的近红外线,波长在 0.75um至 25um之间。红外数据协会(IrDA)成立后,为了保证不同厂商的红外产品能够获得最佳的通信效果,红外通信协议将红外数据通信所采用的光波波长的范围限定在 850 至 900nm之内。红外通信3是利用红外技术实现两点间的近距离保密通信和信息转发。它一般由红外发射和接收系统两部分组成。发射系统对一个红外辐射源进行调制后发射红外信号,而接收系统用光学装置和红外探测器进行接收,就构成红外通信系统。红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号(载波信号),通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)4两种方法。脉时调制(PPM)是红外数据协会(IrDA) 5和国际电子电工委员会(IEEE)都推荐的调制方式,本设计采用脉时调制方法,即用两个脉冲串之间的时间间隔来表示二进制信息,数据比特的传送仿照不带奇偶校验的RS232通信,首先产生一个同步头,然后接着 8 位数据比特。如图3.1所示。图3.1 PPM调制波形图普通的红外遥控采用面向指令的帧结构,数据帧由同步码、地址码和指令码组成,指令码长度多为 816 个比特,传送多字节遥控协议时效率偏低,而增加指令码的长度不利于接收器同步,为此本设计选用一种面向字节的帧结构,采用类似于异步串行通信的帧结构,每帧由一个起始位(二进制数 0)、8个数据位和2个停止位(二进制数1)构成,如图 3.2 所示。每帧传送 1 个字节的数据,帧与帧间隔大于 2ms,帧结构不含地址信息,寻址问题由高层协议解决。由于红外光存在反射,在全双工的方式下发送的信号也可能会被本身接收,因此,红外通信应采用异步半双工方式,即通信的某一方发送和接收是交替进行的。图 3.2 数据帧结构示意图3.2 红外遥控系统红外遥控6是目前使用最广泛的一种通信和遥控手段。红外遥控系统主要由发射和接收两大部分组成,应用编解码专用集成电路芯片来进行控制操作。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。红外遥控系统框图如图3.3所示。图3.3 红外遥控系统框图3.2.1 红外遥控器编码原理红外遥控器是通过发送一定的控制信号来实现对密码锁的控制,这个控制信号就是一串红外脉冲编码信号。通过发送的不同编码脉冲来表示不同的功能按键信号,通过一体化红外接收头接收到编码脉冲,并进行相应的解码执行相应的功能,这样就实现了红外遥控的目的。由此可见,编码在红外遥控系统中的重要性,不过编码方式目前还没有一个统一的国际标准,每个生产厂家所使用的编码格式各不相同。目前使用的编码标准主要有RC5、NEC、SONY、REC80、SAMSWNG等,主要是欧洲和日本生产厂家所使用的编码格式。目前应用较多的是NEC型编码方式。下面介绍最常用的NEC编码标准,红外遥控编码脉冲如图3.4示。图3.4 NEC类红外遥控编码脉冲NEC 协议通过脉冲串之间的时间间隔来实现信号的调制( Pulse Position Modulation: PPM)。以脉宽为0.56 ms、间隔0.56 ms、周期为1.12 ms的组合表示二进制的“0”; 以脉宽为0.56ms、间隔1.68 ms、周期为2.24 ms的组合表示二进制的“1”。图2.4所示的是位“0”和位“1”的波形图。上述由“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制后可提高发射率, 从而达到降低电源功耗的目的。图3.5 位“0”和位“1”的波形图由图3.4和图3.5可以看出NEC的编码方式,脉冲波形开始以高电平9ms和低电平4.5ms的引导码进行发射,依次是引导码、客户码、数据码和数据反码。3.2.2 红外接收头解码原理红外接收头一般是接收、放大、解调一体头,红外信号经接收头解调后,数据“0”和“1”的区别通常体现在高低电平的时间长短或信号周期上,单片机解码时,通常将接收头输出脚连接到单片机的外部中断,结合定时器判断中断间隔的时间,从而获取数据。接收信号的解码是根据红外线接收器输出脉冲帧的格式来进行解码的,即用累加器A分别对符合条件的负跳变脉冲进行计数。当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。在接收数据帧时,根据发射帧的格式将对第一位(起始)码的码宽进行验证。若第一位低电平码的脉冲宽小于2ms,将作为错误码处理。当间隔位的高电平脉冲大于3ms时,结束接收,然后根据累加器A中的脉冲个数,执行相应的操作。图3.6为红外线接收遥控码波形图。10ms 1ms 10ms 3ms 1ms图3.6 红外接收遥控码波形图4 硬件电路设计4.1 单片机最小系统设计单片机最小系统7,或称为单片机最小应用系统,是指用最小的元件组成的单片机可以工作的系统。对于51系列单片机来说,最小系统一般包括AT89C51单片机、电源电路、复位电路和晶振电路,如图4.1所示。图 4.1 最小系统电路框图4.1.1 AT89C51单片机AT89C系列单片机8是Atmel公司生产的一款标准型单片机。其中数字9表示内含Flash存储器,C表示CMOS工艺。它与MCS-51系列产品兼容,是一种低功耗、高性能CMOS 8位微控制器,具有4 k字节Flash,128字节RAM,32 位I/O口线,2个数据指针,2个16位定时器/计数器,一个5向量2级中断结构,全双工串行口,片内晶振及时钟电路。AT89C51 可降至0Hz 静态逻辑工作。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。其管脚图如图4.2所示。图4.2 89C51芯片引脚图 主电源及时钟引脚此类引脚包括电源引脚Vcc、Vss、时钟引脚XTAL1、XTAL2。(1)Vcc(40脚):接+5V电源,为单片机芯片提供电能。(2)Vss(20脚):接地。(3)XTAL1(19脚)在单片机内部,它是一个反向放大器的输入端,该放大器构成了片内的振荡器,可提供单片机的时钟控制信号。(4)XTAL2(18脚)在单片机内部,接至上述振荡器的反向输出端。控制引脚此类引脚包括RESET(即RSR/VPD)、ALE/PROG、PSEN、EA/VPP,可以提供控制信号,有些具有复用功能。(1)RSR/ VPD(9脚):复位信号输入端,高电平有效,当振荡器运行时,在此引加上两个机器周期的高电平将使单片机复位(REST)。复位后应使此引脚电平保持为不高于0.5V的低电平,以保证单片机正常工作。掉电期间,此引脚可接上备用电源(VPD),以保持内部RAM中的数据不丢失。当Vcc下降到低于规定值,而VPD在其规定的电压范围内(50.5V)时,VPD就向内部RAM提供备用电源。(2)ALE/PROG(30脚):ALE为地址锁存允许信号。当单片机访问外部存储器时,(地址锁存允许)输出脉冲的下降沿用于锁存16位地址的低8位。即使不访问外部存储器,ALE端仍有周期性正脉冲输出,其频率为振荡器频率的1/6。但是每当访问外部数据存储器时,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。ALE端可以驱动8个LSTTL负载。(3)PSEN(29脚):程序存储器允许输出控制端。此输出为单片内访问外部程序存储器的读选通信号。在从外部程序存储器取指令(或取常数)期间,每个机器周期均PSEN两次有效。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不会出现。PSEN同样可以驱动8个LSTTL负载。(4)EA/VPP(31脚):EA功能为内外程序存储器选择控制端。当EA端保持高电平时单片机访问内部程序存储器,但在PC(程序计数器)值超过0FFFH时将自动转向执行外部程序存储器内的程序。输入/输出引脚此类引脚包括P0口、P1口、P2口和P3口。(1)P0(P0.0P0.7)是一个8位三态双向I/0口,在不访积压外部存储器,做通用I/0口使用,用于传送CPU的输入/输出数据,当访问外部存储器时,此口为地址总路线低8位及数据总路线分时复用口,可带8个LSTTL负载。(2)P1(P1.0P2.7)是一个8位准双向I/O口(作为输入时,口锁存器置1),带有内部上拉电阻,可带4个LSTTL负载。(3)P2(P2.0P2.7)是一个8位准双向I/O口,与地址总路线高8位复用,可驱动4个LSTTL负载。4.1.2 电源电路为了使芯片能够正常工作,所以这里需要选择+5V的直流电源9。如图4.3所示电路为输出电压+5V、输出电流1.5A的稳压电源。它由电源变压器B,桥式整流电路D1D4,滤波电容C1、C3,防止自激电容C2、C4和一只固定式三端稳压器(7805)极为简捷方便地搭成的。图4.3 电源电路图220V交流市电通过电源变压器变换成交流低压,再经过桥式整流电路D1D4和滤波电容C1的整流和滤波,在固定式三端稳压器LM7805(三端稳压器是一种标准化、系列化的通用线性稳压电源集成电路,以其体积小、成本低、性能好、工作可靠性高、使用简捷等特点,成为目前稳压电源中应用最为广泛的一种单片式集成稳压器件)的Vin和GND两端形成一个并不十分稳定的直流电压。此直流电压经过LM7805的稳压和C3的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。4.1.3 复位电路单片机上电,当振荡器正在运行时,只要持续给RST引脚两个机器周期的高电平便可完成系统复位。外部复位电路是为内部复位电路提供两个机器周期的以上的高电平而设计的。系统采用上电自动复位,上电瞬间电容器上的电压不能突变,RST上的电压是VCC和电容器上的电压之差,因而RST电压大小与VCC相同。随着充电的进行,电容器上的电压不断上升,RST电压就随着下降,RST引脚上只要保持10 ms以上的高电平系统就会有效复位。电容C3可取1033F,电阻R1可取1.210k。系统设计中C3取10F,电阻R取10k,充电时间常数为1010-610103=0.1 s。电路如图4.4所示。图4.4 复位电路图4.1.4 晶振电路X1和X2引脚分别构成片内振荡器反相放大器的输入和输出端,外接石英晶体振荡器以及补偿电容C1、C2构成并联谐振电路。AT89C51系统中晶振频率可在024 MHz选择。外接电容的大小会影响振荡器频率的高低、振荡器的稳定度、起振时间及温度稳定性。在设计电路板时,晶振和电容应靠近单片机,以减少寄生电容,保证振荡器稳定可靠工作。在系统设计中,为保证串行通信波特率的误差应选择11.0592 MHz的标准石英晶振,电容C1、C2为30pF。电路如图4.5所示。图4.5 晶振电路图4.2 红外发送/接收电路设计4.2.1 红外发送电路设计本设计主要采用网上购买的WD6122 芯片为内核的小型遥控器为发送端,其编码基于NEC协议。WD6122 芯片是通用红外遥控发射集成电路,采用CMOS工艺制造,最多可外接64个按键,并有三组双重按键。封装形式为SOP-24和SOP-20。其特点如下:(1)低压CMOS 工艺制造 (2)工作电压范围宽 (3)通过外部接法最多可产生65536种用户码 (4)可通过SEL管脚选择,最多可支持128+ 6条指令码 (5)SOP-24、SOP-20、COB封装形式可选WD6122 所发射的一帧码含有一个引导码,16位的用户编码和8位的键数据码、键数据码的反码也同时被传送。码型结构如下图4.6所示。 图4.6 码型结构图引导码由一个9ms的载波波形和4.5ms的关断时间构成,它作为随后发射的码的引导,这样当接收系统是由微处理器构成的时候,能更有效地处理码的接收与检测及其它各项控制之间的时序关系。编码采用脉冲位置调制方式(PPM)。利用脉冲之间的时间间隔来区分“0”和“1”。每次8位的码被传送之后,它们的反码也被传送,减少了系统的误码率。 图4.7 遥控器编码矩阵遥控器里面是一个键盘编码器,每个按键对应一个编码,其遥控编码器矩阵如图4.7所示。WD6122 在键扫描输入端KI0KI7 和键扫描定时信号输入/输出端KI/O0KI/O7构成的88 矩阵上共设置64 个按键。每个键输入端与电源负端VSS之间均接有下拉电阻。当有超过一个以上的按键(除非双重按键的组合21#与22#键21#与23#键21#与24#键)同时按下时,码的发射输出将停止。当一个键按下时先读取用户码和键数据码,22ms后遥控输出端(REM)启动输出,按键时间只有超过22ms才能输出一帧码,超过108ms后才能输出第二帧码。 在把编码调制到一个高频信号上,其目的是为了降低发射的功率损耗;再把调制好的信号送给红外发光管把信号发送出去。接收过程恰好与此相反,首先由红外接收管收到微弱的信号,经放大后解调(把高频载波去掉),再进行解码,就可得到遥控器发过来的数据。具体流程如图4.8所示。 图4.8 红外遥控流程图图4.8中遥控接收器部分的“光/电放大”和“解调”由一体化接收头完成,单片机要做的只是“解码”。实验板上一体化接收头的数据输出线经过了 INT0 切换开关连接到单片机的 P3.2 脚(即 INT0),INT0 切换开关弹起时连通。遥控器产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备;后 16 位为 8 位操作码及其反码,最多可产生128 个不同的编码。当遥控器一个键按下超过36ms,震荡器使芯片激活,将发射一组 108ms 的编码脉冲,这 108ms 发射代码由一个起始码 (9ms),一个结果码 (4.5ms),低8位地址码(9ms18ms),高 8位地址码(9ms18ms),8 位数据码(9ms18ms)及其反码(9ms18ms)组成。如果键按下超过 108ms 仍未松开,接下来发送的代码(连发码)就只由起始码(9ms)和结束码(4.5ms)组成。4.2.2 红外接收电路设计红外接收电路通常被厂家集成在一个元件中,成为一体化红外接收头。内部电路包括红外监测二极管、放大器、限幅器、带通滤波器、积分电路、比较器等。红外监测二极管监测到红外信号,然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不论红外发射器和接收器的距离远近。交流信号进入带通滤波器,带通滤波器可以通过30kHz到60kHz的负载波,通过解调电路和积分电路进入比较器,比较器输出高低电平,还原出发射端的信号波形10。注意输出的高低电平和发射端是反相的,这样的目的是为了提高接收的灵敏度。常用的红外接收集成电路是一体化红外接收头HX1838。它的外形如图4.9所示。HX1838为黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS 电路兼容。HX1838为直立侧面收光型。它接收红外信号频率为38 kHz,周期约26s,同时能对信号进行放大、检波、整形,得到TTL电平的编码信号。它的三个管脚分别是地、+5V电源、解调信号输出端。其与单片机连接的电路如图4.10所示。图4.9 HX1838外形图图4.10 红外接收头与单片机连接电路图4.3 开关选择电路设计拨码开关是一款用来控制的地址开关,通俗的说也就是一款能用手拨动的微型的开关,所以也通常叫指拨开关。它采用的是0/1的二进制编码原理。本设计为了方便选择操作功能,使用两个拨码开关与单片机的P2.0和P2.1相连来控制密码锁的初始化、修改密码和开锁的状态选择。当拨码开关为“11”时,系统处于初始状态,密码初始化;当拨码开关为“10”或者“01”时,系统处于开锁状态,此时通过遥控器可以输入密码;当拨码开关为“00”时,系统处于修改密码状态,此时同时输入两次相同的密码,可以实现密码的修改。具体功能选择框图如图4.11所示。图4.11 开关选择框图4.4 密码存储电路设计存储器的主要作用是,当系统突然掉电时,用户先前输入的数据信息不会丢失,一旦再次通电,可继续进行操作。本设计采用的是EEPROM存储器,即电可擦除可编程只读存储器,型号为 AT24C02。这种存储器近年来应用非常广泛,它的性价比很高,除能够保证数据不丢失外,还能进行数据的在线改写。设计中,用户设置的开锁密码就是存储于其中。AT24C02与单片机之间采用I2C总线方式进行数据通讯。I2C总线包含有 SDA(串行数据线)和 SCL(串行时钟线)两根线,系统所用到的元器件都分别挂接到这两根线上,它们所发出的信号交由此线进行传输。这种信息传递的接线方法简单明了,使系统硬件电路的设计非常简洁,实用。具体的接线如图4.12所示。图4.12 I2C总线接线图信号传输的基本流程为:(1) 主控器首先发出系统起始信号,然后发出所需被控器的地址及 1 字节的读写位;(2) 被控器接收到信号后,反馈应答信号;(3) 主控器收到应答信号后,或者写被控器(向被控器发送数据),或者读被控器(从被控器接收数据);(4) 主控器最后发出停止信号。I2C 总线能够传输的数据位数为8位,其具体的字节数是依靠被控器的实际情况来决定的,24WC02(256 字节 EEPROM)来说,每次能够传输的数据位数为 16 个字节。具体的数据传输流程图,如图4.13所示。图4.13 I2C 总线的数据传送过程在 I2C 总线上,除单片机以外的其它设备,它们的器件地址一般由器件编号地址(D7-D4)和器件引脚地址(D3-D1)两部分组成,地址格式如图4.14所示。对于 I2C 总线来说,它的上面最多只能够连接 8 片 24C02。器件编号地址:不同的器件类型,具有不同的地址编码,如本设计中使用的24C02,它的器件编号地址为 1010。器件引脚地址:由 A2A0 三根地址线来决定。例如:在 A2 和 A1 接地的前提下,若 A0 置低电平,则地址为 A0H;若 A0 置高电平,则地址为 A2H。图4.14 24C02 器件的地址组成从图4.14上可以看到,在器件地址组成中,还设有一个读写位:当读数据时,该位自动置 1,除此以外,均自动置 0。I2C 总线本身具有 4 种数据传输方式:主发送,主接收,从发送,从接收。但对于本设计来说,系统中只采用一个AT89C51,电路相对简单,因此只涉及该芯片与外围设备之间的主发送和主接收两项操作。由于单片机 AT89C51 没有专门的 I2C 接口,所以需要利用它的两根 I/O 口线来进行模拟,即用 P1.1口来模拟 SCL(串行时钟线),用 P1.2 口来模拟 SDA(串行数据线),24WC02 的器件地址为 A0H。本设计选用24C02 EEPROM是具有2K位的CMOS EEPROM。这种存储器中含有一个16字节的页写缓冲器,它的工作电压范围为 1.8V6.0V。其主要特点是编程/擦写功能强大,最多可达 1000000 次;信息的存储期限长,可达 100年;具有写保护功能;完全能够与I2C总线的使用相匹配,且功耗很低。以上这些特点决定了它在设计中的实用性,它与单片机的接口电路框图如图4.15所示。图4.15 I2C与单片机接口电路框图4.5 液晶显示电路设计本设计采用LCD1602 液晶显示,外形如图4.16所示。其可显示两行英文字符,并且内带 ASCII 字符库。LCD1602 模块内部可以完成显示扫描,单片机只要向 LCD1602 发送命令和显示内容的 ASCII 码。图4.17显示了液晶与单片机的接口电路框图11。LCD1602的引脚功能说明如表4-1。表4-2给出了寄存器选择控制表。表4-1 引脚功能说明引脚符号功能说明12345678910111213141516VSSVDDV0RSR/WEDB0DB1DB2DB3DB4DB5DB6DB7BLABLK一般接地接电源(+5V)液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,可以通过一个10K的电位器调整对比度)。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。E(或EN)端为使能(enable)端,下降沿使能。底4位三态、 双向数据总线 0位(最低位)底4位三态、 双向数据总线 1位底4位三态、 双向数据总线 2位底4位三态、 双向数据总线 3位高4位三态、 双向数据总线 4位高4位三态、 双向数据总线 5位高4位三态、 双向数据总线 6位高4位三态、 双向数据总线 7位(最高位)(也是busy flag)背光电源正极背光电源负极图4.16 LCD1602引脚图表4-2寄存器选择控制表RSR/W操作说明00110101写入指令寄存器(清除屏等)读busy flag(DB7),以及读取位址计数器(DB0DB6)值写入数据寄存器(显示各字型等)从数据寄存器读取数据图4.17 液晶与单片机接口电路框图1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。图4.18是1602的16进制ASCII码值。表4-3给出了ASCII码的显示地址。读的时候,先读上面那列,再读左边那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。图4.18 1602的16进制ASCII码值表4-3 显示地址1234567891011121314151600H40H01H41H02H42H03H43H04H44H05H45H06H46H07H47H08H48H09H49H0AH4AH0BH4BH0CH4CH0DH4DH0EH4EH0FH4FH1602通过D0D7的8位数据端传输数据和指令。显示模式设置:(初始化)0011 00000x38设置162显示,57点阵,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 显示开及光标设置4.6 开锁电路设计在开锁部分通过单片机的P1.3口来控制继电器线圈的通断电,从而控制其触点的吸合与断开,继而控制发光二极管的亮灭来实现的。其具体电路设计如图4.19所示。图4.19 开锁电路图继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。一般用符号“J”表示。电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。电磁式继电器的主要参数有额定工作电压、直流电阻和吸合电流。 额定工作电压,是指继电器正常工作时线圈所需要的电压。根据继电器的型号不同,可以是交流电压,也可以是直流电压。在这采用直流电压(+5V)的工作电压来驱动。直流电阻,是指继电器中线圈的直流电阻。吸合电流,是指继电器能够产生吸合动作的最小电流。在正常使用时,给定的电流必须略大于吸合电流,这样继电器才能稳定地工作。发光二极管简称为LED。由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,其核心是PN结。当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管,在电路及仪器中作为指示灯,或者组成文字或数字显示。它是半导体二极管的一种,可以把电能转化成光能;而红外二极管在正向导通时会发出红外光。常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。发光二极管的反向击穿电压约5伏。主要特性是正向导通、反向截止、击穿特性。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流,以防止击穿。发光二极管(LED)的主要参数有最大正向电流、正向工作电流、正向工作电压和最大反向电亚。最大正向电流Ifm,允许加的最大正向直流电流,超过此值LE损坏。正向工作电流IF, 指LED正常发光时的正向电流值。正向工作电压VF,在给定的正向电流下测得的工作电压。最大反向电压VRm,允许加的最大反向电压,超过此值LED可能被击穿损坏。伏安特性,即LED的电压与电流的关系可用图4.20表示。 图4.20 LED伏安特性图5系统软件设计Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言12在功能上、结构上、可维护性上有明显的优势,因而易学易用。Ke
展开阅读全文