问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于红外遥控器的问题

发布网友 发布时间:2022-04-20 02:12

我来回答

1个回答

热心网友 时间:2023-09-09 19:30

摘要:通过对红外遥控器各按键发送冲波形的分析可以识别码型,从而为软件解码提供依据。本文以实例介绍红外遥控器与单片机的硬件接口,并从原理出发给出软件解码的方法。这是一个可以直接引用的成功例子,同时也为各类红外遥控器在单片机控制产品中的开发应用提供了一个非常实用的参考。 关键词:遥控器 软件解码 单片机在单片机控制产品的开发应用中,为了向控制系统软件控制命令,键盘往往是不可缺少的。传统方法是利用并行输入/输出接口芯片扩展一个键盘接口,或者直接利用单片机的并行端口进行扩展。在某些应用环境下,这种方式2个弊端:①键盘和控制系统连在一起,不灵活,环境适应性差;②浪费单片机的端口,且硬件成本较高。使用红外遥控器作为控制系统的输入设备,具有成本低、灵活方便的特点。本文目的就在于介绍软件解码研究的一般方法和红外遥控器进行二次开发的应用技术。该方法已在多个应用系统设计中成功地实现,效果良好。红外遥控器是一种非常容易买到,且价格便宜的产品,种类很多,但它们都是配合某种特定电子产品的(如各种电视机、VCD、空调器等),由专用CPU解码,作为一般的单片机控制系统能直接使用。使用现成遥控器作为控制系统的输入,需要解决如下几个问题:如何接收红外遥控信号;如何识别红外遥控信号;解码软件的设计。其它的问题都是非本质的,例如遥控器面板功能键标注的问题,可自行设计、重印即可。1 红外遥控信号的接收接收电路可以使用集成红外接收器成品。接收器包括红外接收管和信号处理IC。接收器对外只有3个引脚:Vcc、GND和1个脉冲信号输出PO。与单片机接口非常方便,如图1所示。①Vcc接系统的电源正极(+5V);②GND接系统的地线(0V);③脉冲信号输出接CPU的中断输入引脚(例如8031的13脚INT1)。采取这种连接方法,软件解既可工作于查询方式,也可工作于中断方式。2 脉冲流分析要了解一个未知的遥控器,首先要分析其脉冲流,从而了解其脉冲波形特征(以何种方式携带“0”、“1”信息),进而了解其编码规律。脉冲流的分析应从分析脉冲的高、低电平宽度入手。笔者用软件的方法实现了对脉冲流的分析。以图1所示的接口为例,如果没有红外遥控信号到来,接收器的输出端口PO保持高电平;当接收到红外遥控信号时,接收器件信号转换成脉冲序列加到CPU的中断输入引脚。用软件测试引脚的逻辑电平,同时启动TC计时器,测量该引脚分别为逻辑“0”和逻辑“1”情况下的时间值,存储起来,然后打印、分析。下面用8051汇编语言给出对脉冲流进行采集、存储的程序段:MOV R0,#00HMOV R1,#28HMOV TMOD,#01HTK:JB P3.3,TK ;等待低电平到来;测低电平宽度TK1:MOV TH0,#00HMOV TL0,#00HSETB TR0TK0:JB TF0,TKE ;超时无效返回JNB P3.3,TK2CLR TR0MOV A,TH0MOVX @R0,AINC R0MOV A,TL0MOVX @R0,AINC R0;测高电平宽度MOV TH0,#00HMOV TL0,#00HSETB TR0TK3:JB TF0,TKE ;超时无效返回JB P3.3,TK3CLR TR0MOV A,TH0MOVX @R0,AINC R0MOV A,TL0MOVX @R0,AINC R0DJNZ R1,TK1 ;循环TKE:RET这段程序首先将TC0设置成16位定时器方式,初始化RAM地址指针R0和循环计数指针R1,每当引脚的逻辑电平发生跳变时,停止计时,将计时值保存到连续的RAM中。这段程序可以连续测量40个脉冲的时间值(包括40个低电平脉宽)。笔者以TC9012芯片的遥控器为对象,采集了所有按键的编程脉冲波形,并且对同一按键进行了重复实验。限于篇幅,采样数据不能给出,仅给出脉冲流的规律(仿真机CPU晶振为6MHz):①引导脉冲是一个时间值为0937H~0957H的低电平和时间值为084FH~086FH的高电平;②数据脉冲的低电平时间值约为0.127H~0177H;③高电平时间值有2种情况:00BBH~00FFH(窄)、02EFH~0333H(宽)。由大量数据总结分析,按键编码有如下规律:①除引导脉冲外的脉冲是数据编码脉冲,数据“位”信息由高电平脉宽决定:窄脉宽表示“0”、宽脉宽表示“1”;②每个按键的脉冲流译码后,包含4个字节的信息:*所有按键的前2个字节编码都一样,都是2个字节的“0EH”;*第3字节是键码;*第4字节是键码的反码。经过对相同按键脉冲进行多次采样发现,相同按键脉冲序列的对应位置脉宽时间值是在一个小范围内波动的(不是一个确定值),因此,对模式的识别不能采取精确比较法。对此,本人采取模糊的办法进行了抽象处理。根据上述实验规律,将软件译码时对脉冲的分析判断依据及算法设计思想总结如下:①引导脉冲的低电平和高电平宽度的判断依据是时间值的“高字节大于08H”,低字节忽略;②数据脉冲流的低电平脉宽相同,忽略不判断;③高电平脉宽是判断数据流每位是“0”还是“1”的依据。本人抽取的判断是脉宽的高字节若小于2表示“0”,否则表示“1”,脉宽的低字节忽略。实践证明,上述判据是有效可行的。这样处理不仅使解码软件的设计简单化,而且大大提高了解码的速度。使用上述判据编写软件解码程序时,要注意脉冲流采样数据存储地址与脉冲的对应关系。软件主要有如下几部分:①判断遥控信号的到来(在解码前调用1个独立的子程序);②采样并存储脉冲流;③判断引导脉冲是否有效;④解码前2个字节并判断是否为“0EH”;⑤解码第3个字节,该字节即为有效键码;⑥键码的查表映射(如果使用原键码,可省略这一步)。3 解码软件的设计基于上述思路设计的软件解码系统成功地应用于多个控制系统。下面给出一个实例(用MCS-51系列MC交通规则TC9012红外遥控器进行软件解码)的汇编语言程序。程序中使用的参数是针对MCU使用6MHz晶振的情况,使用其它频率的晶振,只需修改脉宽判据即可。为便于理解,尽量保持与原理叙述中的致性,程序中给出了较详细的注翻译,详见网络补充版( http://www.dpj.com.cn)。本文虽然是用MCS-51系列MCU对TC9012红外遥控器软件解码的研究,但其方法具有一般性。具体的应用,可自行变通
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
以后再也不会买vivo质量太差了!才买来的都是卡死,两千多的手机就... 17寸显示器 部分网页右侧看不到 无法显示 猎豹手机浏览器使用百度搜索为何经常白屏,只要点网址导航页的百度,就很... 用什么浏览器都放不出视频是怎么回事,会出现白屏一闪一闪的,时而又五颜... 在使用猎豹浏览器打开一个新标签时突然白屏,然后恢复正常 食品可否退换货 换了主板后,开机只有CPU风扇在转,进不了系统没有"嘀"声显示器没反应 CP... ...又没有发票怎么办了 我是用微信付款的 我该怎么投诉了 ...话多交多得,但以我爸为例,57 岁,交3年可领养老金 眉山城镇社保按1.0缴费退休多少钱? 红外遥控的编码和解码以及译码的定义 我想知道原来的163NET的信箱如何再进?是不是进不... 有谁知道163.net的主页是多少?我想进我的信箱 163.com与163.net为什么不一样那? @163.net这是什么邮箱 163.net邮箱怎么注册登录,163net是企业邮箱吗? 163电子邮箱安全性高吗?163.net邮箱怎么样? 163邮箱登陆入口在哪里?要登录163.net邮箱的账号 .163.net是什么类型的邮箱,为何我的.163.com发送... 163.com与163.net是什么关系 网易163邮箱,126,163net邮箱区别 163.net是哪家公司的邮箱?他们家有企业邮箱吗? 163.net邮箱登陆不上是什么问题? 现在163.net邮箱是什么网站邮箱? 如何登陆@163.net邮箱?怎么找到登陆页面? 163.net是什么品牌的邮箱? 163.net的邮箱现在该在哪登陆 那个163.net的邮箱怎么登陆? 手机三保(三包)的范围? 苹果手机三包之内什么意思 什么是红外线编码分析仪 红外线遥控器的原理? 单片机控制红外遥控编码解码中定时器和外部中断的... 红外线遥控器解码,是解遥控器的码,还解接收头的... 红外遥控器原理 遥控器原理图 红外遥控器编码怎么修改 红外线遥控器的功能 课程设计:红外遥控解码器(基于单片机AT89C51),... 51单片机的红外遥控,遥控器里面是什么程序,接收... 红外线遥控器是利用红外线穿透力强的特性吗 红外遥控器编码方式未知,如何进行解码并得到码值 没有遥控器的情况下能不能解码红外线并且做出合适... 关于51单片机对红外遥控器的接收解码 如何用电脑复制出红外线遥控器的信号,用来控制电... 一般我们用的万能遥控器发出的红外编码是多少位的... 哪位高人能提供美的空调遥控器的编码? 苹果手机包修政策是怎样? 安卓手机怎么设置开机铃声 ,要详细按步骤 安卓手机怎么设置短信铃声 安卓系统手机铃声怎么设置