基于单片机系统的红外遥控器应用01.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘 要:介绍红外遥控器与单片机的硬件接口,并从原理出发给出软件解码的方法。通过软件程序对红外遥控器发射的脉冲波形检测得出信号码,从而为软件解码提供依据。 ??? 关键词:遥控器;软件解码;单片机;红外线    ??? 红外遥控器由于其体积小、功耗低、功能强、成本低的特点,已经在家电产品设备中广泛应用。现代智能化仪器仪表系统、工业设备中的控制输入也较多地使用红外遥控器。本文给出红外遥控器信号发射原理、红外接收器的连接方式和单片机软件解码应用程序,并提供了一种对未知格式的遥控器信号码检测的应用程序。 1 红外遥控器信号发射原理简介   通用红外发射器由指令键、指令信号产生电路、调制电路、驱动电路及红外发射器组成。如图1所示。 遥控器所产生的脉冲编码的格式一般为:   ??? 引导脉冲(头)识别码(用户码)键码键码的反码   其引导脉冲为宽度是10 ms左右的一个高脉冲和一个低脉冲的组合,用来标识指令码的开始。识别码、键码、键码的反码均为数据编码脉冲,用二进制数表 示。“0”和“1”均由ms量级的高低脉冲的组合代表。识别码(即用户码)是对每个遥控系统的标识。通过对识别码的检验,每个遥控器只能控制一个设备动作,有效的防止了多个设备之间的串扰。当指令键按下时,指令信号产生电路便产生脉冲编码。键码后面一般还要有键码的反码,用来检验键码接收的正确性,防止误动作,增强系统的可靠性。这些指令信号由调制电路调制成32~40 kHz的信号,经调制后输出,最后由驱动电路驱动红外发射器件(LED)发出红外遥控信号。2 红外遥控器信号接收芯片外围电路   接收电路可以使用集成红外接收器成品,一般不需要任何外接元件就能完成从红外接收到输出TTL电平兼容信号的所有工作。注意选择接收器件时要保证接收器件的中心频率与发射信号的中心频率相匹配。接收器对外只有3个引脚:VCC,GND和1个脉冲信号输出OUT。与单片机接口非常方便,如图2所示。脉冲信号输出接CPU的普通输入引脚或中断输入引脚(IO/INT)。采取这种连接方法,软件解码既可工作于查询方式,也可工作于中断方式。在实际应用中,还可以进一步增加抑制干扰电路和提高驱动能力电路,增强系统的稳定性。3 未知信号格式遥控器信号码的识别   在应用系统中,要完成对遥控器信号的解码并实现对系统功能的控制,必须了解遥控器信号码(即遥控器所发射脉冲流)的格式,即信号的引导脉冲高低脉冲的宽度、“0”,“1”的表示法,以及遥控器识别码、各个功能键的键码。对信号码的识别应该从分析脉冲流的各个高、低脉冲的时间入手,通过分析各个高、低脉冲的时间,分析得出信号码的格式。下面提供一种软件测试信号码的方法,以供参考。 ??? 笔者采用PIC16C72单片机,4 MHz晶振,红外发射器芯片为BA6121-001,通过软件中断的方法,对手中未知格式的信号码进行测试识别。遥控器接收器OUT端接RB0/INT,测得在遥控器空闲的情况下输出为高,INT首先采用下降沿触发。第一次INT发生时,启动定时器,每次中断要将触发形式设置为上一次触发的相反形式,以保证在下次电平变化时产生中断;定时器溢出中断记录每次脉冲期间定时器溢出的次数;为了提高检测精度,应提高定时器的时间分辨率,但过高的时间分辨率会引起单个脉冲期间定时器溢出,记录每个脉冲期间溢出次数又浪费了大量数据寄存器。这里笔者采取了折中的办法,即数据寄存器高6位只记录定时器值的高6位,低2位用来记录定时器溢出次数,既节省了数据寄存器数量,又在一定程度上保证了较高的检测精度。数据存储格式如图3所示。由于此程序只为测试程序,可在仿真器中读出寄存器组中所记录的各高低脉冲所对应的定时器值,计算得出高低脉冲的时间数据,分析数据可知遥控器信号码的格式。下面给出部分INT和定时器0中断服务程序:这里需要合理设置定时器的预分频值,笔者多次实验,得出较为合理的预分频值为18,定时器时间分辨率为8μs,最大定时时间为(4×256+252)×8×1μs=10.2 ms,测量精度达到最高,误差为32μs。通过对所得数据分析,得出遥控器的信号码格式如图4所示。4 软件解码应用程序   在已知遥控器信号码格式的条件下,可以通过单片机软件程序实现解码。以笔者手中的遥控器为例,根据上面已测得的信号码,采用PIC16C54单片机,4 MHz晶振,提供一种软件解码的应用程序。   PIC16C54单片机是一款有着较高性能价格比的低档单片机,最适合低价格、低功耗、小体积的设备。PIC16C54没有中断系统,程序采用软件查询法,查询输入引脚的电平变化,采用定时器定时,根据定时器的记录值和已知的信号格式比较,判断各部分接收是否正确以及分辨键码并执行相应的命令。   由于遥控器脉宽时间值是在一个小范围内波动,而且检测过程中定时器也存在误差

文档评论(0)

14576 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档