单片机实现红外接收解码.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实现红外接收解码 纲要:接收到红外遥控器的脉冲波形,并经过分析其波形获得红外遥控器的相应解码,实习 对相应设施的控制。本文详尽接受红外遥控技术原理并怎样经过C51单片机实现红外遥控。 重点字:单片机,红外遥控,解码 前言 遥控器相信大家不会陌生,平时生活中会使用到各种各种的遥控器,比方电视机、DVD 机、空调、机顶盒甚至音响、热水器等都用到遥控器,其实红外技术已经走进与人们的生活而且与人们的生活息息有关了。 红外遥控器作为设施的输入控制拥有操作简易、价钱廉价等诸多利处。您能够依据您企业产品需要和遥控器供给商磋约定制遥控器,包含遥控器键盘布局、每个按键的键码等。 遥控器键盘上每个按键的键码是一个小于256的一个数值,按键后经过遥控器红外管产 生脉冲发送出去,红外接收器接收到脉冲后,对脉冲流进行剖析,提取键码值,并依据键码值实现其遥控目的。 红外接收原理 红外遥控信号接收: 红外接收电路能够使用集成接收器,接收器包含红外接收管及信号办理IC,接收器对 外只有三个引脚,一个接电源的Vcc脚、一个接地的GND脚、一个脉冲信号输出脚,自然 脉冲信号输出脚直接接单片机的某个能够使用的IO脚就能够了。 . . 脉冲波形剖析: 每次按键,红外接收器这边会收到一串脉冲宽度不等的脉冲波形流,其脉冲流由35个 脉冲波形构成: 前导码:第1个脉冲波形 用户码1:第2到第9个脉冲波形 用户码2:第10到第17个脉冲波形 键码:第18到第25个脉冲波形 键码反码:第26到第33个脉冲波形 连续按键脉冲:第34和第35个脉冲为结束脉冲(也即连续按键脉冲),在每次按键结 束后会有两个结束脉冲,假如向来按键不放的话,会向来发送连续按键脉冲,并能够以为在 收到10个连续按键脉冲后是下一个按键。 注意:不同的遥控器产生的用户码值可能不相同,笔者遇到两种不同的用户码:0x00,0xFF及0x04,0x7F。 脉冲流中有四种不同的脉冲波形宽度: 此中前导码脉宽为: 40(4ms) 脉冲宽度50(5ms) 连续按键脉宽为: 21(2.1ms)脉冲宽度25(2.5ms) bit0 脉宽为: 3(0.3ms) 脉冲宽度7(0.7ms) bit1 脉宽为: 14(1.4ms) 脉冲宽度19(1.9ms) 在收到一串脉冲流后, 就要对其进行剖析, 先要检测第一个脉冲波形是不是前导码, 如 果不是,则持续检测前导码,假如是则检测以下 32个脉冲波形: 用户码1 为1字节,由8个脉冲波形构成(此中一个脉冲波形表示字节中 1bit); 用户码2 为1字节; 键值为1 字节; 键值反码为1字节,键值反码为键值取反值。 先判断所收到用户码能否正确,假如不正确则抛弃此次所收键码,假如正确则利用键值反码取反与键值比较,判断收码能否正确,假如不正确则抛弃所收键码。 以下列图所示: . 前导码: 用户码: 键码: 结束码: 从上图能够看出其用户码为:00因为其低位在前,故变换后得 到用户码为:00即0x04,0x7F; 其键码及键码反码为:00相同也是低位在前,变换后获得键码 及键码反码为:00即0x48,0xB7。 实现: 4.1初始化 初始化时自然要先初始化单片机红外接收管脚为高阻输入状态,其次要初始化准时 器,因为检测剖析脉冲波形时需要用到准时器,依据上边对脉冲流波形剖析能够知道最 窄的脉宽为bit“0”,为0.3ms左右,因此准时器最好准时为每0.1ms中止一次比较好,可是准时器的值怎么设置呢,这样依据单片机的振荡器决定。 4.2脉冲波形剖析 第一自然是检测前导码,单片机红外接收管脚在初始化时已经设置为高阻输入状态 (即高电平状态),当有红外输入时,状态变成低电平状态,一旦检测到有低电平过来, 则开始准备检测前导码。获得每个脉冲波形序号,并依据准时器统计出每个脉冲波形在 高电平状态保持的时间,经过其时间值检测第一个脉冲是不是前导码,假如不是则从头 检测前导码,假如是前导码则剖析后来每个脉冲波形是bit“0”,仍是bit“1”,并按 次序每八个波形为一个字节方式保留到用户码1字节变量、用户码2字节变量、键码字 节变量、键码反码字节变量,直到收满32个bits。 . 4.3收码 判断所收到的用户码能否正确、键码及键码反码能否正确,假如都正确则以为此次收码为正确收码,不然抛弃。 收码完后,还会有结束脉冲波形,假如用户向来按住某个键不放,遥控器会向来发送连续按键脉冲波形,假如多次收到连续按键,能够以为再次收到键码,这个能够依据实质需要定。 程序代码 #includereg51.h #defineuintunsignedint #d

文档评论(0)

187****4959 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档