1、摘 要随着社会科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。红外电子密码锁是一种以高强度密码序列为基础,在单片机上实现的密码开关。它以红外光作为信息媒体,从而实现了遥控,也可以配备一个结构简单的接触式通讯接口,坚固并且防损。该锁具有使用方便、操作简单、价格低廉等特点,给人们的生活带来了极大方便。特别适用于那些正常人体不宜接近的特殊场合,比如高辐射区、高传染区等。本设计以单片机AT89S52作为密码锁监控装置的检测和控制核心,分为主机和从机,实现钥匙信息
2、在主机上的初步认证注册、密码信息的加密、红外传输、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,利用红外来传输,这便于对密码信息的随机加密和保护。而且采用红外遥控相对于机械锁和键盘输入的电子密码锁具有较高的优势。如红外线发射装置采用红外发光二极管,遥控发射器易于小型化且价格低廉;采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。所以红外线遥控是目前使用最广泛的一种通信和遥控手段。软件设计采用自上而下的模块化设计思想,以使系统朝着分
3、布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。关键词 红外线 遥控 电子密码锁 单片机目 录1 绪论11.1 引言11.2 红外通信基本原理21.3设计要求31.3.1基本要求31.3.2说明32系统设计32.1通信接口组成及工作原理42.2红外钥匙(从机)组成及工作原理42.3红外遥控门锁(主机)组成及工作原理52.2.3红外钥匙(从机)和红外遥控门锁(主机)之间的通讯协议53方案选择和论证63.1红外编码和发射模块63.2红外解码和接收模块83.3红外钥匙(从机)子系统设计103.4数据存储模块设计113.4.1AT24C01芯
4、片介绍113.4.1.1管脚介绍123.4.1.2器件地址的约定123.4.1.3应答信号123.4.1.4AT24C01写操作123.4.1.5AT24C01读操作133.5红外遥控门锁系统设计153.5.1数据存储模块设计163.5.2红外接收模块设计163.5.3红外发射模块设计163.5.4开锁驱动模块设计163.5.5工作显示模块设计163.6红外遥控电子密码锁总体原理图和PCB板图设计163.7电路的仿真193.7.1Proteus ISIS软件简介193.7.2红外电子密码锁电路的仿真204系统软件设计204.1Keil uVision 2软件简介214.2系统功能子程序214.
5、2.1数据读写模块214.2.2红外数据发射模块设计224.2.3红外数据接收模块设计234.2.4红外钥匙(从机)子系统软件结构设计254.2.5红外遥控门锁(主机)子系统软件结构设计264.2.6红外钥匙(从机)主程序框图262.2.7红外遥控门锁(主机)主程序框图285系统调试295.1调试仪器295.2整体调试295.3硬件单元调试295.3.1红外钥匙(从机)调试295.3.2红外遥控门锁(主机)调试295.4软件调试306结论30致谢31参考文献32英文摘要33附录35毕业论文(设计)成绩评定表521 绪论1.1 引言锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,
6、必须以钥匙或暗码打开的扣件。锁具发展到现在已有一百多年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。为什么会出现这种情况呢?因为传统锁具都存在致命的弱点:第一、 锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏;第二、 锁具制作工艺,技术落后,无法阻止技术手段的开启。目前,市场上很多国
7、内外的锁具,实际上都不具备真正的防盗功能。在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言:“没有我打不开的锁。”其实,不是他们多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。本设计就是其中的一种,红外遥控电子密码锁。本设计是利
8、用红外传输为途径,方便远距离开锁,不用像传统锁那样一定要将钥匙插进锁里才能开启;利用单片机来随机产生密码并加密,防止了在开锁时被人中途拦截了密码信息而复制出另外的钥匙来,这是因为密码是随机产生的,每次开锁的具体密码均是不一样的,所以就算窃取了上次开锁的密码也是不能将锁打开。本设计的最大特点就在于采用了双单片机的双向通讯,密码是在锁与钥匙两边均有加密的,从而杜绝了开锁信息被盗取的可能性。该设计具有使用方便、操作简单、价格低廉等特点,特别适用于那些正常人体不宜接近的特殊场合,比如高辐射区、高传染区等。1.2 红外通信基本原理红外遥控是单工的红外通信方式,本设计的红外遥控采用以通信方式为基础的红外遥
9、控,而且本设计也使用了红外通信技术,故着重分析红外通信的基本原理。 红外通信是利用红外技术实现两点间的近距离保密通信和信息转发。它一般由红外发射和接收系统两部分组成。发射系统对一个红外辐射源进行调制后发射红外信号,而接收系统用光学装置和红外探测器进行接收,就构成红外通信系统。 红外线是波长在750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通信一般采用红外波段内的近红外线,波长在0.75um至25um之间。红外数据协会(IrDA)成立后,为了保证不同厂商的红外产品能够获得最佳的通信效果,红外通信协议将红外数据通信所采用的光波波长的范围限定在850至9
10、00nm之内。 红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号(载波信号),通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。脉时调制(PPM)是红外数据协会(IrDA)和国际电子电工委员会(IEEE)都推荐的调制方式,本设计采用脉时调制方法,即用两个脉冲串之间的时间间隔来表示二进制信息,数据比特的传送仿照不带奇偶校验的RS232通信,首先产生一个同步头,然后接着8位数据比特,如图1-1所示。图1-1 PPM调制波形图载波信号的频率 f=38KHz,载波周期T=26.32u
11、s,本设计使用单片机软件产生载波,取T=26us,脉冲宽度t1=10T=260us,二进制数0的脉冲串周期t2=500us,二进制数1的脉冲串周期t3=1000us。 普通的红外遥控采用面向指令的帧结构,数据帧由同步码,地址码和指令码组成,指令码长度多为816个比特,传送多字节遥控协议时效率偏低,而增加指令码的长度不利于接收器同步,为此本设计选用一种面向字节的帧结构,采用类似于异步串行通信的帧结构,每帧由一个起始位(二进制数0)、8个数据位和2个停止位(二进制数1)构成,如图2-8所示。每帧传送1个字节的数据,帧与帧间隔大于2ms,帧结构不含地址信息,寻址问题由高层协议解决。 图2-2 数据帧
12、结构示意图由于红外光存在反射,在全双工的方式下发送的信号也可能会被本身接收,因此,红外通信应采用异步半双工方式,即通信的某一方发送和接收是交替进行的。 1.3 设计要求1.3.1 基本要求通过红外遥控,单片机之间的串口通信来实现近距离遥控开锁。利用软件来加密和解密,加强密码的安全性。锁和钥匙要成配套,不同套之间的钥匙和锁不能使用。要有钥匙丢失之后,可将该钥匙报废的功能。1.3.2 说明 红外通信元件不限,其安装位置及安装方式自定。 红外传输要有1M以上的距离。 单片机类型不限,经济实用,性价比高为上。 单片机内的序列号是产品在出厂时就已经设定,无法更改。2 系统设计根据设计任务要求,本设计的系
13、统结构框图如图2-1 计算机通信接口红外遥控门锁(主机)红外钥匙(从机)图2-1 系统结构框图2.1 通信接口组成及工作原理通信接口电路是连接前台计算机和红外钥匙、红外遥控门锁的的通信桥梁。它通过一个RS-232串行通信接口将红外钥匙和红外遥控门锁连接到计算机。其结构框图如图2-2: RS-232-C标准是最简单最常用的串行通信标准,该标准是美国电气工业协会(EIA)1969制订的。RS-232-C标准传输信号采用RS-232-C 计算机通信 接 口RS232接 口红外钥匙读写接口红外遥控门锁读写接口图2-2 通信接口结构框图逻辑电平,与TTL(05V)、CMOS(015V)逻辑电平完全不同:
14、逻辑0电平规定为+5V+15V之间,逻辑1电平为-5V-15V之间,因此,一般使用专用芯片把微处理器信号电平(TTL电平) 转换为RS-232-C电平。该标准的传输速率只能达到20kb/s,最大传输距离15m。 RS-232-C通信口与计算机连接常用DB25插座和DB9插座,其接口连线分三种:信号线、握手线与地线。 RS-232-C通信握手方式有两种:硬件握手和软件握手,常用的近距离通信采用软件握手方式,三根数据线和地线就可以连接起来通信。 2.2 红外钥匙(从机)组成及工作原理红外钥匙是红外遥控密码锁的遥控器部分,红外钥匙内部存储了本套系统的序列号、注册及加密方法等信息。其结构框图如图2-3
15、: 单 片 机数据存储红外发送红外接收软件看门狗图2-3 红外钥匙结构框图红外钥匙采用软件编码方式,取代传统的专用芯片编码。在待机状态下,整个红外钥匙系统工作在完全掉电方式,当有键盘按下,系统上电工作,发射一个信息给主机,然后接收了主机发过来的随机密码信息,再将接收到的休息加密经红外线调制后发射出去。 2.3 红外遥控门锁(主机)组成及工作原理红外遥控门锁是整套系统的主控部分,其内部包含了本套系统的序列号及其识别方法、注册信息、随机密码的产生机制和解密从机密码及郊验等信息。其结构框图如图24:单 片 机数据存储软件看门狗红外发送红外接收显示开锁驱动图2-4 红外遥控门锁结构框图待机状态下,红外
16、遥控门锁系统工作在完全掉电状态,整个系统除了实时时钟电路和红外检测开关外,均不加电。当有检测到有红外线时,打开电控开关,系统上电工作,开始接收红外线数据。收到信息后就产生一个随机数发送给从机,当接收到经过从机将发过去的随机数与本套系统序列叫加密后的信息,就解密并检验解密后的序列号是否正确,否就继续等待,是就通过。2.4 红外钥匙(从机)与红外遥控门锁(主机)之间的通讯协议第一步:从机:“我来了”; 主机:“谁啊”m1(随机数);第二步:从机:m1与序列号(一套钥匙与锁唯一且独一的固定号码,出厂时固加硬件上的)加密后得到N1,发数N1; 主机:N1与m1解密后得到序列号,比较序列号是否相同,不同
17、继续等待握手,相同时,发送“密码”m2(随机数);第三步:从机:m2与密码加密后得到N2,发送N2; 主机:N2与m2解密后得到密码,密码相同则继续,不同继续等待握手,相同时发送“新的密码”新的密码;第四步:从机:保存密码,将密码再返回给主机; 主机:密码对了,发送“结束”,开锁;不对,再发送密码; 从机:结束。注册协议:第一步:同上;第二步:不同时同上;相同时,发送“注册啦”密码;第三步:从机:保存密码,将密码返回给主机; 主机:密码对了,注册完毕,发送“结束 ”,不对重发。3 方案选择和论证3.1 红外编码和发射模块方案一:专用芯片解决方案。 专用红外编码芯片种类很多,如日本三菱公司的M5
18、0426AP、PT2262、BL9148、ZD6631等,此类芯片一般集载波振荡、编码、发射于一体,具有很强的抗干扰能力,外围电路简单,使用很方便,而且价格也很低。通用的遥控器上大多使用此类专用芯片。 但是,专用芯片也有致命的弱点:专用芯片的应用灵活性很差,其内部编码已经固定,无法修改内部数据,不适用于经常需要改动传送数据的场合;专用芯片几乎都是面向指令型的编码遥控方式,传输效率较低;大多数的专用芯片的内部编码及技术数据已经公诸于世,会产生安全漏洞。 方案二:微处理器与专用芯片组合解决方案,见图3-1。 图3-1 PT2262红外编码发射电路该方案由微处理器与专用编码芯片PT2262组合完成编
19、码工作,载波产生由MC4011与38KHz晶振一起构成,振荡产生38KHz方波。 PT2262的功能是让待发射数据以6位为一体的方式并行发出。PT2262把6位并行数据转换成串行数据,减轻编程负担,使传输速度更快。PT2262的A6/D0A11/D5共6个复用端口全部用作数据口,则PT2262自动把微处理器送出的6位数据变成串行数据从Dout口发出。 该方案可由微处理器任意制定密码位数、编码解码算法和同步信号,大大提高了数据保密度。其缺点是由于使用了PT2262,增加了硬件成本和电路复杂性。 方案三:微处理器单独解决方案。电路如图4-2所示。图3-2 软件编码发射电路该方案使用微处理器的I/O
20、口直接产生38KHz已调波,驱动红外发光二极管,发射红外数据。38KHz方波由CPU的定时器产生或由软件编程产生。 红外编码工作由软件完成,因此,红外编码方案可以任意设计,外部只需配接非常简单的硬件电路,大大降低了了电路的复杂性,有利于降低成本,减小遥控器的体积。 由于使用软件编码方案,占用了CPU的一定的时间,CPU处理速度 受到一定的影响,但是,对于遥控器这一类功能比较单一的系统来说,处理任务比较少,根本影响不了CPU的处理效率,仅仅是增加了软件编程的负担。 经比较,方案三既可满足题目要求,电路又非常简单,硬件成本又很低,仅仅是增加了软件的编程负担,使得红外编码非常灵活,所以采用该方案。
21、3.2 红外解码和接收模块方案一:分立元件解决方案,电路如图3-3所示。 图中RD1为红外接收管;R3、R4,VT1构成反相放大器;VT2、R5、C2构成滤波器,滤掉38KHz的高频载波;R6、R7、VT3构成整形电路, 图3-3 低电压红外接收电路将滤波后的波形处理为较好的方波;C1、C3为耦合电容;R2为限流电阻,当接收到较强的信号是保护VT1。 该方案最大的优点是供电电压比较低,可用两节电池3V电压供电。 但是,由于电路使用分立元件构成,其稳定性和抗干扰能力不高,影响红外数据传输的准确性。 方案二:集成电路解决方案,电路如图3-4所示。 该方案使用一体化红外接收器,集红外接收和放大于一体
22、,不需任何外接元件,就能完成从红外接收到输出与TTL电平兼容的所有工作,而体积和普通的塑封三极管大小一样。 图3-4 TL1838接收电路TL1838一体化接收头的简介:TL1838的管脚分布如图4-5所示,2脚、3脚分别为地电源和地,1脚是解调信号输出,其电平与TTL兼容。TL1838系列特性如下:图3-5 MK0038引脚图Figure3-5 TL1838 Pin Configuration38KHz宽电压一体红外接收头作电压:2.75.5V工作电流:1.4mA距离:15M频率:38K角度:45波长:940nm铁壳:有 TL1838是黑色环氧聚光透镜,滤除了可见光的干扰。内含红外线PIN接
23、收管、选频放大器和解调器。 当红外线发射器发出的信号经空间传送到TL1838时,它内部的PIN红外线接收管将红外线转换为电信号,该信号经选频放大、解调后由1脚输出与TTL电平兼容的电信号,该信号可以直接送入微处理器进行处理。 TL1838的输出波形如图3-6所示。当接收到频带内的红外信号时,TL1838接收器会输出低电平,否则数据高电平,从而“将时断时续”的红外信号解调成原来的连续方波信号。 图3-6 (a) 已调制红外信号 (b) TL1838输出信号TL1838的优点是稳定性好,抗干扰能力很强,外围电路非常简洁,成本又不高,适用于各种红外遥控和红外数据传输,是替代其它红外接收放大器的理想元
24、件。而且它的工作电压是2.75.5V,有效传输距离为15M,是一款性价比很高的红外一体化接收头。经比较,方案二既可满足题目要求,电路又非常简单,硬件成本又很低,通过软件编程,使得红外编码非常灵活,所以采用该方案。 3.3 红外钥匙(从机)子系统设计根据红外遥钥匙(从机)的功能需求和总体设计方案,建立红外钥匙(从机)的逻辑框图,如图3-7所示。 红外遥控器(钥匙)的硬件特点: l 硬件以美国ATMEL公司的AT89C2051为控制核心,DIP-20封装,体积小,功能齐全,工作电压范围2.7V6V;(考虑到价格等因素,实验用AT89S52) l 设置电压监控功能,当电源电压低于2.75V时,产生一
25、下下降沿脉冲,向单片机申请电压低中断; l 低功耗控制电路管理整个系统的电源,待机状态下,低功耗控制电路关闭整个系统的电源,系统功耗几乎为零; AT24C01红外接收红外发送开关按键看门狗5V电源图3-7 红外遥控器逻辑框图3.4 数据存储模块设计由于红外钥匙(从机)大部分时间工作的掉电状态下,因此,有必要对红外钥匙(从机)正常工作所需的数据进行保护,例如红外钥匙(从机)本身的序列号和加密程序,由于实验所有的单片机内存储空间有限,所以本设计采用了串行EEPROM AT24C02,电路原理图如图3-8所示。 图3-8 数据存储电路红外钥匙(从机)的加密程序和主机产生的密码存放在AT24C02中,
26、当需要更改或读取密码时,只需对AT24C02里的数据更改或读取。该电路要注意的是SCL、SDA必须加上一上拉电阻,阻值为10K。 3.4.1AT24C01芯片介绍:AT24C01是美国ATMEL公司生产的I2C串行E2PROM。它为可用电擦除、可编程只读存储器,自定时写周期,包括自动擦除时间不超过10ms,典型时间为5ms。芯片2.7V至6V的工作电压,可擦写100万次,数据保存可长达100年, 提供8脚DIP和SOIC封装。AT24C01允许在一个写周期内同时对1字节到1页的若干字节进行编程写入,一页的大小取决于芯片内寄存器的大小。 3.4.1.1 管脚介绍: WP:写保护。将该管脚接VCC
27、,E2PROM就实现写保护(只读)。将该管脚接地或悬空,可以对器件进行读写操作SCL:串行时钟脚串行输入输出数据时,该脚用于输入时钟。 SDA:串行数据/地址输入脚双向串行数据/地址脚,用来输入输出数据。该脚为射 (漏)极开路输出,需接上拉电阻。 A0A1A2:片选或页选地址输入。用于芯片寻址。AT24C01内部无连接。 3.4.1.2 器件地址的约定: 主器件在发送启动命令后开始传送,主器件发送相应的从器件的地址,8位从器件地址的高4位固定为1010。接下来的3位(见图4-11)用来定义存储器的地址,对于AT24C02位无意义。最后一位为读写控制位。“1”表示读操作,“0”表示写操作。 图3
28、-9 AT24C01从器件寻址3.4.1.3 应答信号 每次数据传送成功后,接收器件发送一个应答信号。当第九个时钟信号产生时,接收器件将SDA下拉为低,通知已经接收到8位数据。AT24C02应答时序如图-10所示 图3-10 AT24C01应答时序3.4.1.4 AT24C02写操作 字节写 在字节写模式下,主器件发送起始命令和从器件地址信息给从器件。在从器件响应应答信号后,主器件将要写入数据的地址发送到AT24C01的地址指针,主器件在收到从器件的应答信号后,再送数据到相应数据存储区地址。AT24C01再响应一个应答信号,主器件产生一个停止信号;然后,AT24C01启动内部写周期。AT24C
29、01字节写时序如图3-11所示。 图3-11 AT24C01字节写时序页写 页写操作时,最多可以一次向AT24C01中写入8个字节的数据。在写入命令后,主器件发送8个字节的数据,每传送完一个字节数据后,AT24C02响应一个应答信号,寻址字节低位自动加1,而高位保持不变。 如果主器件在发送停止信号前发送的字节数超过8个,先前写入的数据被自动覆盖。接收到8字节数据后和主器件发送的停止信号后,AT24C01启动内部写周期将数据写到数据区。页写时序如图3-11所示。 图3-11 AT24C02页写时序3.4.1.5 读操作 对 AT24C02读操作的初始化和写操作时一样,仅把R/W位置为1,有三种读
30、操作方式:立即地址读;选择地址读;立即/选择地址连续读。立即地址读: AT24C01的地址计数器内容为最后操作字节的地址加1。如果N=E(AT24C01中E=255),则寄存器将会翻转到地址0继续输出数据,在AT24C01接收到从机地址以后(R/W=1),它首先发送一个应答信号,然后发送8位一字节的数据。主机产生一个停止信号。AT24C02立即地址读时序如图3-12所示。 图3-12 AT24C01立即地址读时序选择地址读 选择/随机读操作允许主机对寄存器的任意字节进行读操作。主机首先进行一次空写操作,发送起始条件、从机地址和它想读取的字节数据的地址,在AT24C01应答以后,主机重新发送起始
31、条件位和从机地址位 ,此时R/W置为“1”。 AT24C01响应并发送应答信号然后输出要求的8位字节数据。主机不发送信号应答,但是产生一个停止位。AT24C01选择地址读如图3-13所示。 图3-13 AT24C01选择地址读连续读 在连续读方式中,首先执行立即读或选择字节读操作。在AT24C01发送完8位一字节数据后,主机产生一个应答信号来响应,告知AT24C01主机要求更多的数据,对应每个主机产生的应答信号AT24C01将发送一个8位的数据字节。当主机发送非应答信号时结束读操作,然后主机发送一个停止信号。 从AT24C01输出的数据按顺序输出,由N到N+1。读操作时的地址计数器在AT24C
32、01整个寄存器区域增加,这样整个寄存器区域可在一个读操作内全部读出。当超过E(对于24C01, E=255)字节数据被读出时,计数器将循环计数继续输出数据。连续读时序如图3-14所示。图3-14 AT24C01连续读时序3.5 红外遥控门锁子系统设计根据红外遥控门锁的功能需求和总体设计方案,建立红外遥控门锁的逻辑框图,如图3-15所示。 图315 红外遥控门锁逻辑框图红外遥控门锁硬件特点: l 红外遥控门锁以美国ATMEL公司的AT89S52为控制核心,DIP-40封装,功能齐全,工作电压范围2.7V6V; l 低功耗控制电路管理整个系统的电源,待机状态下,低功耗控制电路关闭整个系统的电源,仅
33、向红外开关和实时时钟供电, 功耗只有几十微安; l 红外开关是低功耗控制电路的启动控制开关,当有红外线进入有效区域,红外开关动作,低功耗控制电路打开电控开关,向系统供电,操作完毕,系统掉电; l 数据存储由串行的E2PROM实现; 351数据存储模块设计 红外遥控门锁子系统的数据存储模块与红外钥匙(从机)子系统的数据存储模块设计在硬件上基本相同。电路参见下面的电路总图。 352红外接收模块设计 红外遥控门锁子系统的红外接收模块采用一体化的红外接收集成电路,具体设计在方案比较部分已做详细的论述,在此不再赘述。 353红外发射模块设计 红外遥控门锁子系统的红外发射模块与红外钥匙(从机)的发射模块几
34、乎相同,具体设计在方案比较部分已做详细的论述,在此不再赘述。 354开锁驱动模块设计 锁体部分使用技术成熟的电驱动锁,本设计没有涉及到,仅给出开关量输出接口。 355工作指示模块设计 本模块使用了发光二极管指示工作状态,包括开锁成功指示和钥匙注册指示。 3.6 红外遥控电子密码锁的总体原理图和PCB板图设计系统以单片机AT89S52作为控制中心,完成四方面的功能:红外信号的发射和接收;处理红外传输信号,红外信号的检测;密码的加密和解密;开锁和注册的显示。单片机AT89S52资源丰富,内含一个8位的微处理器(CPU),8kB的片内程序存储器ROM(Read Only Memory),256B的片
35、内数据存储器RAM(Random Access Memory),四个8位并行I/O接口P0P3,三个定时/计数器,五个中断源,一个全双工通用异步接收发送器UART(Universal Asynchronous Receiver Transmitter),有片内震荡器和时钟产生电路,内部晶振11.0592M,内置看门狗定时器WDT(Watch Dog Timer)和在系统编程ISP(In System Program) 6 .50。单片机接收从传感器检测电路输入的逻辑信号和脉冲信号,并将输入的信号进行处理运算,以控制电流或控制电压的形式输出给被控制的单元电路,完成各项任务的要求。为了方便单片机引
36、脚的使用,将单片机所有I/O口引脚用接口引出。在实际应用中,串行通信与单片机控制电路密切相关,因此把串行通信与单片机控制电路联合一起组成单片机最小系统,电路如图316319所示。电路设计时,考虑到器件对电源噪声很敏感,因此Vcc必须要对地加去耦电容C2和C3(从机只加C2)。红外钥匙(从机)总体电路原理图:PCB板图(元件位置示意图):PCB制板图:红外遥控门锁(主机)电路原理图:PCB板图(元件位置示意图):PCB制板图:3.7 电路的仿真3.7.1Proteus ISIS软件简介:Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系
37、统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当
38、前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本章介绍Proteus ISIS软件的工作环境和一些基本操作。3.7.2红外电子密码锁电路的仿真利用Proteus ISIS和Keil C51 uVision2互联来实现电路的仿真(为了简便,而且只是验证方案的可实性,所以没加上红外模块):4 系统软件设计系统的软件设计采用C语言,对单片机进行编程实现各项功能。程序是在Windows XP环境下采用Keil uVis
39、ion 2软件编译的,可以实现单片机对红外对管的查询、电机方向的确定等功能。主程序主要起到一个导向和决策功能,决定什么时候系统该做什么。点滴速度监控系统的各种功能的实现主要是通过调用具体的子程序。4.1 Keil uVision 2软件简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就
40、能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope
41、51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。4.2 系统功能子程序4.2.1 数据读写模块模块名:24cxx,其读取和写入方框图如41、42所示。图4-1 数据读取模块框图图4-2 数据写入模块框图4.2.2 红外数据发射模块设计将待发射数据缓冲区指定长度的数据以红外线为载波发射出去。每次发送一帧数据。其模块框图如图43所示。红外遥控系统通信协议: 本系统制定了严格的红外数据通信协议。 数据的发射和接收以数据包的形式进行,数据包的开始为起始标志STX,随后为数据块的长度、和数据块内容,最后为校验码及数据包结束标志EX
42、T。STX和ETX分别规定为ASCII字符的02H和03H,其余各项均用ASCII字符表示。数据块长度和校验码各占2个字节,数据块最大长度为32个字节,数据块的内容为发送者身份标识、指令、和数据,发送者身份标识和指令各占1个字节,用ASCII字符表示,具体参见各个子系统的数据结构描述。 图4-3 红外数据发射模块框图4.2.3 红外数据接收模块红外数据接收原理: 接收部分由单片机AT89S52的中断INTO、定时器T0及红外数据接收模块构成一个红外遥控接收器。定时器用于测量两个脉冲串之间的时间间隔,设定工作于方式1,定时常数为零,每次启动测量前,定时器均清零。中断INT0由红外接收电路输出的负
43、脉冲触发,单片机响应中断后启动定时器T0。考虑到发射器和接收器中断响应的延迟以及接收器信号接收延迟的影响,接收器允许脉冲的间隔最大误差为100us,即二进制数位“0”的脉冲串有效间隔范围为400us600us,即二进制数位“1”的脉冲串有效间隔范围为900us1100us,不在此范围内的脉冲串被认为是干扰信号或误码。 接收器以帧为单位进行接收数据。当红外接收电路收到频带内信号时输出一个负脉冲并触发INT0,单片机响应中断,先清零定时器T0,启动定时器T0定时,收到第二个脉冲时,读出定时器T0的计数值并计算该脉冲信号与前一个脉冲信号之间的时间间隔,如为500us,则收到一个二进制数“0”,即起始
44、位,否则继续搜索起始位。起始位正确后开始接收数据位,在以后8个脉冲中,间隔为500us的脉冲是二进制数“0”,间隔为1000us的脉冲是二进制数“1”,否则认为是帧错误。收到8个数据后接收第一个停止位(必须是二进制数“1”,否则认为是帧错误)。收完第一个停止位(第二个停止位是用来触发中断检测前一脉冲是否为第一个停止位),如停止位正确且已成功接收1个起始位8个数据位、1个停止位,则数据帧正确,保存数据,准备接收下一个数据帧,否则接收错误,复位定时器,重新检测起始位。 在数据接收过程中,如果发现相邻的两个脉冲的间隔不在允许的范围内,则认为数据位有错误,此时将按接收帧错误处理红外数据接收模块框图如图
45、44所示。图44红外数据接收框图4.2.4 红外钥匙(从机)子系统软件结构设计根据红外钥匙(从机)子系统的功能需求分析,以及红外钥匙(从机)子系统的硬件电路,设计红外钥匙(从机)子系统的软件结构图,如图4-4所示。 红外钥匙(从机)子系统软件看门狗遥控开锁红外发射红外接收加密数据存储注册图4-5 红外钥匙(从机)子系统软件结构图4.2.5 红外遥控门锁(主机)子系统软件结构设计根据红外遥控门锁(主机)子系统的功能需求分析,以及红外遥控门锁子系统的硬件电路,设计红外遥控门锁子系统的软件结构图,如图4-5所示。 红外遥控门锁(主机)子系统软件看门狗红外发射红外接收数据校验开锁、注册显示随机数产生解
46、密图4-6 红外遥控门锁子系统软件结构图4.2.6红外钥匙(从机)主程序框图NYNNNYYY开始系统唤醒上电系统初始化循环记事器赋初红外发射延时等待接收收到数据?信号加密红外发射延时等待收到数据?信号加密红外发射延时等待收到数据?信号加密红外发射延时等待收到数据?结束系统掉电图4-7红外钥匙(从机)主程序框图4.2.7 红外遥控门锁(主机)主程序框图NYYNYNYNNNYYY开始系统唤醒上电系统初始化延时等待接收完毕收到数据?产生随机码红外发射延时等待收到数据?解密、数据检验产生随机码m1延时等待收到数据?红外发射延时等待收到数据?结束系统掉电数据是否正确?红外发射NY红外发射延时等待收到数据?解密、数据检验数据是否正确?产生随机码m2N解密、数据检验数据是否正确?开锁图48外遥控门锁主程序框图5 系统调试5.1调试仪器调试使用的仪器设备如表51所示。表51 调试使用的仪器设备序号名称、型号、规格数量备注1