基于单片机的红外遥控信号自学习及还原新方法

发布者:平静宁静最新更新时间:2012-02-23 来源: 21IC关键字:单片机  红外遥控信号  自学习 手机看文章 扫描二维码
随时随地手机看文章

1概述

随着远程教育体系的不断发展和日趋完善,多媒体教学手段在各级各类学校都得到了广泛应用。近年来,我们在进行多媒体教学系统的开发和研制过程中,经常遇到多种用于教学中的红外遥控设备,如:数字投影机、DVD、VCD、录像机、电视机等,由于各种设备都自带遥控器,而且不同的设备所遵循的红外遥控规程也不尽相同,操纵这些设备得使用多种遥控器,给使用者带来了诸多不便。我们采用集中控制各设备的方式如图(1)所示解决了该问题。集中控制各设备的方法是首先对各设备的红外遥控信号进行识别并存储(自学习),然后在需要时进行还原。图(1)中由PC或集中控制器发送设备号及控制命令号至红外遥控信号自学习及还原电路,再由自学习及还原电路恢复对应的红外遥控信号,并发射出去控制指定的红外遥控设备动作。

图(1)集中控制多种红外遥控设备示意图

2红外遥控信号的自学习及还原

2.1红外遥控信号编码、发射原理

通常,红外遥控器是将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去的。二进制脉冲码的形式有多种,其中最为常用的是PWM码(脉冲宽度调制码)和PPM码(脉冲位置调制码)。前者以宽脉冲表示1,窄脉冲表示0,如图(2)所示。后者脉冲宽度一样,但是码位的宽度不一样,码位宽的代表1,码位窄的代表0。如图(3)所示。

图(2)PWM码

图(3)PPM码

遥控编码脉冲信号(以PPM码为例)通常由引导码、系统码、系统反码、功能码、功能反码等信号组成,如图(4)所示。引导码也叫起始码,由宽度为9ms的高电平和宽度为4.5ms的低电平组成(不同的遥控系统在高低电平的宽度上有一定区别),用来标志遥控编码脉冲信号的开始。系统码也叫识别码,它用来指示遥控系统的种类,以区别其它遥控系统,防止各遥控系统的误动作。功能码也叫指令码,它代表了相应的控制功能,接收机中的微控制器可根据功能码的数值去完成各种功能操作。系统反码与功能反码分别是系统码与功能码的反码,反码的加入是为了能在接收端校对传输过程中是否产生差错。为了提高抗干扰性能和降低电源消耗,将上述的遥控编码脉冲对频率为38KHz(周期为26.3us)的载波信号进行脉幅调制(PAM),再经缓冲放大后送到红外发光管,将遥控信号发射出去。

图(4) 遥控编码脉冲信号的组成[page]

2.2红外遥控信号自学习及还原的硬件实现

根据遥控信号编码和发射过程,遥控信号的识别——即解码过程应是去除38KHz载波信号后识别出二进制脉冲码中的0和1。遥控信号识别、存储、还原的硬件电路如图(5)所示。由MCS—51系列单片机 AT89C51、一体化红外接收头、存储器、还原调制与红外发光管驱动电路组成.。

一体化红外接收头采用SIEMENS SFH 506-38,它负责红外遥控信号的解调。将调制在38kHz上的红外脉冲信号解调并反向后再输入到AT89C51的INT0(P3.2)引脚,由单片机进行高电平与低电平宽度的测量。

图中使用具有I2C总线接口的E2PROM 芯片24C32作为存储器,其容量为4KB,



图(5) 红外遥控信号自学习及还原原理框图

用来保存识别出来的遥控信号的高电平与低电平宽度数据。通常遥控信号的二进制脉冲码长为32位,每位由一个高电平与一个低电平组成,应保存的信号宽度数据为 64个,再加上引导码2个数据,共计66个数据,每个数据用一个字节来表示,一个遥控信号命令就需要66个字节来保存。考虑到不同的遥控系统有一定的区别,有些遥控信号命令长度较长,所以存储空间应适当留有余量。在实际应用中,可根据红外遥控设备的数量及每个设备的遥控命令数量等具体情况来决定 E2PROM 芯片的容量和型号。

遥控信号的还原和发射是通过P0口(如图中为P0.1)输出二进制脉冲码(高电平与低电平的维持时间为识别时保存的一组宽度数据)与38KHz调制脉冲相与,即P0口输出高电平允许38KHz调制脉冲通过,P0口输出低电平关断38KHz调制脉冲。调制后的信号经驱动后通过红外发光管,发射红外遥控信号去控制红外遥控设备。图中LED发光管用来指示红外遥控信号,同时用来指示自学习中的各状态。

P2口连结一组按钮,按钮的数量与需要集中控制的红外遥控设备数量相同,用来控制单片机进入或退出自学习状态,按钮号即为设备号。

单片机同时通过串行口连接上位机PC或集中控制器接收控制命令,上位机或集中控制器通过RS—485总线与单片机通信,从而实现了红外遥控设备的远程控制。

2.3 软件设计

单片机上电复位后,首先对其内部定时器、串行口进行初始化,并允许串行口中断。然后监测 P2口,当进入自学习状态(P2口有一引脚输入为低电平并维持1S以上)时,采用定时器定时、软件计数的方法,测量INT0引脚上输入脉冲的高、低电平的宽度。INT0引脚平时为高电平,当接收到红外遥控信号时,由于一体化红外接收头的反向作用,INT0引脚下跳至低电平,此为引导码。将测得的高低电平的宽度保存在存储器中,并将每次测得的低电平的宽度与引导码低电平宽度比较,若相等则表示一遥控命令码识别、存储(自学习)结束。再次监测P2口该引脚,若为低电平并维持1S以上,则退出自学习状态。否则,进一步自学习下一红外遥控命令码。

串行口中断服务程序主要是根据接收到的设备号及命令号查表得到一组事先存储的高、低电平宽度数据,然后在P0口还原出红外遥控信号去控制红外遥控设备按指定的命令动作,即红外遥控信号的还原。

3结束语

我们用上述红外遥控信号的自学习及还原方法,成功地实现了新科VCD、DVD、金正DVD、松下系列录像机以及多种型号数字投影机、彩色电视机遥控信号的自学习和还原,从而在多媒体远程教学系统中实现了可红外遥控设备的远程控制。

[参考文献]
1 单片机应用系统设计. 何立民编.北京航空航天大学出版社,1996
2 智能型红外遥控器 . 龙勐 . 《电子技术》1998(9)23-24

关键字:单片机  红外遥控信号  自学习 引用地址:基于单片机的红外遥控信号自学习及还原新方法

上一篇:无需更换电池的倒计时数字定时器
下一篇:Windows CE.NET 4.2下PC与单片机的串行通信

推荐阅读最新更新时间:2024-03-16 12:53

单片机各种IO口的类型详细分析
集电极开路 输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路;左边的三极管为反相之用,使输入为 0 时,输出也为 0 。 对于图 1,当左端的输入为 0 时,前面的三极管截止,所以5v电源通过1k电阻加到右边的三极管上,右边的三极管导通;当左端的输入为 1 时,前面的三极管导通,而后面的三极管截止。 下载 (46.02 KB) 2011-4-8 10:59 我们将图1简化成图2的样子,很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载到地,那么输出端的电平就被这个负载拉到低电平了,
[单片机]
基于51单片机的多功能八路抢答器设计
1.功能介绍 多功能八路抢答器是基于51单片机来设计的,除了可以实现最基本功能——8路抢答外,还具有自动处理犯规选手,抢答时间调整,还可以进行答题,计分,并且可以查询或修改分数。 2.硬件设计 (1)硬件框图 该抢答器的硬件由五个部分组成,包括单片机、按键电路、数码管显示电路、指示灯电路和声音提示电路。硬件框图如下 (2)硬件原理图 由于每个部分的硬件电路都比较简单,就不做介绍了,大家直接看图。 3.软件设计 (1)软件流程图 (2)程序源码 由于本例程代码比较多,这里就只贴出部分代码,有兴趣的小伙伴可以下载源码去看看 复制 void main() { uint j;//用来构成循环 TMOD=0x11
[单片机]
基于51<font color='red'>单片机</font>的多功能八路抢答器设计
μC/OS-II在凌阳单片机SPCE061A上的移植
摘要:以凌阳单片机为例详细介绍μC/OS-II的移植方法;重点讲解在系统移植过程中一些难以理解的概念,并首次实现了μC/OS-II在凌阳SPCE061A单片机上的移植。 关键词:μC/OS-II 凌阳单片机 嵌入式系统   目前,实时操作系统已广泛应用于工业控制的各个领域。μC/OS-II作为一个实时内核,由于其源码公开、代码规范,广受开发人员的喜爱。SPCE061A是凌阳公司继μ’nSPTM系列产品SPCE500A等之后新推出的一款16位单片机,内部集成A/D、D/A等多种接口电路,能很方便地嵌入工业控制的各种场合。更重要的是,其内嵌2K字的SRAM和32K的Flash ROM,因此,在不需要扩展外部存储器的情况下就可以实现
[嵌入式]
基于单片机的网络视频监控系统的设计
本文提出了一种网络化视频监控系统,将单片机控制技术、USB数据采集技术与基于TCP/IP协议栈的计算机网络结构有机结合起来,使人们能够通过监控现场的摄像机和麦克风等视频音频捕捉设备。   将监控现场的信号通过局域网传输,并送到监视器上以获得实时图像和声音,从而实现远程遥视现场。   随着嵌入式系统的飞速发展,在许多领域,以微控制器为中心的应用系统正逐步取代以计算机为中心的应用。因此,对于网络应用系统的研究,越来越多的研究人员将研究重点转移到嵌入式系统上来。基于此背景,本文提出了一种网络化视频监控系统方案,其目标是使人们能够通过监控现场的摄像机和麦克等视频音频捕捉设备,将监控现场的信号通过局域网传输,并送到监视器上以获得当地实时
[模拟电子]
基于<font color='red'>单片机</font>的网络视频监控系统的设计
基于单片机的风机温度控制系统的设计
0.引言 风机为通用机械,它广泛地使用在国民经济的各个部门中。风机广泛用在工厂、矿井、车辆、建筑物、家用电器等的通风、排尘和冷却;谷物的烘干和选送;风洞风源和气垫船的充气和推进等。另外,在一些对环境温度有特殊要求的场所,要求温度变化在1℃以下,这就需要一种可以根据外界环境温度来确定风机的转动与停止的风机温控系统。 本文设计的风机微小温控系统,可使温度检测精度达到0.01℃,并可手动设定温度上下限,且具有自动声光报警功能。 1.设计要求 本系统采用PT1000温度传感器检测环境温度(温度检测精度0.01℃),根据环境温度变化控制风机降温,并具备按键手动设定温度上下限、声光报警等功能。其控制面板示意图如图1所示。
[单片机]
51单片机有几个中断源_52单片机中断源
51单片机有5个中断源分别是: 1、INT0——外部中断0,由P3.2端口引入,低电平或下降沿引起。默认优先级最高 2、INT1——外部中断1,由P3.3端口引入,低电平或下降沿引起。默认优先级第二 3、T0——定时器/计数器0中断,由T0计数器计满回零引起。默认优先级第三 4、T1——定时器/计数器1中断,由T1计数器计满回零引起。默认优先级第四 5、T2——定时器/计数器2中断,由T2计数器计满回零引起。默认优先级第五 另外52单片机多加一个中断源 6、TI/RI——串行口中断,串行端口完成一帧字符发送/接收后引起。默认中断优先级最低 --------------------------------
[单片机]
AVR单片机定时器输出PWM的设计及注意问题
  一、定时/计数器PWM设计要点   根据PWM的特点,在使用ATmega128的定时/计数器设计输出PWM时应注意以下几点:   1.首先应根据实际的情况,确定需要输出的PWM频率范围,这个频率与控制的对象有关。如输出PWM波用于控制灯的亮度,由于人眼不能分辨42Hz以上的频率,所以PWM的频率应高于42Hz,否则人眼会察觉到灯的闪烁。   2.然后根据需要PWM的频率范围确定ATmega128定时/计数器的PWM工作方式。AVR定时/计数器的PWM模式可以分成快速PWM和频率(相位)调整PWM两大类。   3.快速PWM可以的到比较高频率的PWM输出,但占空比的调节精度稍微差一些。此时计数器仅工作在单程正向计数方式,
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved