《红外遥控控制系统设计概要.doc》由会员分享,可在线阅读,更多相关《红外遥控控制系统设计概要.doc(21页珍藏版)》请在三一办公上搜索。
1、河南科技学院机电学院单片机课程设计报告题目:红外遥控控制系统设计 专业班级:电气工程及其自动化103 姓 名: 张明军 时 间:2012.12.15 2012.12.28 指导教师: 田丰庆 邵 锋 张素君 完成日期:2012年12月 28 日红外遥控控制课程设计任务书1. 设计目的与要求 设计出一个用于红外遥控控制的控制器。准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)有效遥控距离大于10米。(2)遥控控制的路数在5路以上。(3)采用数码管显示当前工作的控制电路。(4)通过遥控器可以任意设置用户密码(1-16位长度),只有合法用户才能有修改电路控制的功能,同时系统
2、掉电后能自动记忆和存储密码在系统中。(5)密码的输入时间超过12秒或者连续3次输入失败,声音报警同时锁定系统,不让再次输入密码。此时只有使用管理员密码方能对系统解锁。2设计内容 (1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;3编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。4答辩 在规定时间内,完成叙述并回答问题。 论文结构清晰,层次分明,理论严谨目录1引言12总体设计方案2 2.1 设计思路22.2设计方框图33设计原理分析43.1发射电路设计43.2接收电路设计7 3.3 软件设计94 结束语12
3、 参考文献13 附录一14 附录二15 红外遥控控制系统摘要:本设计由发射器和接收器两部分组成。指令键、指令信号产生电路、调制电路、驱动电路及红外线发射器组成。当指令键被按下时,指令信号产生电路便产生所需要的控制信号,控制指令信号经调制电路调制后,最终由驱动电路驱动红外线发射器,发出红外线遥控指令信号。接收器由红外线接收器件、前置放大电路、解调电路、指令信号检出电路、记忆及驱动电路、执行电路组成。当红外接收器件收到发射器的红外指令信号时,它将红外光信号变成电信号并送到前置放大电路进行放大,再经过解调器后,由信号检出电路将指令信号检出,最后由记忆电路和驱动电路驱动执行电路,实现各种操作。控制信号
4、一般以某些不同的特征来区分,常用的区分指令信号的特征是频率和码组特征,即用不同的频率或者编码的电信号代表不同的指令信号来实现遥控。所以红外遥控系统通常按照产生和区分控制指令信号的方式和特征分类,常分为频分制红外线遥控和码分制红外线遥控。关键词:44矩阵键盘;AT89C51;接收器件;震荡特性1 引言红外线遥控是目前使用很广泛的一种通信和遥控技术。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可*而且能有效地隔
5、离电气干扰。远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备广泛采用,并越来越多的应用到计算机系统中。红外线又称红外光波,在电磁波谱中,光波的波长范围为 0.01um1000um 。根据波长的不同可分为可见光和不可见光,波长为0.38um0.76um 的光波可为可见光,红外线遥控是利用近红外 光传送遥控指令的, 波长为0.76um1.5um 。用近红外作为遥控光源,是因为目前红外发射 器件 ( 红外发光管 ) 与红外接收器件 (
6、光敏二极管、三极管及光电池 ) 的发光与受光峰值波长 一般为 0.8um0.94um ,在近红外光波段内,二者的光谱正好重合,可获得较高的传输效率及较高的可靠性。随着远程教育系统的不断发展和日趋完善,利用多媒体作为教学手段各级各类学校都得到了广泛应用。 但经常会遇到同时使用多种设备,如: DVD 、 VCD 、录像机、电视机等,由于各种设备都自带遥控器,而且不同的设备所遵循的红外传输规约也不尽相同, 操纵这些设备得用多种控器,给使用者带来了诸多不便。基于单片机的控制指令来对多种设备进行远程控制, 从而方便快捷的实现远程控制。红外遥控的特点是不影响周边环境的、 于10 米)遥控中得到了广泛的应用
7、。2 总体设计方案2.1 设计思路主要的设计实施过程: 首先,选用ATMEL公司的单片机AT89C51,以及选购其他电子元器件。第二步,使用DXP 2004设计硬件电路原理图,并设计PCB图完成人工布线第三步,使用Keil uVision2软件编写单片机的汇编语言程序、仿真、软件调试。第四部,使用PROTEUS软件进行模拟软、硬件调试。最后,联合软硬件调试电路板,完成本次毕业设计。2.1.1 方案确定红外遥控器的发射器电路比较简单,由一个44矩形键盘、一个NPN驱动三极管、一个红外线发光二极管和限流电阻组成。要遥控哪台接收器由键盘输入,即由键盘输入要红外遥控的地址,地址经过编码、调制后通过红外
8、发光二极管发射出去。矩阵键盘部分由16个轻触按键按照4行4列排列,将行线所接的单片机的I/O口作为输出端,而列线所接的作为输入。当没然后解码:平时,遥控器无键按下时,红外发射二极管不发出信号,遥控接收头输出信号1,有键按下时,0和1的编码的高电平经遥控接收头反相后会输出信号0,由于与单片机的中断脚相连,将会引起单片机中断。继续接收下面的数据,当接收到32位数据时,说明一帧数据接收完毕,然后判断本次接收是否有效,如果两次地址码相同并且等于本系统的地址码,数据码和数据反码之和等于0FFH,则接收的本帧数据有效,点亮一只发光二极管,否则丢弃本次接收到的数据。接收完毕后,初始化本次接收到的数据,准备下
9、次遥控接收。2.2 设计方框图 AT89C51数码管蜂鸣器LED44键盘复位电路图2-1 发射电路红外遥控系统由发射和接收两大部分组成,系统采用编 / 解码专用集成电路和单片机芯片来进行控制操作。设计的电路由如下的几个基本模块组成:红外发射电路,红外接收电路及控制部分。2-3系统框图如图2-2 所示。电源接收部分单片机89C51显示电路复位电路 图2-2 接收电路原理图3 设计原理分析3.1红外发射电路的设计3.1.1单片机 89C51 介绍主要特性:8031 CPU与MCS-51 兼容 4K字节可编程FLASH存储器(寿命:1000写/擦循环)图3-1 89C51 全静态工作:0Hz-24K
10、Hz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/O线 两个16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路图3-1 89C513.1.2 管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓
11、冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口
12、输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:管脚 备选功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部
13、数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是AL
14、E才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡
15、器的输出。3.1.2 震荡特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.1.3芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种
16、软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.1.4 44矩阵键盘如图所示,本系统采用44矩阵键盘,16个按键分为输入数字键:*、0、#、1、2、3、4、5、6、7、8、9;功能键lock、modify、cel、Enter。矩阵键盘。图3-2 矩阵键盘3.1.5复位电路图3-3 复位电路时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图33)。3.1.6振荡电路图3-4 振荡电路本设计晶振选择频率为12MHZ,
17、电容选择30pF如图(34)。经计算得单片机工作胡机器周期为: 12(112M)=1us。3.2 接收电路的设计该接收模块是一个三端元件,具有功耗低、抗干扰能力强、输入灵敏度高、对其它波长(950nm 以外)的红外光不敏感的特点。工作原理为:首先,通过红外光敏元件将接收到的载波频率为38kHz 的脉冲调制红外光信号转化为电信号,再由前置放大器和自动增益控制电路进行放大处理;然后,通过带通滤波器进行滤波,滤波后的信号由解调电路进行解调;最后,由输出级电路行反向放大输出。当接收到红外信号,就会把红外信号转换的电平从OUT 脚输出,P2.0 口就会产生一个中断,进入红外中断服务程序,进而判断是什么信
18、号,并且对信号做出反应。3.2.1摇控码的编码格式 该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为17个脉冲。为了使接收可靠,第一位码宽为3ms,其余为 1ms ,遥控码数据帧间隔大于10ms,如图3-5所示。图3-5输出端口波形图3.2.3 数码帧的接收处理 在接收过程中,脉冲通过光学滤波器和红外二极管转换为40KHZ的电信号,此信号经过放大,检波,整形,解调,送到解码与接口电路。通常,红外遥控器将遥控信号(二进制脉冲码) 调制在40KHz的载波上,经缓冲放大后送至红外发光二极管,产生红外信号发射出去。 将上述的遥控编码脉冲对频率为 40 KHz( 周期为26.
19、3ms) 的载波信号进行脉幅调制 (PAM ) ,再经缓冲放大后送到红外发光管,将遥控信3.3 软件设计 因为发光二极管的发光距离与其发射功率成正比,为了提高发光二极管的发光距离,必须提高它的发射功率,也就是使红外发光二极管工作于脉冲状态。可以用两种方法来实现:一是用硬件方法,即设计脉冲电路来产生占空比尽量小的脉冲载波信号;另一种就是用软件来控制MSP430F413 的输出端P2.1,让其输出即为占空比较小的脉冲信号。这里利用软件来实现这个功能。即在需要输出高电平的时候,让程序定时把 P2.1 口输出状态反向,其中定时时间是由指令数和指令周期来决定的,每条指令的指令执行周期是固定的,所以如果想
20、让反向频率高一些,则让指令执行的少一些,反之就让指令多一些。可见输出信号占空比可以由定时时间的长短来决定,这样就可以在高电平时输出占空比尽量小的脉冲信号。因为接收头对38KHz 的光信号转换能力比较强,所以把高电平的频率设置为38KHz。在需要输出低电平的时候,控制P2.1 口一直为低就可以了。红外发光二极管发射波形如图 3 所示。先发一段前导码,以检验这组码是否为想要的码。前导码由一个9ms 的高电平和一个4ms 的低电平组成。然后再发32 位数据代码,其中高电平为0.5ms,低电平为0.5ms 的一个周期为代码“0”;高电平为0.5ms,低电平为1.5ms 的一个周期为代码“1”。为了提高
21、发射功率,实际工作时,发光二极管的高电平用38kHz 的载波信号载波,低电平则一直为低。在主程序中,先设置P2.0 口为上升沿和下降沿都捕获,然后中断允许,进入主循环。一旦P2.0 口有电平的跳变即进入中断程序。在中断程序中,首先判断是否上升沿。若是,则上升沿标志置1,并记录上升沿时刻;否则,说明是下降沿,再判断上升沿标志是否置1。若是,说明已有上升沿,记录下降沿时刻,并计算脉宽(脉宽=下降沿时刻上升沿时刻);否则,说明这是干扰信号,直接返回。下一步,判断脉宽的大小。 开始发送前导码num置0发送0.5ms的高电平num为0?发送0.5ms的低电平发送1.5ms的低电平num=num+1num
22、=3? 结束NNYY图3-1 发射流程图4 结束语由于目前的遥控装置大多对某一设备进行单独控制,而在本设计中的红外遥控电路设计了多个控制按键,可以对不同的设备,也可以对同一设备的多个功能进行不同的控制。基本符合技术要求。但是本电路也有不完 , 它只能单通道实现对多个设备的控制 , 即它不能同时控制两个或者两个以上的设备。通过这次毕业设计,让我复习了很多学过的旧知识,同时锻炼了自己的动手能力和查阅资料。尤其是解决在实际中解决排查问题的能力。通过这次的设计,我熟悉了使用protel的技巧,学会了制作电路板的一些技巧,并且熟悉了如何选购使用电子元器件。在设计中,我学到了如何使用C语言对单片机进行编写
23、程序,熟悉了使用KEIL C软件,并且加深了对单片机的编程技巧。在做这个设计的过程中,我遇到了不少的问题。这锻炼了我筛选、查阅资料,并将理论结合到自己的设计中的能力。一步一步的排除故障原因,找到故障的原因并解决故障。在设计过程中,通过大量的查阅资料,认真研究材料,对单片机有了更为深刻的理解,在设计软件时,须仔细的分析硬件电路,画出程序流程图,培养了我的耐性和刻苦钻研的精神。参考文献1 当方微型计算机控制技术M中国水利水电出版社,2001年,42-452 胡汉才单片机原理及其借口技术M清华大学出版社,1996年,24-283 赵新民智能仪器设计基础M哈尔滨工业大学出版社,1999年,34-364
24、 潘新,民王,燕芳微型计算机控制技术M电子工业出版社,2003年,67-685 李钟实实用电子报警器精选百例M北京:科技技术文献出版社,2002年,12-156 陈爱弟Protel99se实用培训教程M人民邮电出版社,2000年,33-357 阎石数字电子技术基础M高等教育出版社,1998年,56-578 童诗白模拟电子技术基础M高等教育出版涉,1998年,78-809 候振鹏嵌入式C语言程序设计M北京:人民邮电出版社,2006年,99-10010 徐士良C语言程序设计教程M北京:人民邮电出版社,2001年,66-72 附录一 附录图1 红外发射图附录图2 红外接收图 附录二 外遥控发射程序:
25、 ORG 0000H ;程序执行开始地址 AJMP START ;跳至START执行 ORG 000BH ;定时器T0中断入口地址 LJMP INTT0 ;跳至INTT0中断服务程序 ORG 0030H PCODE EQU 30H ;识别码 OPPCODE EQU 31H ;识别码反码 BUT EQU 32H ;按键码 OPPBUT EQU 33H ;按键反码 START: MOV SP,#70H ;设堆栈基址为70H CLR P3.4 ;关遥控输出 MOV IE,#00H ;关所有中断 MOV IP,#01H ;设优先级 MOV TMOD,#22H ;8位自动重装初值模式 MOV TH0,#
26、0F3H ;定时为13微秒初值 MOV TL0,#0F3H SETB EA ;开总中断允许 MOV PCODE,#0ABH ;识别码赋值 MOV OPPCODE,#54H ;识别码反码赋值 JIAN: ;识别键盘有无键按下子程序 MOV P2,#00FH ;置列线为1 MOV R7,#0FFH ;延时 DJNZ R7,JIAN1 JIAN1: MOV A,P2 ;读P2口 CPL A ;求反后高电平表示有键按下 ANL A,#00FH ;判别有键值按下吗 JZ JIAN ;无键按下时返回重新扫描 LCALL DELAY SKEY: ;识别具体按键值子程序 MOV A,#00 ;下面进行行扫描1
27、行1行扫 MOV R0,A ;R0作为行计数器开始为0 MOV R1,A ;R1作为列计数器开始为0 MOV R3,#07FH ;R3为行扫描字暂存高4位为行SKEY2: MOV A,R3 MOV P2,A ;输出行扫描字低4位全1 NOP NOP NOP ;3个NOP操作使P2口输出稳定 MOV A,P2 ;读列值 MOV R1,A ;暂存列值 CPL A ;高电平则有键闭合 ANL A,#00FH ;取列值 S123: JNZ SKEY3 ;有键按下转SKEY3,无键按下时进 INC R0 ;行计数器加1 SETB C ;准备将行扫描右移1位形成下一 MOV A,R3 ;R3带进位C右移1
28、位 RRC A MOV R3,A ;形成下一行扫描字送入R3 MOV A,R0 CJNE A,#04H,SKEY2 ;最后一行扫4次完了吗 NN: LJMP JIAN MN: MOV BUT,A CPL A MOV OPPBUT,A LCALL REMOTE ;转发送程序 AJMP NN SKEY3: MOV A,R1 JNB ACC.0,SKEY5 JNB ACC.1,SKEY6 JNB ACC.2,SKEY7 JNB ACC.3,SKEY8 LJMP NN SKEY5: MOV A,#01H MOV R2,A ;存0列号 AJMP DKEY SKEY6: MOV A,#01H MOV R2
29、,A ;存1列号 AJMP DKEY SKEY7: MOV A,#01H MOV R2,A ;存2列号 AJMP DKEY SKEY8: MOV A,#01H MOV R2,A ;存3列号 AJMP DKEY DKEY: MOV A,R0 ;取行号 ACALL DECODE LJMP MN DECODE: MOV A,R0 ;取行号送A MOV B,#04H ;每一行按键个数 MUL AB ;行号*按键数 ADD A,R2 ;行号*按键数+列号=键值在A中 RET REMOTE: SETB ET0 ;开T0中断 SETB TR0 ;开启定时器T0 MOV R1,#06H ;原数值#09H OU
30、T01: MOV R2,#0C8H ;发5ms引导码 DJNZ R2,$ DJNZ R1,OUT01 CLR TR0 ;关定时器T0 CLR ET0 ;关T0中断 CLR P3.4 ;关脉冲输出 MOV R1,#0AH ;3ms空隙 OUT02: MOV R2,#96H DJNZ R2,$ DJNZ R1,OUT02 OUT03: ;发射数据流 MOV A,PCODE LCALL OUT04 ;调用发送子程序 MOV A,OPPCODE ACALL OUT04 ;调用发送子程序 MOV A,BUT LCALL OUT04 ;调用发送子程序 MOV A,OPPBUT LCALL OUT04 ;调
31、用发送子程序 SETB C ;发送结束码1 LCALL SEND ;调用发送子程序 MOV R1,#0EAH ;延时130MS OUTWAIT: MOV R2,#0C8H DJNZ R2,$ DJNZ R1,OUTWAIT RET OUT04: ;循环发射各数据位 MOV R1,#08H OUT: RLC A ACALL SEND DJNZ R1,OUT RET SEND: CLR TR0 ;关定时器T0 CLR ET0 ;关T0中断 CLR P3.4 ;关脉冲输出 JC SEND1 MOV R3,#08H ;发射0码 SEND0: MOV R4,#69H ;0码低电平 DJNZ R4,$ D
32、JNZ R3,SEND0 AJMP SIG ;转脉冲发送信号 SEND1: MOV R3,#02H ;1码低电平 SEND10: MOV R4,#8CH DJNZ R4,$ DJNZ R3,SEND10 SIG: SETB ET0 ;开T0中断 SETB TR0 ;开启定时器T0 MOV R3,#08CH ;发射脉冲 DJNZ R3,$ CLR TR0 ;关定时器T0 CLR ET0 ;关T0中断 CLR P3.4 ;关脉冲输出 RET INTT0: CPL P3.4 ;40kHZ红外线遥控信号产生 RETI ;中断返回 DELAY: MOV R7,#10H ;延时10秒子程序 TS1: MO
33、V R6,#0FFH TS2: DJNZ R6,TS2 DJNZ R7,TS1 RET END ;程序结束 附录三 红外遥控系统接收部分源程序 : ORG 0000H LJMP START ORG 0003H LJMP INTEX0 ORG 0030H PCODE EQU 30H ;识别码 OPPCODE EQU 31H ;识别码反码 BUT EQU 32H ;按键码 OPPBUT EQU 33H ;按键反码 CODENUM EQU 34H ;接收码数 MINMA EQU 35H ;储存密码 GUAN EQU 36H ;储存管理员密码 START: MOV SP,#70H MOV IE,#00H ;关所有中断 SETB EX0 ;开外中断 SETB EA ;总中断允许