红外遥控密码锁毕业论文

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于单片机的红外遥控密码锁设计第1页共35页1绪论1.1课题背景及目的电子技术的飞速发展,给古老的锁具生产带来了巨大的变革,现代的电子技术与机械技术相结合,产生了一大批如声控锁、磁控锁、密码锁、遥控锁,指纹锁等先进的锁具。目前国内外密码锁系统的主要方向的发展是:接触式密码锁系统,非接触式密码锁系统,智能识别密码锁系统,但是他们都相应的存在着不同的缺点。例如:接触式密码锁系统成本较低,体积小,卡片本身无须电源,但使用不太方便,而且有接触磨损。相比之下,红外遥控密码锁系统的成本与接触式密码锁系统相当,而且可以进行近距离遥控,使用十分方便。而且它已经与PC机的数据库相结合,可以组成一套酒店房间的门禁管理系统。由于红外遥控具有许多优点,例如红外线发射装置采用红外发光二极管遥控发射器易于小型化且价格低廉;采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。所以红外线遥控是目前使用最广泛的一种通信和遥控手段。在本设计中,红外遥控密码锁和PC机、数据库相结合,能够实现适时的、强大的管理,使得整个红外遥控系统得到更好的完善。1.2国内外研究现状目前大部分的锁采用的都是机械式的,其最大的缺点是利用简单工具就能很容易地把锁打开。针对这种情况,我们设计了一种红外遥控密码锁,而一般设备都采用专用的遥控编码及解码集成电路,其制作简单、容易,但由于特定功能的限制,只适用于专用的电器产品,其应用范围受到限制。而设计的红外遥控密码锁系统能提高门禁系统的可靠性和安全性,适应市场需要。该系统具有普通电子密码锁功能的同时,还增加了遥控功能。该系统具有较强的实际应用价值,所涉及的技术包括:红外载波数据传输技术、单片基于单片机的红外遥控密码锁设计第2页共35页机控制技术、红外遥控系统编码及译码技术、电路设计与演示板制作技术等。1.3课题研究方法本设计基于STC8952单片机系列,运用了两块单片机芯片,一片实现红外解码,一块用来按键控制,数码管显示以及数据存储,通过查找资料确定各个模块的功能及实现方法,先在软件上进行调试,再根据硬件修改调试软件,最后将各个模块合理组合在一起,达到预计的功能与目标。1.4本章小结本章介绍了红外遥控密码锁技术的课题背景,红外技术在现代生活中的应用以及该课题的国内外研究现状,探讨与确定研究本课题的方法。基于单片机的红外遥控密码锁设计第3页共35页2基本原理及方案的论证2.1红外通讯原理红外遥控是单工的红外通信方式,本设计的红外遥控采用以通信方式为基础的红外遥控,而且本设计也使用了红外通信技术,故着重分析红外通信的基本原理。红外通信是利用红外技术实现两点间的近距离保密通信和信息转发。它一般由红外发射和接收系统两部分组成。发射系统对一个红外辐射源进行调制后发射红外信号,而接收系统用光学装置和红外探测器进行接收,就构成红外通信系统。红外线是波长在750nm至1mm之间的电磁波[5],它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通信一般采用红外波段内的近红外线,波长在0.75um至25um之间。红外数据协会(IrDA)成立后,为了保证不同厂商的红外产品能够获得最佳的通信效果,红外通信协议将红外数据通信所采用的光波波长的范围限定在850至900nm之内。红外通信的基本原理[6]是发送端将基带二进制信号调制为一系列的脉冲串信号(载波信号),通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。脉时调制(PPM)[7,8,9,10]是红外数据协会(IrDA)和国际电子电工委员会(IEEE)都推荐的调制方式,本设计采用脉时调制方法,即用两个脉冲串之间的时间间隔来表示二进制信息,数据比特的传送仿照不带奇偶校验的RS232[8]通信,首先产生一个同步头,然后接着8位数据比特。如图2.1所示。图2.1PPM调制波形图基于单片机的红外遥控密码锁设计第4页共35页普通的红外遥控采用面向指令的帧结构,数据帧由同步码,地址码和指令码组成,指令码长度多为8~16个比特,传送多字节遥控协议时效率偏低,而增加指令码的长度不利于接收器同步,为此本设计选用一种面向字节的帧结构,采用类似于异步串行通信的帧结构,每帧由一个起始位(二进制数0)、8个数据位和2个停止位(二进制数1)构成,如图2.2所示。每帧传送1个字节的数据,帧与帧间隔大于2ms,帧结构不含地址信息,寻址问题由高层协议解决[8]。图2.2数据帧结构示意图由于红外光存在反射,在全双工的方式下发送的信号也可能会被本身接收,因此,红外通信应采用异步半双工方式,即通信的某一方发送和接收是交替进行的。2.289C52芯片介绍89C52的引脚图如图2.3所示图2.389C52芯片引脚图基于单片机的红外遥控密码锁设计第5页共35页主电源及时钟引脚--此类引脚包括电源引脚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在其规定的电压范围内(5±0.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.0~P0.7)是一个8位三态双向I/0口,在不访积压外部存储器,做通用I/0口使用,用于传送CPU的输入/输出数据,当访问外部存储器时,此口为地址总路线基于单片机的红外遥控密码锁设计第6页共35页低8位及数据总路线分时复用口,可带8个LSTTL负载。(2)P1(P1.0~P2.7)是一个8位准双向I/O口(作为输入时,口锁存器置1),带有内部上拉电阻,可带4个LSTTL负载。(3)P2(P2.0~P2.7)是一个8位准双向I/O口,与地址总路线高8位复用,可驱动4个LSTTL负载。2.3方案的比较及确定本设计的重点在于遥控解码,遥控解码的方式有硬件解码与软件解码。方案一:硬件解码。硬件解码:在接受遥控的一边可以连接一个专用解码芯片,只要按键盘上的键值,它就能直接把这个键值解码出来并存储,当你调用这个键值的时候只要从里面去读取就行了,所以它的解码率高,读取显示简单,这是它的优点。可是该芯片价格昂贵,而且只能解码对应的遥控器,兼容性差,成本昂贵,不适合用作市场量产。方案二:软件解码。软件解码:根据遥控器选择的芯片不同,其遥控码格式也有不同。现在市场上主要有日本的NEC标准和飞利浦标准,通过软件的方式解码时解码的正确率就是一个很重要的指标了。在单片机编程的时候是选择用执行效率高的汇编语言还是选用可读性编写容易的C语言呢?不可否认汇编的执行效率是C语言的几倍甚至几十倍,而且误码率低,可是如果选择汇编的话编写难度可想而知,可是如果用C语言编写的话误码率及实时性又会变得比较差。综合以上考虑,如果我们能够在解码这部分用汇编,而显示及控制这部分用C语言编写的话,就能较好的完成我们预期的目标。因此我选用了两块C52单片机芯片,一块负责红外解码,一块负责显示与控制。事实证明,我的选择和预想中的一样,很好的解决了汇编与C语言难以共存的问题。基于上述比较,我们选择了方案二,采用汇编与C语言共同的软件解码方式。2.4本章小结本章介绍了基于单片机红外遥控密码锁设计的两个重点--红外通讯基本原理与单片机芯片89C51的基础知识。通过介绍实现他的关键技术提出了系统设计的方案--硬件解码方案和软件解码方案。而后对两个方案的优缺点进行比较,最终确定了实现设计的方案--软件解码方案。基于单片机的红外遥控密码锁设计第7页共35页3模块功能介绍及实现3.1红外遥控技术3.1.1硬件介绍:遥控器里面是一个键盘编码器,每个按键对应一个编码,在把编码调制到一个高频信号上,其目的是为了降低发射的功率损耗;再把调制好的信号送给红外发光管把信号发送出去。接收过程恰好与此相反,首先由红外接收管收到微弱的信号,经放大后解解调(把高频载波去掉),再进行解码,就可得到遥控器发过来的数据。如图3.1所示。图3.1红外遥控流程图图3.1中遥控接收器部分的“光/电放大”和“解调”由一体化接收头完成,单片机要做的只是“解码”。实验板上一体化接收头的数据输出线经过了INT0切换开关连接到单片机的P32脚(即INT0),INT0切换开关弹起时连通。3.1.2实现方法:经遥控器发送的是串行数据,通过脉冲的占空比来区别‘0’和‘1’;以脉宽为0.565ms,间隔0.56ms,周期为1.125ms的组合表示二进制‘0’;以脉宽为0.565ms,间隔为1.685ms,周期为2.25ms的组合表示二进制‘1’。其波形如下图。图3.2遥控码的“0”和“1”遥控器产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备;后16位为8位操作码及其反码,最多可产生128个不同的编码。当遥控器一个键按下超过36ms,震荡器使芯片激活,将发射一组108ms的编码脉基于单片机的红外遥控密码锁设计第8页共35页冲,这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.3所示。图3.3数据码的组成3.24*4矩阵键盘因为本设计用到

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功