《红外遥控密码锁的设计(毕业设计).docx》由会员分享,可在线阅读,更多相关《红外遥控密码锁的设计(毕业设计).docx(54页珍藏版)》请在课桌文档上搜索。
1、红外遥控密码锁的设计U-刖曰红外线IrDA,简称IR,是一种点对点的无线通讯方式,只能进行短距离的无线数据的传输,且中间不能有障碍物。红外线又称红外光波,在电磁波谱中,光波的波长范围为0Olum100Oum;波长为0.76um-100Oum的光波为红外光(线),红外线遥控是利用近红外光传送遥控指令的,波长为0.76um1.5um;用近红外作为遥控光源,是因为目前红外发射器件与红外接收器件的发光与受光峰值波长一般为0.8um0.94um,在近红外光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。目前红外线得到了很普片的应用,如红外线鼠标,红外线打印机,红外线键盘
2、等等。本论文设计的是基于C51单片机的红外遥控密码锁。该锁采用6位数作为密码,红外遥控密码锁的应用研究主要应用了单片机的编程进行红外的编码与解码,并通过单片机实现密码的设置、修改及识别功能。一绪论1.1课题背景进入二十一世纪以来各种电子信息技术进入高速发展阶段,包括信息系统技术微电子、计算机和现代通信技术、传感器技术,这也包括红外线技术,红外线是一种人的肉眼看不见的光线,最近二三十年来,初露头角的红外技术,在各个领域里获得了广泛的应用。开始应用到生产上,并形成了一门崭新的技术一红外技术。本设计针对传统机械锁的不足而设计的通过红外来控制的密码锁。1.2红外通讯红外通讯,顾名思义,就是通过红外线传
3、输数据。在电脑技术发展早期,数据都是通过线缆传输的,线缆传输连线麻烦,需要特制接口,颇为不便。于是后来就有了红外、蓝牙、等无线数据传输技术。红外通讯技术利用红外线来传递数据,是无线通讯技术的一种。红外线的特征:红外传输是一种点对点的传输方式,无线,不能离的太远,要对准方向,且中间不能有障碍,由于红外线的直射特性,红外通讯技术不太适合传输障碍比较多的地方。因此,红外通讯技术多数情况下传输距离短、传输速率不高。13密码锁的发展趋势与特点密码锁产生也是经历了一些阶段的,有传统的机械密码锁,电子密码锁,数字密码锁等。随着科学技术的发展,一些以芯片特别是单片机为处理核心的新型密码锁开始不断出现。电子密码
4、锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁等任务。本论文就以AT89C51单片机设计了一个红外遥控密码锁。二密码锁的总体设计2.1 密码锁的结构与组成该锁采用80C51作为本设计的核心,由遥控发射部分及主机接收部分组成。2.1.1 遥控发射部分遥控发射器主要由AT89C51单片机,红外发射二级管,矩形键盘,数码显示管及复位电路等组成。该部分的结构图如图2-1所示。AT89C512.1.2 主机接收部分主机接收部分主要由AT89C51单片机,红外接收头,矩形键盘,数码显示管,报警器,电磁锁及复位电路等组成。该部分的结构图如图2-2所示。图2-2主机结构框图
5、2.2 密码锁的工作原理2.2.1基本工作原理主机上通过键盘输入6位密码,将输入的密码与设定的密码进行比较,如果相同则驱动电磁锁进行开锁,如果不相同则不解锁;当从遥控器上输入6位密码时利用红外给主机一个中断信号,使主机执行中断服务程序(解码程序),来控制解锁与否。红处线发射及接收控制电路均采用8051单片机来实现,电路简单,输出控制方式可选择,实用性强。具体工作过程如下:发射时如图2-3所示,通过定时器TI(P3.5)口,利用定时中断来发射信号,定时器1中断服务程序的功能是:红外管发射的信号需经过高频(采用38.5KHZ)调制载波才可发射出去,利用定时器1的定时作用,在发射高频脉冲时,通过定时
6、对P3.5口的取反的操作,使发射信号调制成38.5KHZ的高频。再经过红外发射二级管发射,发射距离为8-10米。图2-3红外发射框图接收时如图2-4所示,利用P3.2口(外部中断0)的下降沿触发中断来接收信号,并通过P3.3口来判断高低电平。外部中断0的中断服务程序的功能是:由接收第一位码的下降沿触发中断后,对第一位(起始位)码的码宽进行验证。若第一位低电平码的脉宽小于2ms,将作为错误帧处理当间隔位的高电平脉冲宽大于3ms时,结束接收,然后根据累加器A中的脉冲数,执行相应的功能操作。图2-4红外接收框图2.2.2红外发射信号的编码遥控器信息码是由AT89C51单片机的定时器Tl调制成38.5
7、KHZ红外载波信号,而关键是它的编码,在这里遥控器的编码采用脉冲个数编码格式,不同的脉冲个数代表不同的操作码信息,最少为2个脉冲(采用2个),其它信息码的脉冲个数逐个递增。为了使接收尽量可靠,第一位码宽为3ms,其余码宽为1ms,,码间距为1ms,遥控码数据间隔大于Ioms。遥控器上每个键都有唯一的一个键号,单片机通过查得按下键的键值发约定个数的脉冲。遥控器的编码格式如图2-5所ZjSo频率为38.5KHZ,即周期约为26us,第一位码需115个脉冲周期,其余为38个脉冲周期,结束帧至少为385个脉冲周期。按键0编码输出格式两帧信号之间的输出格式图2-5遥控器编码图2.2.3红外接收信号的解码
8、接收信号的解码是根据红外线接收器输出脉冲帧的格式来进行解码的,即用累加器A分别对符合条件的负跳变脉冲进行计数。当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。在接收数据帧时,根据发射帧的格式将对第一位(起始)码的码宽进行验证。若第一位低电平码的脉冲宽小于2ms,将作为错误码处理。当间隔位的高电平脉冲大于3ms时,结束接收,然后根据累加器A中的脉冲个数,执行相应的操作。图2-6为红外线接收器输出的一帧遥控码波形图。停止位图2-6红外接收遥控码波形图2.3密码锁的主要功能遥控密码锁的基本设计功能主要有如下几个部分:1 .设定密码:在该设计中设定了一组原始密码:123
9、456用户可以通过矩形键盘的修改键来修改原始密码。比如:按一下修改键,接着在本机上依次输入六位密码,再按确认(#)键即表示密码被设置好了,那么下次用户输入这组数据即可开锁。2 .密码输入有效显示:为了确信是否有键按下以及防止密码外泄,在电路中设置了数码管显示,即在显示时并不是显示用户按下的数字符号,而是在输入一位时,数码管则显示一个字符H”,这样既巧妙地提醒了用户又保护了用户密码,此本设计可靠性优点之一。3 .密码错误报警:当用户输入的密码连续三次出现密码错误时,系统会长期报警不止,这时必须按复位方可停止。乃安全可靠性能之二。4 .遥控开锁:这是本论文设计中的最大特点之处,用户可以不必在主机上
10、输入密码开锁。只要手执遥控器,键入正确密码,便会自动开锁;如果密码错误,同样也会报警。这是本设计优越性能之三。三硬件电路设计1.1 单片机AT89C51简介1.1.1 主要特性在本设计中,是以AT89C51单片机为核心的。AT89C51单片机是由ATMEL公司推出的AT89系列的单片机。AT89C2051是一种带2K字节闪烁可编程可擦除片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C5
11、1是它的一种精简版本。引脚排练如图37所示。它的性能与主要特点如下:(1)与MCS-51微控制器产品系列兼容。(2)片内有4KB可在线重复编程的快闪擦写存储器(FlashMemory)0(3)存储器可循环写入/擦除100o次。(RXD)Pl. 9 L Pl. 1 P1.23 Pl. 3广 PL 4 T PL5b Pi,6ElPl. 78 RSTlTP3.00 k)vcc:PO.O(ADO) PO. I/(AD) P02(AD2)raw Pi 1 (TNTO)P3.2R(TKT)P3.3TT(TO)P3.4 P0.6(ADbJTP0.7AD7) 句 EAZVPPAUypROC29. PSEN l
12、,2.7(A15)JT1P2.6. P P12(AIO p2.1(A9) fP2.0(A8)AT89C51普引的怖列图3TAT89C51引脚排列图(4)宽工作电压范围:VCC可为2.7V-6Vo(5) 128X8位内部RAM。(6) 32条可编程I/O线。(7)两个16位定时器/计数器。(8)中断结构具有5个中断源和2个优先级。(9)可编程全双工串行通道。(10)空闲状态维持低功耗和掉电状态保存存储内容。1.1.2 管脚说明主要引脚的具体描述如下;Vcc:电源。提供掉线、空闲、正常+5V工作电压。Vss(GND):接地。PO口:PO口可以作普通的双向I/O口使用,也可以在访问外部存储器时用作低
13、8位地址线和数据总线。Pl11:Pl口是一个内部提供上拉电阻的8位双向I/O口,向P2口管脚写入1后,被内部上拉为高电平可用作输入口,当作为输入脚时,被外部拉低的Pl口会因为内部上拉而输出电流。Pl口还具备第二功能。P2口:P2口是一个内部提供上拉电阻的8位双向I/O口,向P2口管脚写入1后,被内部上拉为高电平可用作输入口,当作为输入脚时,被外部拉低的P2会因为内部上拉而输出电流。在访问外部程序存储器和外部数据存储器时,可作为地址总线的高位字节。P3口:也是一个双向功能口既可以作普通输入输出口使用,也可以按每一位的定义实现第二功能操作。P3口的第二功能如表LI所示。口线第二功能信号名称P3.0
14、RXD串行输入口P3.1TXD串行输出口P3.2/INTO外部中断0P3.3/INTl外部中断1P3.4TO定时器/计数器0P3.5Tl顶时器/计数器1P3.6/WR外部数据存储器写选通P3.7/RD外部数据存储器读选通表1.1RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,因此它可用作对外部输出的脉冲或用于定时目的。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN
15、有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(OOOOH-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTALl:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。1.1.3 芯片可擦除性AT89C51单片机还具有芯片擦除性,整个PERe)M阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平IOmS来完成
16、。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。1.1.4 单片机的电源电路电源电路由桥式整流,滤波电容,7805稳压器及电源指示灯组成。交流电经过桥式整流变成直流电,再经过电容滤波。7805集成稳压器稳压成为稳定的+5V电源。用一个发光二级管指示灯指示电源状态。电源电路如图3-2图3-
17、2电源电路图1.1.5 复位电路单片机复位时RESET需要保持96个晶振周期的高电平(即需8个机器周期)。复位以后POP3口输出高电平,堆栈指针SP指向07H,其他特殊功能寄存器和程序计数器PC清零。只要RESET保持高电平,AT89C51就会循环复位。RESET当由高电平变为低电平后,单片机从程序存储器O地址开始执行程序。但单片机复位不影响内部RAM的状态,包括工作寄存器R0-R7o常见的复位电路有:上电复位电路和上电按钮复位电路,在本设计中均采用上电按钮复位电路,如图3-3所示。1.1.6 晶振电路所谓的晶振电路即指单片机的时钟电路。该电路通常有内部时钟电路和外部时钟电路。一般选用前者。单
18、片机芯片内部有一个反相放大器构成的振荡器。反相放大器的输入端为XTALI,输出端为XTAL2,把XTALl和XTAL2与外部石英晶体及两个电容连接起来可构成个石英晶体振荡器如图3-4所示。时钟发生器是一个2分频电路。它把晶体振荡器的频率2分频后供给片内其他电路。一般电容Cl和C2起到稳定振荡频率、快速起振的作用。图3-4晶振电路1.2 红外发射与接收装置红外遥控系统一般由红外发射装置和红外接收设备两大部分组成。红外发射装置又可由键盘电路、电源和应用电路组成。通常为了使信号能更好的被传输发送端将基带二进制信号调制为脉冲串信号,通过红外发射管发射。红外接收装置通常由一红外接收头组成的接收电路。3.
19、 2.1发射装置常用的发射器为红外发光二级管它是录像机、影碟机、音响装置、空调器等各类红外遥控系统中不可缺少的电子器件,它将脉冲编码遥控指令用红外发光二极管发射红外线去控制受控装置时,受控装置中均有相应的红外光一电转换元件,通过这个转换把相应的光信号转换为电信号。这里采用红外发光二极管如SE303PH303,外形和发光二极管LED相似,发出红外光(近红外线约093nm)管压降约1.4V,工作电流一般小于20mA。为了适应不同的工作电压,回路中常串有限流电阻。发射红外线去控制相应的受控装置时,其控制的距离与发射功率成正比。为了增加红外线的控制距离,红外发光二极管工作于脉冲状态,因为脉动光(调制光
20、)的有效传送距离与脉冲的峰值电流成正比,只需尽量提高峰值电流,就能增加红外光的发射距离。提高峰值电流的方法,是减小脉冲占空比,即压缩脉冲的宽度。减小脉冲占空比还可使小功率红外发光二极管的发射距离大大增加。要使红外发光二极管产生调制光,只需在驱动管上加上一定频率的脉冲电压。红外发射电路如图3-5所示。图3-5红外发射电路4. 2.2接收装置常用的红外接收装置有如红外接收二极管,光电三极管等。实用中已有红外发射和接收配对的二级管。在本设计中采用红外一体化接收头HSOo38,接收头图如图(12)所示。它有如下优点:一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识
21、别的TTL信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。接收头连接图及红外接收电路图如图3-6所示。HS0038黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS电路兼容。HSOO38为直立侧面收光型。它接收红外信号频率为3810,周期约26s,同时能对信号进行放大、检波、整形,得到TTL电平的编码信号。三个管脚(1、2、3)分别是地、5V电源、解调信号输出端。+v1S0028 能BfOOSHFF三ri-P32(INTO)P33213图3-6红外接收图3.33X4矩阵键盘在单
22、片机运用系统中,经常使用简单的键盘和BCD拨码盘作为系统的输入。键盘由一组常开的按键组成,可以通过键盘输入数据或命令。每个按键都被赋予一个代码,称为键码。键码分为编码键盘和非编码键盘。编码键盘是通过一个编码电路识别闭合键的键码,而非编码键盘是通过软件来识别键盘的。通常因由于机械触点的弹性作用,触点在闭合和断开瞬间的电接触情况不稳定,造成了电压信号的抖动现象,键抖动的时间一般为5-lOms。为了避免一次闭合引起CPU多次处理,通常回采取去抖动措施。非编码键盘有独立式键盘和行列式(矩阵)键盘。由于前者在按键较多时会站用较多的I/O口,因此采用行列式(矩阵)键盘。1.矩阵键盘及其接口行列式键盘又叫矩
23、阵键盘,是将I/O线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,它是通过检测键盘有无闭合以及查找闭合键的键号,一般采用扫描法。在这里设计了一3X4的矩阵键盘。如图3-7所示。(1)先向所有的行线输出0,列线输出1,然后检测各列线的按键状态,由相应的列线读入累加器A中。有键按下时,对应的列线输入0,无键按下时所有的列线输入为1。(2)若有键闭合,依次从行线上逐列输出0,然后依次检测各列线的状态。若为1,说明闭合键不在该列;若有的为0,则说明闭合键在该列与行线的交点上。由于每个按键所有的行号与列号不相同,所以每个按键按行号加列号的值赋予了一个键号。图3-7矩阵键盘图3.47
24、4LS164芯片在显示部分,运用LED静态显示,静态显示方式编程简单,但占用单片机I/O口线多适合于显示器位数较少的场合。AT89C51单片机应用系统中,当串行口空闲时,可用来拓展并行I/O口(这里设定串行口工作在移位寄存器方式0状态下),作为LED静态显示接口。在这里运用74LS164来扩展并行I/O口,节约单片机资源。74LS164是一个串行输入并行输出的移位寄存器。并带有清除端。引脚排练图以及逻辑图如图3-8所示。74LS164逻辑图74LS164引脚定义图U U U Ld U LJ LJA R ( G, Q7 Qk GNnSQ 55 BIS648BIT SHFT REG1S1ER1lj
25、9 3 5 6101t1213图3-874LS164器件图引脚说明:74LS164是串行输入、并行输出的移位寄存器,其引脚功能如下:A、B串行输入端。Q0-Q7并行输入端。/MR清除端。CP时钟脉冲输入端。在脉冲上升沿实现移位;当CP=0、/MR=I时,输出保持不变。3.5 数码管单片机运用系统中,使用的显示器主要有LED(发光二级管显示器)和LCD(液晶显示器)。这两种显示器成本低廉,配置灵活,与单片机接口方便。1.ED显示器结构与原理:LED显示器是由发光二级管显示字段的显示器件有共阴极与共阳极两种,如图(15)所示。其中7只发光二级管(ag7段)构成字符“8”,另外还有一只小数点发光二级
26、管dpO当某个发光二级管的阳极为高电平时,发光二级管点亮。当人为控制某几段发光二级管点亮就能显示某个数码或字符。LED显示器有静态显示与动态显示两种方式。LED显示器的字码段(7段码)如表3-9所示。LOM,MIllI图3-9LED显示器显示字符共阴极字段码共阳极字段码显示字符共阴极字段码共阳极字段码03FHCOH96FH90H106HF9HA77H88H25B11A4HB7CH831134FHBOHC39HC6H466H99HD5EHAlII56DH92HE79H86H67DH82HF71H8EH707HF8HP73H8CH87FH80H熄灭OOHFFH表1.2LED显示器的字段码(7段码)
27、3.6 发光二级管LED1 .LED简介发光二极管简称为LEDo由钱(Ga)与碑(AS)、磷(P)的化合物制成的二极管,其核心是PN结。当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管,在电路及仪器中作为指示灯,或者组成文字或数字显示。它是半导体二极管的一种,可以把电能转化成光能;而红外二极管在正向导通时会发出红外光。常简写为LED0发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。2 .LED特性(1)发光二极管的反向击穿电压约5伏。主要特性是正向导通、反向截止、击穿特性。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流,以防止击穿。图37OLE
28、D伏安特性图(2)发光二极管(LED)的主要参数a.最大正向电流Ifm:允许加的最大正向直流电流,超过此值LED损坏。b.正向工作电流IF:指LED正常发光时的正向电流值。c.正向工作电压VF:在给定的正向电流下测得的工作电压。d.最大反向电压VRrn:允许加的最大反向电压,超过此值LED可能被击穿损坏。e.伏安特性:LED的电压与电流的关系可用图3-10表示。3 .7电磁继电器在开锁部分采用电磁继电器。通过单片机来控制其线圈的通断电,从而控制其触点的吸和与断开。继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电
29、流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。一般用符号J”表示。1 .电磁继电器的工作原理和特性电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。驱动电路如图3-11所示。2 .电磁式继电器的主要参数(1)额
30、定工作电压:是指继电器正常工作时线圈所需要的电压。根据继电器的型号不同,可以是交流电压,也可以是直流电压。在这采用直流电压(+5V)的工作电压来驱动。(2)直流电阻:是指继电器中线圈的直流电阻.(3)吸合电流:是指继电器能够产生吸合动作的最小电流。在正常使用时,给定的电流必须略大于吸合电流,这样继电器才能稳定地工作。图3T1电磁继电器驱动电路图3.8报警器在报警部分,使用扬声器。从单片机发出的引脚(P2.3)控制信号,经一个三极管放大后再驱动扬声器,使整个系统产生报警。报警电路如图372所示。图372报警电路图4软件程序设4.1遥控发射部分程序设计该部分主要分为主程序、按键扫描程序以及遥控编码
31、脉冲发射程序。1 .主程序主要是对定时器Tl定时的方式的设定、计数器的初始化等。主程序程序流程图如图4-1所示。开始图4-1主程序流程图主程序的初始化程序如下:START:LCALLCLEARLJMPstart1.CALLKEYINRETAJMPSTARTCLEAR:MOVPl,#OFFHCLRP3.5MOVSP.#70HMOVIE,#OOH;关总中断与中断1MOVTMoD,#2OH;设定时器Tl方式2自动重装模式MOVTH1,#OF3H;定时13usMOVTL1,#OF3HSETBEA;开总中断MOVESCONM)OH;置串行口工作方式O2 .按键扫描程序在此设计的是3行4列的矩阵键盘。程序
32、流程图如图4-2所示。图4-2按键扫描程序流程图按键扫描程序如下:KEYIN:MOVP1,#OF8HMOVR3,AMOVA,P1MOVA.R5CJNEA.#OF8H.NEXT1LJMPNEXT7KEYOUT:RETNEXT6:MOVA,R4NEXTkLCALLDelayiomsADDA,#04H;行号加四MOVa,piMOVR4,ACJNEA,#OF8H,NEXT2DJNZR7,KEYOUTUMPKEYOUTMoVA,R2;进行下列扫描NEXT2:MOVR4,#0;行号rlaMe)VR7,#O3H;扫描行数MOVR2,AMOVR2,#OFEHUMPNXLPNXLOOP:MOVR3,#0;列号Q
33、JZiMOVA,RR置行号MOVR6.04HADDA,R3;行号加列号MOVPI,R2MOV30H,A;置键号MOVA.PiMOVA,P1ANLA,#OF8HANLA.#OFOHCJNEA,#OF8H,NEXT3CJNEA,#OFoH,KEYOUTIJMPKEYOUTLCALLDELAYloMS彳寺按键释放NEXT3:CLRCCJNEA,#OFOH,KEYOUTRLCAMOVA,30H;键号放入ANEXT7:RLCARETMOVR5.AJCNEXT4UMPQJZ;求键值NEXT4:DJNZR6.NEXT51.JMPNEXT6NEXT5:MOVA,R3INCA;列号加一3 .遥控编码脉冲发射程序
34、遥控器的编码采用脉冲个数编码格式,不同的脉冲个数代表不同的操作码信息。程序流程图如图4-3所示。装入发射脉冲个数图4-3遥控器编码程序流程图遥控编码脉冲发射程序如下:SENDJNBbegin,start;bengin为*(开机)键标志CLRRSl;选工作寄存起器1SETBRSOMoVRI,A;装入发射脉冲数MOVR0,#OFAH;第一个码:250x0.012ms=3msAJMPSEND2SENDkMOVRO,#53;中间码:83x0.012=lmsSEND2:SETBTRl;开高频定时器1中断调制(38KHZ)SETBETlNOPNOPNOPNOPNOPNOPNOPNOPDJNZRO,SEND
35、2MoVRO,#64H;码距:100X().01OmS=ImSSENDoUT:CLRET1;关高频定时器1中断调制(38KHZ)CLRTRlCLRP3.5NOPNOPNOPNOPNOPDJNZRO,SENDOUTDJNZRI,SENDl;若Rl中仍有脉冲则继续发送ImS的码1.CALLDELAY500MSRETINTTkCPLP3.5RETI4 .2主机接收部分程序设计主机程序部分主要分为主程序、按键扫描程序以及解码接收程序。1 .主程序主程序中主要是对外部中断O的设定以及一些存储单元的清零等初始化工作。主程序程序流程图如图4-4所示。开始初始化主程序的初始化程序如下:START:LCALLC
36、LEARMOVMIMACWCS搦;密码错误存储单元清零LCALL,KEYINMOVWZDMIMACWCS,#0UMPSTARTNOPCLEAR:MOVSP.#60HNOPSETBIT0;负跳变中断NOPSETBEXO;开外部中断0NOPSETBEA;开总中断NOPCLRP2.0;关锁UMPSTARTCLRP2.3;关报警RETMOV20H,#0;清零MOV21H.#OMOV29H.#OMOVESCON,#00H;置串行工作方式02 .按键扫描程序如同上所示。3 .解码接收程序。解码接收程序利用外部中断O的中断服务程序实现的。外部中断O服务子程序流程图如图4-5所示。图4-5解码接收程序流程图解
37、码接收程序如下:INTOSERVErPUSHACCPUSHPSWPUSHDPLPUSHDPHCLREXO;中断一来关外中断OJNBP3.3.INTOSERVE1;确认中断INTORET:POPDP出若为干扰信号则开中断0退出中断POPDPLPOPPSWPOPACCSETBEXORETIINTOSERVEkCLRAMOVDPH,A;用数据寄存器对第一个码的低电平计时MOVDPL.AINTOSERVE2:JBP3.3,INTOSERVE3;开始对低电平计时当p3.3为高电平”1时;计时结束跳出循环并计时低电平是否大于2msINCDPTRNOPNOPAJMPINToSERVE2彳盾环周期为8usIN
38、TOSERVE3:MOVA,DPH;利用DPTR的高8位判断低电平是否大于2msJZlNToRET;A不为0,说明DPL有进位则255x8us=2ms即为;第一个脉冲,A为”0,说明小于2ms是一个干扰;则退出中断程序CLRAINTOSERVE4:1NCA;脉冲个数加一INT0SERVE5JNBP3.3,INTOSERVE5;为低电平则等待MOVRl,#06H;为高电平则开始对高电平计时INTOSERVE6:JNBP3.3,INTOSERVE4;当P3.3有副负脉冲时,且前一高电平小;于301,则脉冲个数加一1.CALLDELAY513USDJNZRI,INTOSERVE6;若前一高电平脉宽大
39、于3ms时即为一结帧DECADECAjzFuncionoa为o则接收o号键DECAJZFUNClON1;A为0则接收1号键DECAJZFUNClON2;A为0则接收2号键DECAJZFUNCION3;A为0则接收3号键DECAJZFUNCION4;A为0则接收4号键DECAJZFUNCloN5;A为0则接收5号键DECAJZFUNCloN6;A为0则接收6号键DECAJZFUNClON7;A为0则接收7号键DECAJZFUNCK)N8;A为0则接收8号键DECAJZFUNCION9;A为0则接收9号键DECADECAJZFUNCloN11;A为0则接收11号键1.JMPINTORET;退出中断
40、服务子程序RET结论本课题研究的是具有单片机功能的红外遥控密码锁,通过掌握其原理及控制过程,以及运用编程来解决红外的编码与解码问题。最终目的在于学会独立查资料选方案,采购选择器件,巩固所学知识设计单片机程序,印刷电路版布局能力、提高计算机的文字录入水平,提高计算机绘图能力,掌握一个电子专用软件设计电子电路,加强电子制作的动手能力,学会电路的调试方法解决实际出现的问题。利用一个廉价的单片机芯片来控制一个红外线遥控系统使其具有远距离遥控功能。致谢首先感谢各位在百忙之中抽出时间对本次设计进行指导的老师。通过这次毕业设计,使我有机会再次对以前所学的知识进行了一次系统的复习,有很多知识点在平常的学习中没
41、有掌握好,再加上使用机会不多,在做毕业设计的过程中的确遇到了不少困难,如在红外编码与解码的程序编写中就找了很多参考资料。在做此毕业设计的时候我也充分利用了身边一切可用的资源,如网络、书籍、老师、同学,结合一切力量终于完成了毕业设计的全部的内容。最后感谢指导老师在毕业设计中给予我的指导。1单片机原理及接口技术2单片机与接口应用技术38051单片机4跟我学用单片机参考文献主编:主编:主编:胡汉才陶国正林伸茂主编:肖洪兵5基于单片机的电子安全密码锁的设计主编:郭海英6电子技术基础(数字)主编:康华光清华大学出版社苏州大学出版社人民邮电出版社北京航天航空大学出版社现代电子技术出社高等教育出版社7红外线
42、与超声波遥控主编1*11fJ苏长赞北京人民邮电出版社8现代遥控技术及应用王俊峰薛鸿德人民邮电出版社9数字电子实验及课题设计主编:郁汉淇高等教育出版社10芯源单片机教程作者:季国上海芯源电子电器设计中心附录A完整硬件电路图主机硬件电路图如图所示:DVY7遥控器硬件电路图如图所示:Im1IillIiiiiiihIllllllh(IUVIiiiiiihR附录B源程序清单illilliIiiiiiihIilIIlllIiiiiiih遥控器发射程序:BEGINBIT20H.O;开机标志ORGOOOOHUMPSTARTORGOOlBHLJMPINTTlCLEAR:MOVPl,#OFFHCLRMOVP3.5
43、SP.*70HMOVSCON,#OoH;置串行工作方式0MOVIE,#OOH;关总中断与中断1MOVTMoD,#2OH;设定时器Tl方式2自动重装模式MOVTH1,#OF3H;定时13usMOVSETBRETTL1.#OF3HEA;开总中断ORGO100HSTART:LCALLCLEARLCALLKEYINIJMPSTARTaIJfKEYIN:MOVP1,#OF8HMOVA,P1CJNEA,#OF8H,NEXT1KEYOUT:RETNEXTl:LCALLDelayiomsMOVA,P1CJNEA,OF8H,NEXT21.JMPKEYOUTNEXT2:MOV14,#0;行号MOVR7,#O3H;扫描行数MOVR2.#OFEHNXLPMOVR3,#0;列号MOVR6,#O4HMOVP1.R2MOVA,P1ANLA,#OF8HCJNEA,#OF8H,NEXT3LJMPKEYOUTNEXT3:CLRCRLCANEXT7:RLCAMOVR5.AJCNEXT4UMPQJZ;求键值NEXT4:DJNZR6,NEXT5LJMPNEXT5:MOVNEXT6A,R3INCA;列号加一MOVR3.AMOV