基于单片机的红外遥控系统设计_第1页
基于单片机的红外遥控系统设计_第2页
基于单片机的红外遥控系统设计_第3页
基于单片机的红外遥控系统设计_第4页
基于单片机的红外遥控系统设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

课程设计基于单片机的红外遥控系统设计学院:计算机与通信工程学院专业:通信工程班级:通信11-3班姓名:学号:摘要本设计采用51单片机作为遥控发射接收芯片,HS003B作为红外一体化接收发射管,在此根底上设计了一个简易的智能红外遥控系统。系统包括接收和发射两大局部,发射局部有16个按键,接收局部含有8盏彩色LED灯、一片二位数码管和蜂鸣器系统。发射局部通过键盘扫描判断哪个键被按下,经过单片机编码程序进行编码,控制红外发射电路发送信号。接收局部解码信号,实现相应的输出。本设计方案结合红外遥控设计简单、作方便、本钱低廉等特点。关键字:红外遥控信号调制编码解码目录摘要II1.绪论11.1课题目的和意义11.2红外线简介11.3红外遥控系统简介12课题方案和设计思路22.1总体方案22.2红外发射器设计3红外发射器原理3红外编码32.3红外接收端设计43硬件结构设计与介绍53.1AT89C51系列单片机功能特点53.1.1主要特性53.1.2管脚说明5根本电路73.2红外发射电路83.3红外接收电路设计93.3.1红外接收模块9数码管93.3.3彩灯系统10蜂鸣器系统11红外接收端电路图124软件设计124.1定时/计数器功能简介124.2遥控码的发射134.3红外接收145.课程设计总结和心得15参考文献16附录17附录1Proteus仿真图17附录2发射程序17附录3接收程序201.绪论1.1课题目的和意义随着科技的开展,人们生活的节奏也越来越快,随之人们对方便,快捷的要求也随之不断增高。遥控器的出现,在一定程度上满足了人们这个要求。遥控器是由高产的创造家RobertAdler在五十年代创造的[1]。而红外遥控是20世纪70年代才开始开展起来的一种远程控制技术,其原理是利用红外线来传递控制信号,实现对控制对象的远距离控制,具体来讲,就是有发射器发出红外线指令信号,有接收器接收下来并对信号进行处理,最后实现对控制对象的各种功能的远程控制。红外遥控具有独立性、物理特性与可见光相似性、无穿透障碍物的能力及较强的隐蔽性等特点。随着红外遥控技术的开发和迅速开展,很多电器采用该项技术,使人们的生活更加便捷。本小组通过红外遥控技术来控制多盏彩灯的亮灭情况,实现各种花型以及数码管的数值显示。通过本课题的设计,更好的理解红外线的编码解码方式及其红外遥控系统的其他工作原理。1.2红外线简介红外线又称红外光波,在电磁波谱中,光波的波长范围为0.01um~1000um。根据波长的不同可分为可见光和不可见光,波长为0.38um~0.76um的光波可为可见光,依次为红、橙、黄、绿、青、蓝、紫七种颜色。光波为0.01um~0.38um的光波为紫外光(线),波长为0.76um~1000um的光波为红外光(线)。红外光按波长范围分为近红外、中红外、远红外、极红外4类。红外线遥控是利用近红外光传送遥控指令的,波长为0.76um~1.5um。用近红外作为遥控光源,是因为目前红外发射器件(红外发光管)与红外接收器件(光敏二极管、三极管及光电池)的发光与受光峰值波长一般为0.8um~0.94um,在近红外光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。1.3红外遥控系统简介红外遥控系统主要由遥控发射器、一体化接收头、单片机、接口电路组成,遥控器用来产生遥控编码脉冲,驱动红外发射管输出红外遥控信号,遥控接收头完成对遥控信号的放大、检波、整形、解调出遥控编码脉冲。遥控编码脉冲是一组串行二进制码,对于一般的红外遥控系统,此串行码输入到微控制器,由其内部CPU完成对遥控指令解码,并执行相应的遥控功能。使用遥控器作为控制系统的输入,需要解决如下几个关键问题:如何接收红外遥控信号;如何识别红外遥控信号以及解码软件的设计、控制程序的设计。红外遥控是单工的红外通信方式,整个通信中,需要一个发射端和一个接收端。发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。红外接收端普遍采用价格廉价,性能可靠的一体化红外接收头接收红外信号,它同时对信号进行放大、检波、整形,得到TTL。2课题方案和设计思路2.1总体方案红外遥控系统一般由红外发射装置和红外接收设备两大局部组成,图2为所示为结构框图。VCCINTOAT89C51GNDVCCINTOAT89C51GND红外接收器〔一体化接收器〕Vcc红外接收器〔一体化接收器〕红外发射电路〔遥控键盘〕红外发射电路〔遥控键盘〕OUT图2-1系统结构框图红外发射装置又由键盘电路、红外编码芯片、电源和红外发射电路组成。红外接收设备可由红外接收电路、红外解码芯片、电源和应用电路组成。2.2红外发射器设计2.2.1红外发射器原理由于指令数据时间周期较长,信号频率很低,直接发射传送效率和距离受限,抗干扰性差,因此,必须采用二次调制方式,将指令数据通过载波信号进行调制,形成较高频率的复合信号,在通过红外发射二极管产生红外线发射出去。键盘编码调制红外发射键盘编码调制红外发射38KHz38KHz载波发生器图2-2红外遥控发射原理框图2.2.2红外编码红外编码有很多种方式,本课题采用脉冲宽度调制方案,这种遥控码具有以下特征:以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0〞;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1〞。波形如下列图。位“0〞位“1〞0.56ms0.56ms1.125ms2.25ms图2-3位“0〞和位“1〞波形图在此介绍较普遍使用的NEG标准。其数据格式包括引导码、用户码、数据码和数据反码,编码共占32位。数据反码是数据码反相后的编码,编码用于对数据的纠错。9ms4.5msC0-C7C0’-C7’D0-D7D0’-D7’起始引导码用户码用户码数据码数据码8bit8bit8bit8bit13.5ms18-36ms27ms图2-4数据格式2.3红外接收端设计接收端主要包括红外接收模块和解调单片机。其中,红外线接收模块包括光电转换放大器和解调电路。当红外线发射信号进入模块后,在其输出端得到原先的数字控制编码,再经过单片机解码程序进行解码,便知按下那个键,实现相应输出。P0.0连接蜂鸣器系统,每成功接收到信号,蜂鸣器发出一声响声。P1口连接8盏彩灯,接收数据不同彩灯的花色不同,P2口、P3.0和P3.1连接一片二位数管,数码管显示从01到16的数值,分别对应发射局部的16个按键。红外接收端数码管显示AT89C51红外接收端数码管显示AT89C51蜂鸣器系统蜂鸣器系统8盏LED彩灯+5V电源8盏LED彩灯+5V电源图2-5接收局部原理框图3硬件结构设计与介绍3.1AT89C51系列单片机功能特点3.1.1主要特性·与MCS-51兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保存时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路3.1.2管脚说明—VCC:供电电压。—GND:接地。—P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的管脚写“1〞时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。—P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入“1〞后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。—P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收输出4个TTL门电流,当P2口被写“1〞时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1〞时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。—P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1〞后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。—RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。—:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。—:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。—:当保持低电平时,访问外部ROM;注意加密方式1时,将内部锁定为RESET;当端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。—XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。—XTAL2:来自反向振荡器的输出3.1.3根本电路在XTAL1和XTAL2之间接一只石英振荡晶体构成了单片机的时钟电。AT89C51复位引脚RST/VP通过片内一个施密特触发器(抑制噪声作用)与片内复位电路相连,施密特触发器的输出在每一个机器周期由复位电路采样一次。当振荡电路工作,并且在RST引脚上加一个至少保持2个机器周期的高电平时,就能使AT89C51完成一次复位。复位不影响RAM的内容。复位后,PC指向0000H单元,使单片机从起始地址0000H单元开始重新执行程序。所以,当单片机运行出错或进入死循环时,可按复位键重新启动。MCS-51单片机通常采用上电自动复位和按钮复位两种复位方式。上电复位利用电容器充电来实现。按钮复位又分为按钮电平复位和按钮脉冲复位。前者将复位端通过电阻与Vcc相接;后者利用RC微分电路产生正脉冲来到达复位目的。复位电路参数的选择应能保证复位高电平持续时间大于2个机器周期。图3-1AT89C51根本电路3.2红外发射电路本遥控发射器采用脉冲宽度调制红外遥控方式,脉冲宽度调制红外遥控就是指令信号产生电路以不同的脉冲编码代表不同的控制指令。在确定选择AT89C51作为本设计发射电路核心芯片和点触式开关作为控制键后,加上一个简单红外发射电路和12M晶体震荡器便可实现红外发射。发射局部的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它发出的便是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通Φ5发光二极管相同,只是颜色不同[6]。遥控发射通过键盘,每按下一个键,即产生具有不同的编码数字脉冲,这种代码指令信号调制在38KHz的载波上,鼓励红外光二极管产生不同的脉冲,通过空间的传送到受控机的遥控接收器。P1口作为按键局部,P3.6口作为发射局部。独立式键盘可工作在查询方式下,通过I/O口读入键状态,当有键被按下时I/O口变为低电平,而未被按下的键对应为高电平,这样通过读电平状态可判断是否有键按下和哪个键被按下。图3-2红外发射端电路3.3红外接收电路设计3.3.1红外接收模块HS003B是一种常见的红外接收模块。红外接收模块内部含有高频的滤波电路,专门用来滤除红外合成信号的载波信号〔38KHz〕,并送出接收到的信号。模块有3个引脚;引脚1〔GND〕为接地端;引脚2〔VCC〕为为电源正极;引脚3〔OUT〕为数字信号输出端。123图3-3HS003B红外接收模块3.3.2数码管表3-1七段LED字形码显示字符共阳极字符码共阴极字符码03FHC0H106HF9H25BHA4H34FHB0H466H99H56DH92H67DH82H707HF8H87FH80H96FH90H图3-4二位数码管显示器设计中用到型号为7SEG-MAX2-CA-BLUE的二位共阳极数码管显示器。它的左下侧的ABCDEFGDP是LED数码管显示器的I/O口,是段选信号,右下侧的12是它的位选信号,就是从左到右分别是第一位到第二位,段选信号与位选信号分别接到单片机的不同输出口,例如段选信号可以接到P2口,位选信号可以接到P3.0口和P3.1口,共阳极的字形显示代码为:unsignedchar[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90},P3.0输出为0,P3.1输出为1时,选中第二位,段选信号就执行从0到9的显示,P3.0输出为1,P3.1输出为0时,选中第一位,段选信号就执行从0到9的显示。3.3.3彩灯系统P1口连接8盏彩灯,P1.0和P1.4连接的是LED-RED,P1.1和P1.5连接的是LED-YELLOW,P1.2和P1.6连接的是LED-GREEN,P1.3和P1.7连接的是LED-BLUE。根据接收到的信号显示不同的花型。图3-5彩灯系统连接图3.3.4蜂鸣器系统P0.0连接蜂鸣器系统,每成功接收到信号,蜂鸣器发出一声响声。图3-6蜂鸣器系统连接图3.3.5红外接收端电路图图3-7红外接收端电路图4软件设计4.1定时/计数器功能简介AT89C51单片机内部设有两个16位可编程的定时/计数器,简称定时器0和定时器1,分别用T0和T1表示。其功能同一般定时计数器,主要作用是:第一,作为一段特定时间长短的定时;第二,可以计算由T1或T0引脚输入的脉冲数,前者在应用上可以产生正确的时间延迟及定时去执行中断效劳程序,而后者那么是计数器或者计频器的设计。这两个定时器本身有四种工作模式可供使用,如表2所示。表4-1四种工作模式M1MO工作方式功能说明00模式013位计数器01模式116位计数器10模式28位自动重装计数器11模式3定时器0:分成两个8位计数器定时器1:停止计数4.2遥控码的发射当某个操作按键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成38kHz方波由红外线发光管发射出去[13]。通常,红外遥控是将遥控信号〔二进制脉冲码〕调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去的。为了提高抗干扰性能和降低电源消耗,将上述的遥控编码脉冲对频率为38KHz〔周期为26us〕的载波信号进行脉幅调制〔PAM〕,再经缓冲放大后送到红外发光管,将遥控信号发射出去。红外信号发射过程:首先发射9ms高电平和4.5ms低电平的引导码,再发送16位地址码的前8位,16位地址码的后8位,8位按键数据和8位按键数据反码。在实践中,采用红外线遥控方式时,由于受遥控距离,角度等影响,使用效果不是很好,如采用调频或调幅发射接收码,可提高遥控距离,并且没有角度影响。发射控制程序由主程序和键扫描程序、编码发送程序组成,在主程序中,采用键扫描子程序完成各个按键的功能,遥控发射主程序的流程图开始系统初始化〔发送标志清零按键信息置位〕开始系统初始化〔发送标志清零按键信息置位〕检测并获取按键值发送按键发送9ms起始码发送4.5ms结束码发送16位地址的前8位发送16位地址的后8位发送8位按键数据发送8位按键数据反码(a)红外发射主程序流程图〔b〕红外数据发送子程序流程图图4-1红外发射端程序流程图4.3红外接收红外遥控解码程序主要工作为等待红外线信号出现,并跳过引导信号,搜集连续32位的编码数据,并存入内存的连续空间。其位信号判别的原那么是:以判断各个位的波宽信号来决定上下信号〔0或1〕。位解码原理如下:解码为0:高电平宽度0.56ms+低电平宽度0.56ms。解码为1:高电平宽度0.56ms+低电平宽度1.68ms。编码数据读取后,经过单片机将编码数据与键盘代码进行比对,即可解调出具体的按键值,便可知按下哪个键,而做出相应的控制处理,完成红外遥控的动作。初始化〔开中断,显示初始化〕开始初始化〔开中断,显示初始化〕开始接收到按键信息实现相应控制输出中断开始接收到引导码开始接收数据数据码和数据反码是否相反成功接收,保存数据中断返回YYNNYY红外接收主程序流程图〔b〕红外接收中断子程序流程图图4-2红外接收端程序流程图5.课程设计总结和心得这次课程设计耗用了2个星期的心血,从一开始确实定课题,到后来的资料查找、理论学习,再有就是调试和测试过程,这一切都使我的理论知识和动手能力进一步提高。通过本次红外系统的设计,我大有收获。从得到题目到查找资料,从proteus仿真的调试到失败后再一次全部重新开始……在这一个充满挑战伴随挫折,充满热情伴随打击的过程中,我感触颇深,它已不仅是一个对我三学习知识情况和我的应用动手能力的检验,而且还是对我的钻研精神,面对困难的心态,做事的毅力和耐心的考验。我在这个过程中深刻的感受到了做课程设计的意义所在。这个课题的根本技术就是单片机控制技术,加局部外围电路来实现一些复杂的功能。可以根据要求改变软件来实现功能的更新和扩展。本课题的重点、难点是:〔1〕考虑电路实现原理以及与单片机的接口;〔2〕红外发送与接收技术;通过完本钱课题,我了解并掌握了红外遥控技术的根本理论知识,更深入的掌握单片机在实际电路中的开发和应用。为以后从事单片机软硬件产品的设计开发打下了一定的根底,培养了从事产品研发的信心。参考文献[1]单片机原理与应用及C51程序设计,夏维成杨加国编著,清华大学出版社。[2]C语言程序设计〔第三版〕,谭浩强编著,清华大学出版社。[3]单片机系统设计与仿真—基于Proteus,肖婧编著,北京航空航天大学出版社。[4]DIY玩转51单片机,王守中编著,电子工业出版社。[5]单片机侧控技术应用实例解析,许江淳陈显宁陈焰付丽霞编著,中国电力出版社。[6]单片机接口模块应用与开发实例详解,薛小玲刘志群贾俊荣编著,北京航空航天大学出版社。附录附录1Proteus仿真图附录2发射程序#include<REG51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineSBM0x80#definem9(65536-9000) #definem4_5(65536-4500) #definem1_6(65536-1630) #definem_65(65536-580) #definem_56(65536-560) #definem40(65536-40000)#definem56(65536-56000)#definem2_25(65536-2250)sbitIR=P3^6; sbitLED=P3^7; ucharKEY(void);voidSanZhuan(void);voidZZ(ucharx);voidZ0(uchartemp);voidTT0(bitBT,uintx);voidYS(uchartime);voidmain(void){TMOD=0x01;IR=1; while(1){SanZhuan();}}ucharKEY(void){ucharH,L;H=0;L=0;P1=0xf0;if(P1!=0xf0){YS(10);if(P1!=0xf0){H=P1&0xf0;P1=0x0f;L=P1&0x0f;} return(H+L);}return0;}voidSanZhuan(void){ucharv;v=KEY();switch(v){case0x77:ZZ(0x01);v=0;break; case0xb7:ZZ(0x02);v=0;break; case0xd7:ZZ(0x03);v=0;break; case0xe7:ZZ(0x04);v=0;break; case0x7b:ZZ(0x05);v=0;break; case0xbb:ZZ(0x06);v=0;break; case0xdb:ZZ(0x07);v=0;break; case0xeb:ZZ(0x08);v=0;break; case0x7d:ZZ(0x09);v=0;break; case0xbd:ZZ(0x10);v=0;break; case0xdd:ZZ(0x11);v=0;break; case0xed:ZZ(0x12);v=0;break; case0x7e:ZZ(0x13);v=0;break; case0xbe:ZZ(0x14);v=0;break; case0xde:ZZ(0x15);v=0;break; case0xee:ZZ(0x16);v=0;break; default:v=0;}}voidZZ(ucharx){TT0(1,m9); TT0(0,m4_5); Z0(SBM); Z0(~SBM);Z0(x);Z0(~x);TT0(1,m_65);TT0(0,m40);while(KEY()){TT0(1,m9);TT0(0,m2_25);TT0(1,m_56);TT0(0,m40);TT0(0,m56);LED=!LED; }LED=1; }voidZ0(uchartemp){ucharv;for(v=0;v<8;v++){TT0(1,m_65); if(temp&0x01)TT0(0,m1_6); elseTT0(0,m_56); temp>>=1;}}voidTT0(bitBT,uintx){TH0=x>>8; TL0=x;TF0=0; TR0=1; if(BT==0)while(!TF0); elsewhile(1) { IR=0; if(TF0)break; if(TF0)break; IR=1; if(TF0)break; if(TF0)break; if(TF0)break; if(TF0)break; if(TF0)break; if(TF0)break; if(TF0)break; if(TF0)break; if(TF0)break; if(TF0)break; }TR0=0; TF0=0; IR=1; }voidYS(uchartime){uchari,j; for(i=0;i<time;i++)for(j=0;j<247;j++)_nop_();}附录3接收程序#include<reg51.h>sbitIRIN=P3^2;sbitSPK=P0^0;sbitRELAY=P2^7;sbitP3_0=P3^0;sbitP3_1=P3^1;unsignedcharIRDATA[7];unsignedchartab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsignedcharX1,X2;voidIRZ();voidXSQ();voidmain(){EA=1;EX0=1;IT0=1;P1=0xff;P2=0xc0;P3_0=0;P3_1=0;SP

温馨提示

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

评论

0/150

提交评论