毕业设计(论文)红外遥控防盗电子密码锁的设计与制作_第1页
毕业设计(论文)红外遥控防盗电子密码锁的设计与制作_第2页
毕业设计(论文)红外遥控防盗电子密码锁的设计与制作_第3页
毕业设计(论文)红外遥控防盗电子密码锁的设计与制作_第4页
毕业设计(论文)红外遥控防盗电子密码锁的设计与制作_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、菏泽学院heze university本科生毕业设计(论文)题目 红外遥控防盗电子密码锁的设计与制作 姓名 学号 系 别 物理系 专业 电子信息科学与技术 指导教师 职称 高级实验师 2011年 5 月 20 日菏泽学院教务处制目 录摘要1关键词1abstract1key words1引言11 系统设计211 设计理论分析21.1.1 红外通信基本原理21.1.2 红外通信标准31.1.3 红外遥控原理412 总体方案设计41.2.1总体设计41.2.2主要模块设计52 系统硬件设计与实现521 硬件结构图522 遥控发射电路设计623 本机键开锁部分624 电源部分设计725 编码解码电路8

2、2.5.1 pt2262介绍82.5.2 单电阻振荡器92.5.3 pt2272介绍926 密码存储部分的电路设计1227 报警电路设计1328本机处理与遥控处理功能选择133 系统软件设计1431应用软件设计原则1432程序设计1533遥控接收程序1534 i2c通讯子程序1635系统程序173.5.1遥控密码系统的操作方法173.5.2实现上述操作方法的程序流程图184 技术难点及解决方案1941系统抗干扰措施2042系统节电措施225 系统调试2351整体调试2352硬件单元电路调试235.2.1红外遥控器(钥匙)调试235.2.2红外遥控门锁调试2453软件调试245.3.1红外数据接

3、收模块调试245.3.2开锁记录模块下载模块调试246 结论与展望24参考文献26附录1系统整体电路图26附录2 主程序清单26致谢29红外遥控防盗电子密码锁的设计与制作电子信息科学与技术专业学生 指导教师 摘要:本文围绕红外线遥控防盗密码锁控制系统的相关的理论和实践应用进行了研究。主要由发射和接收两部分组成,应用编/解码专用集成电路芯片来进行控制操作。红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波,当按下按键时,指令编码电路产生所需的指令编码信号,指令编码信号对载体进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制后的指令编码信号;红外接收电路将红外发射器发射的红外

4、光转换为相应的电信号,再由解码芯片进行译码,最后由驱动电路来驱动单片机执行电路实现开锁、重设密码等各种指令。关键词:密码锁;单片机;红外遥控infrared remote control anti-theft electronic code lock design and productionstudent majoring in electronic information science and technology gong fu-yong tutor zhang guan-fenabstract:this article is mainly about the infrared rem

5、ote control anti-theft cipher lock control system correlation theories and the practice application.it mainly consists of transmitting and receiving two components,application specific integrated circuit chip encoding / decoding to control operation.infrared remote control transmitting circuit is us

6、ed to send through infrared light emitting diode modulation of infrared light,when the keys are pressed,command coding circuit generates the required instruction encoding signal,instruction encoding signal of the carrier modulation,the driving circuit for power amplification by the transmitting circ

7、uit transmits the modulated command coding signal;the infrared receiving circuit of the infrared emitter infrared light is converted to a corresponding electrical signal,and then the decoding chip for decoding,finally by the drive circuit to drive the mcu executive circuit to realize the unlocking,r

8、eset the password and other instructions.key words:password lock;microcontroller;infrared remote control引言 随着现代人们生活水平的提高和安全意识的加强,各种各样的密码锁广泛进入了人们的生活和工作。当前市场上的密码锁有以下几种形式:机械式、电子式、磁卡式、智能ic卡式、指纹式等,电子式的密码锁市场占有量最大,因为它的成本相对较低,安全性高,操作简单。但是目前市场上的电子密码锁系统大多采用的是固定键盘式的,也就是将操作键盘固定在保险箱的面板上,这就使得用户在操作时没有隐蔽性,极易被人看见使得密

9、码不安全,而且键盘一旦遭到强行破坏,再也无法输入密码。因而操作的安全性不高。为了解决目前电子密码锁的诸多不安全问题,本文引入红外遥控技术。由于红外遥控具有许多优点,例如红外线发射装置采用红外发光二极管,遥控发射器易于小型化且价格低廉;采用数字信号编码调制方式及数字加密技术,而且具有功率消耗低的优点;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。所以红外线遥控是目前使用最广泛的一种通信和遥控手段。将红外遥控技术与密码技术相结合,在原有密码锁系统性能的基础上设计红

10、外遥控密码锁系统,使用户在一定范围内的任何位置都能对保险箱进行开启,可以提高密码的安全性,克服了固定键盘式密码锁的不足。系统以at89s52单片机为核心,利用红外遥控技术和电子密码锁技术结合,能进一步提高电子密码锁的安全性、可靠性与实用性,降低了硬件成本。1 系统设计 11 设计理论分析1.1.1 红外通信基本原理 红外遥控1是单工的红外通信方式,本设计的红外遥控采用以通信方式为基础的红外遥控,而且本设计也使用了红外通信技术,故着重分析红外通信的基本原理。红外通信是利用红外技术实现两点间的近距离保密通信和信息转发。它一般由红外发射和接收系统两部分组成。发射系统对一个红外辐射源进行调制后发射红外

11、信号,而接收系统用光学装置和红外探测器进行接收,就构成红外通信系统。红外线是波长在750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人眼看不到的光线。红外通信一般采用红外波段内的近红外线,波长在0.75um至25um之间。红外数据协会(irda)成立后,为了保证不同厂商的红外产品能够获得最佳的通信效果,红外通信协议将红外数据通信所采用的光波波长的范围限定在850至900nm之内。红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号(载波信号),通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(pwm)和通过脉冲串之间的时间间隔来实现信号调

12、制的脉时调制(ppm)两种方法。脉时调制(ppm)是红外数据协会(irda)和国际电子电工委员会(ieee)都推荐的调制方式,本设计采用脉时调制方法,即用两个脉冲串之间的时间间隔来表示二进制信息,数据比特的传送仿照不带奇偶校验的rs232通信,首先产生一个同步头,然后接着8位数据比特,如图1-1所示。载波信号的频率=38khz,载波周期t=26.32us-图1-1 ppm调制波形图-t1t1t2t3二进制0二进制1-载波信号的频率=38khz,载波周期t=26.32us,本设计使用单片机软件产生载波,取t=26us,脉冲宽度t1=10t=260us,二进制数0的脉冲串周期t2=500us,二进

13、制数1的脉冲串周期t3=1000us。普通的红外遥控采用面向指令的帧结构,数据帧由同步码,地址码和指令码组成,指令码长度多为816个比特,传送多字节遥控协议时效率偏低,而增加指令码的长度不利于接收器同步,为此本设计选用一种面向字节的帧结构,采用类似于异步串行通信的帧结构,每帧由一个起始位(二进制数0)、8个数据位和2个停止位(二进制数1)构成,如图1-2所示。每帧传送1个字节的数据,帧与帧间隔大于2ms,帧结构不含地址信息,寻址问题由高层协议解决。图1-2 数据帧结构示意图数据帖停止位数据位(8位)帖间隔起始位停止位由于红外光存在反射,因此,红外通信应采用异步半双在全双工的方式下发送的信号也可

14、能会被本身接收工方式,即通信的某一方发送和接收是交替进行的。1.1.2 红外通信标准1993年,由hp、compaq、intel等二十多家公司发起成立了红外数据协会(infrared data association,简称irda),1993年6月28日,来自50多家企业的120多位代表出席了红外数据协会的首次会议,并就建立统一的红外通讯标准问题达成了一致。irda1.0简称为sir(serial infrared),它是基于hp-sir开发出来的一种异步的、半双工的红外通讯方式。sir以系统的异步通讯收发器(uart)为依托,通过对串行数据脉冲的波形压缩和对所接收的光信号电脉冲的波形扩展这一

15、编码解码过程(3/16 endec)实现红外数据传输。由于受到uart通讯速率的限制,sir的最高通讯速率只有115.2kbps,也就是大家熟知的电脑串行端口的最高速率。irda标准包括三个基本的规范和协议:物理层规范(physical layer link specification)链接建立协议(ink access protocol:irlap)链接管理协议(link management protocol:irlmp)。1st step2nd stepfuturehid deviceapplicationhome applianceapplicationfuture deviceapp

16、licationha llcfuture device llchid-irbus llcirbus macirbus phy图1-3 irbus红外线通信协议层物理层规范制定了红外通信硬件设计上的目标和要求,irlap和irlmp为两个软件层,负责对链接进行设置、管理和维护。在irlap和irlmp基础上,针对一些特定的红外通信应用领域,irda还陆续发布了一些更高级别的红外协议,如tinytp、irobex、ircomm、irlan和irbus等(见图1-3)。1.1.3 红外遥控原理红处线发射/接收控制电路均采用8051单片机来实现,电路简单,输出控制方式可选择,实用性强。体工作过程如下:

17、发射时:如图2-2首先,将从串行发射口p3.1送出的数据反馈到p1.1口时行内部调制,再从p1.2口送出,再经过红外发射二极管发射出去,发射距离为10m。接收时:如图2-3采用与发射部分配套的红外接收头,将发射出的数据接收后送到串行口p3.0中,再由系统进行确认接收数据是否与发送数据是否相符,相符则开锁,以发光二极管d2亮来表示,不相符则放弃,以发光二极管灭来表示。12 总体方案设计1.2.1 总体设计8051cpu红外接收头红外发射器键盘 复位报警器晶振电磁锁图1-4系统结构框图1.2.2 主要模块设计系统主要由红外发射块和本机处理接收模块两部分组成。其中发射模块是由mcs-51单片机、载波

18、发生器、调制放大电路以及红外发射电路组成;本机处理接收模块2的控制核心是at89s52单片机。外接键盘电路、红外接收电路、开锁电磁驱动电路、报警电路3和按键指示电路等如图1-5所示。单片机调制发 射红外发 射载波红外接 收单片机继电器机械锁图1-5 红外遥控密码锁的组成框图2 系统硬件设计与实现 21 硬件结构图系统以单片机at89s52为核心。系统结构框图如图2-1所示。本系统的功能设计目标应该包括以下几个方面:红外发射功能模块,红外线接收转换模块、单片机模块、蜂鸣器报警功能模块、密码存储功能模块,开锁功能模块等。下面详细介绍一下各单元的硬件电路和实现的功能。红外发射模块红外接收模块8051

19、单片机系统at24c02电磁锁报警模块图2-1红外遥控密码锁硬件结构图22 遥控发射电路设计遥控发射电路利用通用的红外发射管,如图2-2所示;从图中可以看出,遥控发射装置是利用8051单片机作为控制部分4,控制图中的发光二极光发射出红外线,从而使本机中的红外接收部分感应,然后解码5,对照接收到的信号是否正确,如果正确就正常开锁,完成遥控开锁任务。图2-2遥控发射电路23 本机键开锁部分本机键开锁电路如图2-3所示,at89s52作为本电路的核心6,p0口与p1.0,p1.1,p1.2外接本机键盘,p3.0口外接红外接收头,p1.3口外接报警信号放大器,用来放大报警信号,驱动扬声器,p1.7口外

20、接开锁电磁驱动电路,p1.5外接密码选择键,eprom内存有两密码,p2.0口用发光二极管显示按键是否按下,本电路由遥控发射器、接收器、键盘组成,本机采用了10个按键,作为密码输入键,同时也采用了遥控器开锁。有以下功能:1.当没有接收到遥控信号时,这时由键盘输入密码,当5位有效密码输入正确时按“#”号确认,p1.7口输出高电平使电磁锁动作,完成开锁,同时,电路进入延时状态,延时5秒钟后,电路将自动恢复到初始闭锁状态。2.当5位有效密码输入正确,但没有按“#”号键确认时,这时电路将自动放弃,恢复到初始和闭锁状态。3.在输入5位有效密码时,必须按照先后序输入,如顺序错误或密码不对时,这时若不按“#

21、”号确认,将无法开锁,并同时发出5秒钟的报警信号,用以提醒用户。4.若连续3次输入错误,系统会长时间报警,这时必须按复位键恢复到初始化状态。5.输入密码时,首位密码正确输入后,电路将开始自动计时,每位密码数之间的输入间隔应在3秒内。否则将输入超时处理,系统自动放弃,恢复到初始状态。图 2-3本机键开锁电路24 电源部分设计本系统的电源部分使用lm7805芯片进行稳压后提供单片机5v的电压。其电源部分电路的设计如图2-4所示。该电源部分电路,使用四个1n4004二极管构成整流桥,可以输入直流或是交流9v电源,然后再通过7805稳定到5v供单片机工作。固定式三端稳压电源7805是由输出脚vo,输入

22、脚vi和接地脚gnd组成,它的稳压值为+5v,它属于lm78xx系列的稳压器,输入端接电容可以进一步的滤波,输出端也要接电容可以改善负载的瞬间影响,电路的稳定性也比较好。图2-4 红外遥控密码电源部分的电路原理图25 编码解码电路pt2262和pt2272是台湾普城公司生产的一对coms专用编码解码芯片。本系统采用这对芯片来实现键值的编码与解码。pt2262和pt2272的振荡频率都是通过一个外接电阻进行调节。2.5.1 pt2262介绍pt2262最大可以具有12个地址位,它的数据位最大可以有6个。每一个地址位可以有接地,接电源,悬空三种状态。每个数据位可以有接地,接高两种状态。pt2262

23、就是将地址位和数据位的状态进行编码然后输出相应的编码信号。pt2262能够满足两种工作方式:射频工作方式(rf)和红外线工作方式(ir)。由于在整个系统的遥控方式上我选用的射频的工作方式,下面详细介绍pt2262的射频工作方式。编码芯片pt2262发出的编码信号由:地址码,数据码,同步码组成一个完整的码字。a0a1a21a3a4a5a6/d5a7/d4vssvccdoutosc2osc1t1a11/d0a10/d1a9/d2a8/d3位码是编码波形的基本单位,可以分为ad位(地址,数据)和sync位(同步)。根据相应端子电平的低,高,或者悬空状态,ad位可分别置为“0”,“l”或“f”,每位波

24、形由两个脉冲周期构成,每个脉冲周期含16个时钟周期。pt2262芯片引脚如图2-5图2-5 pt2262引脚说明:ao-a5:三态地址位;a6/d5-all/do:三态地址位或二态数据位;t1:发射使能位;osc1-osc2:内部振荡外接位;dout:数据输出位;vcc:电源正极;vss:电源负极。2.5.2 单电阻振荡器pt2262,pt2272都内置的振荡回路。通过在osc1和osc2端外接一个振荡电阻可构成一个精确的振荡器。为了确保pt2272能正确地对接收到的波形解码,要求pt2272的振荡频率必须是pt2262的发射频率的2.5至8倍。常用的振荡电阻配对如表2-1:表2-1 振荡电阻

25、配对表pt2262pt22724.7m820k*3.3m80k*1.2m200k*说明:*一表示pt2272的电源电压为5v-15v*一表示pt2272的电源电压为3v-15v这就意味着当pt2272的工作电压低于5v时,只能选用较小的振荡电阻值。在本系统中,由于用4节5号干电池供电,4节电池标准电压只为6v,在系统工作一段时间后整个系统的工作电压就会低于5v,所以我选用pt2272为200k和pt2262为1.2m的配对,用以保证系统在电压低于5v时,系统依然能够工作。2.5.3 pt2272介绍pt2272是与pt2262配对使用的一块遥控解码专用集成电路。采用coms工艺制造,它最大拥有

26、12位的三态地址管脚,可支持多个地址的编码。因此极大地减少了码的冲突和非法对编码进行扫描以使匹配的可能性。a0a1a21a3a4a5a6/d5a7/d4vssvccdoutosc2osc1t1a11/d0a10/d1a9/d2a8/d3pt2272芯片引脚如图2-6:图2-6 pt2272-l4引脚说明:ao-a7:三态地址位;do-d3:三态地址位或二态数据位;din:解码信号输入;osc1-osc2:内部振荡外接位;vt:有效传输确认;vcc:电源正极;vss:电源负极;由于pt2262必须与解码芯片pt2272配对使用,而市场上大量的pt2272都是4个数据位的,所以我们选用4个数据位的

27、设计。pt2272的操作流程:上电待机模式有信号输入?码地址匹配?码地址匹配?驱动vt码地址继续匹配?码地址继续匹配?不驱动vt否否否否是是是是否图2-7 pt2272上电工作流程图上电后pt2272进入待机模式,检查是否有接收信号,如无接收信号,仍停留在待机状态。否则在收到信号后,进行接收,码地址与设置的码地址进行比较。当接收地址与设置地址相互匹配时,数据存于寄存器中。当检查到连续两帧的码地址都匹配,且数据都一致时,相应的数据输出端有输出,并且驱动vt输出。当联系两帧的码地址不匹配时,vt不会被驱动,对于瞬态输出型来说,输出数据复位,而对锁存型的输出,则输出数据维持。26 密码存储部分的电路

28、设计为了保存用户设置的密码,该系统使用at24c02用来保存用户设置的密码,电路原理图如图2-8所示。单片机at89s52的p3.6接at24c02的sclk口作为它的串行移位时,at89s52的p3.5接at24c04的sda口作为它的串行数据或地址输入输出。该电路要注意的是scl、sda必须加上一上拉电阻,阻值为10k。图2-8 at24c02电路原理图红外遥控器(钥匙)的用户名(钥匙身份)和密码存放在at24c02中,当需要更改或读取用户名和密码时,只需对at24c02里的数据更改或读取。at24c02芯片介绍:(1)在介绍at24c02前,先介绍一下i2c总线。i2c总线使用两根信号线

29、来进行数据传输,一根是串行数据线(sda),另一根是串行时钟线(scl)。它允许若干兼容器件共享总线。总线上所有器件要依靠sda发送的地址信号寻址,不需要片选线。任何时刻总线只能由一个主器件控制,各从器件在总线空闲时启动数据传送,由i2c总线仲裁来决定哪个主器件控制总线。i2c总线数据传输的最高速率为400kbps,标准速率为100kbps。sda与scl为双向i/o线,都是开漏极端(输出1时,为高阻抗状态)。因此i2c总线上的所有设备的sda、scl引脚都要外接上拉电阻。i2c总线的协议如下:a) 只有在总线非忙时才被允许进行数据传送。b) 在数据传送时,当时钟线为高电平,数据线必须为固定状

30、态,不允许有跳变。时钟线为高电平时,数据线的任何电平变化将被当作总线的启动或停止条件。(2)at24c02芯片介绍。at24c02是美国atmel公司生产的i2c串行e2prom。它为可用电擦除、可编程只读存储器,自定时写周期,包括自动擦除时间不超过10ms,典型时间为5ms。芯片2.7v至6v的工作电压,可擦写100万次,数据保存可长达100年,提供8脚dip和soic封装。at24c02允许在一个写周期内同时对1字节到1页的若干字节进行编程写入,一页的大小取决于芯片内寄存器的大小。a.管脚介绍:wp:写保护。将该管脚接vcc,e2prom就实现写保护(只读)。将该管脚接地或悬空,可以对器件

31、进行读写操作。scl:串行时钟脚串行输入输出数据时,该脚用于输入时钟。sda:串行数据/地址输入脚双向串行数据/地址脚,用来输入输出数据。该脚为射(漏)极开路输出,需接上拉电阻。a0a1a2:片选或页选地址输入。用于芯片寻址。at24c02内部无连接。b.器件地址的约定:主器件在发送启动命令后开始传送,主器件发送相应的从器件的地址,8位从器件地址的高4位固定为1010。接下来的3位(见图2-9)用来定义存储器的地址,对于at24c02位无意义。最后一位为读写控制位。“1”表示读操作,“0”表示写操作。1010xxxr/w图2-9 at24c02从器件寻址c.应答信号每次数据传送成功后,接收器件

32、发送一个应答信号。当第九个时钟信号产生时,接收器件将sda下拉为低,通知已经接收到8位数据。27 报警电路设计本系统设计时考虑到防盗而设计了报警电路如图2-10,由蜂鸣器发声进行报警,蜂鸣器接在cpu的引脚p1.3上,通过pnp型三极管做电流放大,因此可以通过单片机控制蜂鸣器的频率及蜂鸣时间。当输入错误的密码进行开锁时,系统会报警,由p1.3口输出低电平使得pnp型三极管导通,蜂鸣器两端加电,由蜂鸣器发出1秒的报警声,当连续三次出现密码错误时,则系统会长时间报警,此举为了防止别人非法试探开锁。图2-10 报警电路28 本机处理与遥控处理功能选择本系统设计了一个自锁按键用来选择本机处理或者遥控处

33、理,在设置密码时一定要处于本机处理状态下,而开锁则可以选择遥控开锁也可以选择本机开锁,当此按键按下时,红灯亮表示选择了本机处理,此时可以设置密码,修改密码,也可以本机开锁,而不能遥控开锁;当此开关没按下时,红灯灭选择遥控开锁,此时可以通过遥控器输入密码进行开锁,在遥控开锁时不能进行本机开锁以及设置密码。3 系统软件设计 软件是整个控制系统设计的核心,它具有充分的灵活性,可以根据系统的要求而变化。在硬件结构一定的情况下,只要改变软件就能实现一些不同的功能。单片机所具有的智能功能要由软件来完成。在本系统中,软件结构采用模块化设计方法,将遥控接收器所要完成的功能分别编写和调试。所有模块调试成功以后,

34、将各个模块连接构成单片机软件系统。这样的设计有利于程序代码的优化,而且便于设计、调试和维护。对于51系列单片机,现有四种语言支持,即汇编、pl/m,c和basic。basic通常附在pc机上,是初学编程的第一种语言。一个新变量名定义之后可在程序中作变量使用,非常易学,根据解释的行可以找到错误而不是当程序执行完才能显现出来。basic由于逐行解释自然很慢,每一行必须在执行时转换成机器代码,需要花费许多时间不能做到实时性。basic为简化使用变量,所有变量都用浮点值。basic是用于要求编程简单而对编程效率和运行速度要求不高的场合。当前已经很少用到此语言了。pl/m是intel从8080微处理器开

35、始为其系列产品开发的编程语言。它很像pascal,是一种结构化语言,但它使用关键字去定义结构。pl/m编译器好像汇编器一样可产生紧凑代码。pl/m总的来说是高级汇编语言可详细控制着代码的生成。但对51系列,pl/m不支持复杂的算术运算、浮点变量而无丰富的库函数支持。c语言是一种源于编写unix操作系统的语言,它是一种结构化语言,可产生压缩代码。c可以进行许多机器级函数控制而不用汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对51的存储器结构有初步了解,寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理程序有规范的结构,可分为不同的函数。这种方式可使程序结构化将可

36、变的选择与特殊操作组合在一起的能力,改善了程序的可读性编程及程序调试时间显著缩短,从而提高效率。提供的库包含许多标准子程序,具有较强的数据处理能将己编好程序可容易的植入新程序,因为它具有方便的模块化编程技术c语言作为一种非常方便的语言而得到广泛的支持,c语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来。在本系统中,由于单片机内部的运算量不大,而c语言简单,己经能够满足系统需求,所以选择c语言来编写相应代码。31 应用软件设计原则应用系统中的应用软件是根据系统功能要求设计的,应可靠实现系统的各种功能。在本系统中,软件设计要力求做到以下几点:1) 软件结构清晰,

37、简捷,流程合理。2) 各功能程序实现模块化,子程序化。这样,即便于调试,链接,又便于移植,修改。3) 程序存储区,数据存储区要合理规划,既能节约内存容量,又使操作方便。4) 运行状态实现标志化管理。各个功能程序运行状态,运行结果以及运行要 求都要设置状态标志以便查询,程序的转移,运行,控制都可通过状态标志条件来控制。5) 经过调试修改后的程序应进行规范化,除去修改的痕迹,以便于交流和借鉴,也为以后的软件模块化,标准化打下基础。6) 实现全面软件抗干扰设计。软件抗干扰是单片机应用系统提高可靠性的 有利措施。具体的软件抗干扰方法,将在第四章中介绍。下面几节将详细介绍各个模块要实现的功能以及实现方法

38、。32 程序设计串行口初始化开始发射键按送数据到cpu串行口数据送完返回开始串行口初始化接收数据数据是否接完接收数据正确进入开锁程序不处理返回主程序图3-1遥控发射程序框图 图3-2遥控接收程序框图33 遥控接收程序遥控接收子程序要完成的功能就是不断地扫描解码芯片的地址位,接收解码芯片的数据位和有效传输确认位,判断出遥控器上发射过来的相应键值。由于解码芯片的地址位在默认情况下是接地的,对于遥控器上连接在编码芯片的数据位上的键值,只要置高,那么相应的解码芯片对应的数据位也会为高,遥控接收子程序可以直接接收判断,不需要再对地址位置位。本系统中值为3,6,9,#的键值就是直接接收。对于余下的8个连接

39、在编码芯片地址位的键值,当遥控器上的键按下后,遥控接收子程序就不断地循环置地址位为高,然后通过解码芯片的有效传输确认位来确认是不是相应编码芯片的地址位也为高。有效传输确认位输出高电平则编码芯片的相应地址位为高,记下相应地址位,推出遥控器上的键值。地址位与单片机之间加入三极管pnp8550进行隔离和驱动。有效传输确认位与单片机之间加入三极管npn8050进行隔离和驱动。所以当单片机的控制脚ra-1,ra-2,,ra-8为低时,解码芯片相应地址位为高。当到来,所以单片机读取数据位数据可以延迟一定的时间。因而遥控接收子程序中可以先处理地址位然后处理数据位数据,不会出现数据丢失。一位地址位最多需要等待

40、30ms以确定是否有值,8位最多等待8x30ms240ms,即0.24秒,然后接收数据位数据,不会给用户造成反应迟钝的感觉,符合用户要求。34 i2c通讯子程序如前说述,本系统中由单片机at89s52的p3.4和p3.5来分别模拟scl(串行时钟线)和sda(串行数据线)来实现与eeprom 24wc02it通讯。eeprom 24wc02的器件地址为aoh。a写操作(1)节写在字节写模式下,主器件发送起始命令和从器件地址信息(r/w位置零)给从器件,在从器件产生应答信号后,主器件发送at24wc02的字节地址7,主器件在收到从器件的另一个应答信号后,再发送数据到被寻址的存储单元。at24wc

41、02再次应答。并在主器件产生停止信号后开始内部数据的擦写,在内部擦写过程中,at24wc02不再应答主器件的任何请求。(2)页写用页写at24wc02可以一次写入16个字节的数据。页写操作的启动和字节写一样。不同在于传送了一个字节数据后并不产生停止信号。主器件被允许发送15个额外的字节。每发送一个字节数据后at24wc02产生一个应答位并将字节地址低位加1,高位保持不变。如果在发送停止信号之前主器件发送超过16个字节,地址计数器将自动翻转,先前写入的数据被覆盖。接收到16字节数据和主器件发送的停止信号后,at24wc02启动内部写周期将数据写到数据区。所有接收的数据在一个写周期内写入at24w

42、c02。(3)应答查询可以利用内部写周期时禁止数据输入这一特性。一旦主器件发送停止位指示主器件操作结束时,at24wc02启动内部写周期,应答查询立即启动,包括发送一个起始信号和进行写操作的从器件地址。如果at24wc02正在进行内部写操作,不会发送应答信号。如果at24wc02己经完成了内部自写周期,将发送一个应答信号主器件可以继续进行下一次读写操作。(4)写保护写保护操作特性可使用户避免由于不当操作而造成对存储区域内部数据的改写。当wp管脚接高时,整个寄存器区全部被保护起来而变为只可读取。at24wc02可以接收从器件地址和字节地址。但是装置在接收到第一个数据字节后不发送应答信号从而避免寄

43、存器区域被编程改写。b.读操作对at24wc02读操作的初始化方式和写操作时一样,仅把r/w位置为1,有三种不同的读操作方式:立即地址读,选择读和连续读。(1)立即地址读at24wc02的地址计数器内容为最后操作字节的地址加1。也就是说,如果上次读/写的操作地址为n,则立即读的地址从地址n+1开始。如果n=e(对24wc02e=255)则计数器将翻转到0且继续输出数据at24wc02接收到从器件地址信号后(r/w位置1),它首先发送一个应答信号,然后发送一个8位字节数据。主器件不需发送一个应答信号,但要产生一个停止信号。(2)选择性读选择性读操作允许主器件对寄存器的任意字节进行读操作。主器件首

44、先通过发送起始信号,从器件地址和它想读取的字节数据的地址执行一个伪写操作。在at24wc02应答之后,主器件重新发送起始信号和从器件地址,此时r/w位置1,at24wc02响应并发送应答信号,然后输出所要求的一个8位字节数据,主器件不发送应答信号但产生一个停止信号。(3)连续读操作连续读操作可通过立即读或选择性读操作启动。在at24wc02发送完一个8位字节数据后,主器件产生一个应答信号来响应,告知at24wc02主器件要求更多的数据,对应每个主机产生的应答信号at24wc02将发送一个8位数据字节。当主器件不发送应答信号而发送停止位时结束此操作。at24wc02输出的数据按顺序由n到n+l输

45、出。读操作时地址计数器在at24wc02整个地址内增加。这样整个寄存器区域在可在一个读操作内全部读出。当读取的字节超过255,计数器将翻转到零并继续输出数据字节。35 系统程序系统上电后首先完成初始化工作,然后按照事先设定好的程序执行。本系统程序8是基于单任务机制的。这种机制的应用程序是一个无限的循环,在这循环的过程中调用相应的子程序函数来完成相应的操作。这种机制具有简单直观,易于控制的优点。程序中有以下一些设定:设定用户输入的密码一律存于发射缓冲区中。在密码修改时从发射缓冲区取出,写入at24wc02。密码比对时将at24wc02中的密码取出来存于接收缓冲区中,然后将发射缓冲区中的密码与接收

46、缓冲区的密码进行比对。固定键盘处理程序的操作,包括:密码的设定和密码的比对。遥控器的操作包括:密码的比对。3.5.1 遥控密码系统的操作方法(一) 密码设置(说明:密码设置必须在固定键盘上操作)1) 先按一下门内侧的密码设定按钮,此时黄灯闪亮。2) 在固定键盘的0-9键上输入你喜欢的密码,每按一键黄灯闪烁一次并发出“哗”的一声。3) 然后按“#”键,密码设定完成。(二) 开启操作(说明:开启操作既可以在固定键盘上也可以在遥控器上操作)a) 固定键盘上的开启操作1) 依次输入你设定的密码,每按一键黄灯闪烁一次并发出“哗”的一声。2) 然后按“#”键,绿灯亮即可开启。注意:输完密码3秒后绿灯灭,密

47、码锁自动关闭,需重新输入密码才能开启。输入三次错码,固定键盘和遥控器都被锁定,黄灯将连续闪烁,并持续报警。待报警停止后可重新输入密码,再行开启。如果门被开启时,红灯同时点亮表示电池电压不足,应及时更换电池。b) 遥控器上的开启操作1) 先按“#”键,黄灯闪烁一次并发出“哗”的一声。2) 依次输入你设定的密码,每按一键黄灯闪烁一次并发出“哗”的一声。3.5.2 实现上述操作方法的程序流程图初始化开始开关k按下扫描按键是否有键按下?设置键按下?enter键按下?接收五位密码密码是否正确?出错报警处理开锁遥控器有无发码?接收红外线信号设置并保存密码译码是否否是是否是否是否否图3-3系统总体程序流程图

48、4 技术难点及解决方案本系统是一个数字和模拟相结合的系统。无线射频的发射和接收是属于模拟电路部分,单片机及其外围器件有属于数字电路部分。因而防止数字和模拟信号相互干扰就显得尤为重要。41 系统抗干扰措施在本系统设计中,由于有无线信号的发射和接收,因而必须减少元器件之间的干扰和采取措施提高系统的抗干扰能力。为了少走弯路和节省时间,本系统在设计时就充分考虑并满足抗干扰性的要求,避免在设计完成后再去进行抗干扰的补救措施。形成干扰的基本要素有三个9:(1) 干扰源,指产生干扰的元件、设备或信号。用数学语言描述如下:du/dt, di/dt大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都

49、可能成为干扰源。在本系统中电磁铁,6mhz的晶振就是干扰源。(2) 传播路径,指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。空间的辐射干扰必将影响到无线射频信号的传播。(3) 敏感器件,指容易被干扰的对象。如:a/d,d/a变换器,单片机,数字ic,弱信号放大器等。本无线电系统的基本任务就是传递用户按下的键值信息。理想的本系统所接收到的信息应该和原来发送的信息完全一样。但这种理想情况实际上是很难实现的,信息在传递过程中总要伴随着一定程度的信号失真(接收端重现的信息总是和发射端的原始信息有些差异称为失真)。在无线电系统中,产生失真的原因大致可以分为两类

50、。一类是由于通信设备本身不完善,如发射器和接收器中的部分器件性能不好,产生失真。这种失真可以通过反复试验比较,找出问题,更换元器件就能实现。另一种失真是干扰和噪声引起的,这种失真在很多情况下是不能完全克服的。对于无线电系统,常见的干扰有:电台干扰,工业干扰,天电干扰和宇宙干扰,此外还有设备内部所产生的噪声。电台干扰是指其它无线电发射设备所产生的干扰。由于无线电技术的迅猛发展,当前在无线电波的各个波段中工作的电台日益增多,因此空中的电波非常拥挤。在接受天线上除了我们想要接收的信号之外,还有许许多多其它各种无线电台的信号。这些电台的信号就可能进入接收机中,成为有害的干扰。电台干扰在无线电波的各个波

51、段中都存在。在目前,短波波段内电台间的习月互干扰已比较严重,所以本系统中就采用超短波超高频波段315mhz.工业干扰是由各种各样的电气设备所产生的。如电灯,电动机及汽车的点火系统所产生的电火花等,都是工业干扰的来源。工业干扰信号的频谱很宽,它从极低频率开始,一直延伸到几十,甚至几百兆赫的超高频波段。由于保险箱一般在室内工作,所以受工业干扰的影响较小,同时也采取了后面介绍的万法进行抑制。天电干扰是指大气中的各种电磁现象所引起的干扰。雷电所产生的强大电磁波辐射是我们所熟悉的天电干扰。打雷时,收音机也可以发出很大的“咙啦”声。天电干扰的频谱主要在波长较长的波段,在超短波范围内,这种干扰实际上很微弱。

52、因而本系统基本上不受天电干扰的影响。宇宙干扰是指来自于宇宙间各种天体的电磁辐射。太阳就是一个强大的具有很宽频谱的辐射源,它的频谱从米波,分米波一直延伸到可见光以外的波段此外银河系中的一些恒星以及许多远离地球的星体也都辐射各种频率的电磁波,这种辐射对某些无线电设备有时也是有害的。但对于本系统,这种影响微乎其微。在本系统中,针对干扰形成的三要素,具体采取了下列的抗干扰设计。整个抗干扰设计的基本原则是:抑制干扰源,切断干扰传播路径,提高敏感器件的抗干扰性能。(一) 抑制干扰源抑制干扰源就是尽可能的减小干扰源的du/dt.di/dt。这是抗干扰设计中最优先考虑和最重要的原则,常常会起到事半功倍的效果。

53、减小干扰源的du/dt主要是通过在干扰源两端并联电容来实现。减小干扰源的di/dt则是在干扰源回路串联电感或电阻以及增加续流二极管来实现。抑制干扰源的常用措施如下:(1) 给电磁铁两端增加续流二极管,消除断开线圈时产生的瞬时反电动势干扰。(2) 电路板上每个ic的电源与地之间,都并接一个0.1uf高频电容或100uf的电解电容作为去藕电容,以减小ic对电源的影响。注意高频电容的布线,连线应靠近电源端并尽量粗短,否则,等于增大了电容的等效串联电阻,会影响滤波效果。(3) 电源输入端跨接了100pf的电解电容和一个0.1uf的陶瓷电容作为去藕电容,这将有效地减少电源对与之相连的ic的影响。(4)

54、布线时避免90度折线,减少高频噪声发射。(二) 按干扰的传播路径可分为传导干扰和辐射干扰两类。所谓传导干扰是指通过导线传播到敏感器件的干扰。高频干扰噪声和有用信号的频带不同,可以通过在导线上增加滤波器的方法切断高频干扰噪声的传播,有时也可加隔离光耦来解决。电源噪声的危害最大,要特别注意处理。所谓辐射干扰是指通过空间辐射传播到敏感器件的干扰。一般的解决方法是增加干扰源与敏感器件的距离,用地线把它们隔离和在敏感器件上加蔽罩。本系统中采取的切断干扰传播路径的措施如下:(1) 充分考虑电源对单片机的影响。电源做得好,整个电路的抗干扰就解决了一大半。单片机对电源噪声很敏感,要给单片机电源加滤波电路,减小电源噪声对单片机的干扰。设计中利用电感和电容组成lc滤波电路,使各个tc之间都用滤波电路相隔离,这样使它们的相互干扰降到最低。这里不能用电阻和电容组成rc滤波电路,因为电阻上有大的压降,电源电压为6v,在经过电阻的分压后在tc上的电源电压将很难满足ic工作需要。由于电感的内阻很小,与ic的内阻相比,电源电压的在电感上的压降微不足道,不会影响ic的电源电压。设计原理如图5-1:图4-1 lc滤波电路在系统中的应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论