rm-d遥控器已修改.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
红外线遥控器解码程序 这里我们以红外线遥控编码芯片为 LC7461等芯片为 例来说明用单片机实现红外遥控解码的详细过程, 站长琢磨这个解码 程序花了相当多的精力, 期间几经修改逐步完善, 后来还用它开发了 几个小产品,希望能对网友学习单片机有所帮助。 红外线遥控是目前使用最广泛的一种通信和遥控手 段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特 点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及 玩具等其它小型电器装置上也纷纷采用红外线遥控。 工业设备中, 在 高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可 靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成, 应用编/解码专 用集成电路芯片来进行控制操作, 如图 1 所示。发射部分包括键盘矩 阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、 解调、解码电路。 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成脉冲宽度调 制和脉冲相位调制两大类, 这里我们以运用比较广泛, 解码比较容易 的脉冲宽度调制来加以说明,现以 LC7461组成发射电路为例说明编 码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控 编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为 0.565ms、间隔0.56ms、周 期为1.125ms的组合表示二进制的“ 0”;以脉宽为0.565ms、间隔 1.685ms、周期为2.25ms的组合表示二进制的“ 1” 上述“0”和“ 1”组成的42位二进制码经38kHz的载频进行二 次调制以提高发射效率, 达到降低电源功耗的目的。 然后再通过红外 发射二极管产生红外线向空间发射, 7461产生的遥控编码是连续的 42位二进制码组,其中前 26 位 为用户识别码, 能区别不同的红外遥控设备, 防止不同机种遥控码互 相干扰。后 16位为 8位的操作码和 8 位的操作反码用于核对数据是 否接收准确。 当遥控器上任意一个按键按下超过 36ms时,LC7461芯片的振荡 器使芯片激活, 将发射一个特定的同步码头, 对于接收端而言就是一 个9ms的低电平,和一个4.5ms的高电平,这个同步码头可以使程序 知道从这个同步码头以后可以开始接收数据。 解码的关键是如何识别“ 0”和“1”,从位的定义我们可以发 现“0”、“1 ”均以0.56ms的低电平开始,不同的是高电平的宽度 不同,“ 0”为0.56ms, “ 1”为1.68ms,所以必须根据高电平的宽度 区别“0”和“ 1”。如果从0.56ms低电平过后,开始延时,0.56ms 以后,若读到的电平为低,说明该位为“ 0”,反之则为“ 1”,为了 可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如 果该位为“ 0”,读到的已是下一位的高电平,因此取 (1.12ms+0.56ms) /2=0.84ms 最为可靠,一般取 0.84ms左右即可。 根据红外编码的格式,程序应该等待 9ms的起始码和 4.5ms的结果码完成后才能读码 如果邮购我们开发的 51 单片机试验板和扩展元件的 网友,可以获得如上图所示的红外遥控手柄, 这种遥控器的编码格式 符合上面的描述规律,而且价格低廉,有 32 个按键,按键外形比较 统一,如果用于批量开发,可以把遥控器上贴膜换成你需要的字符, 这为开发产品提供了便利。 接收器及解码 LT0038是塑封一体化红外线接收器,它是一种集红外线接收、 放大、整形于一体的集成电路,不需要任何外接元件,就能完成从红 外线接收到输出与TTL电平信号兼容的所有工作,没有红外遥控信号 时为高电平, 收到红外信号时为低电平, 而体积和普通的塑封三极管 大小一样,它适合于各种红外线遥控和红外线数据传输。 下面是一个对 51 实验板配套的红外线遥控器的解码程序, 它可 以把上图 32 键的红外遥控器每一个按键的键值读出来,并且通过实 验板上P1 口的8个LED显示出来,在解码成功的同时并且能发出“嘀 嘀嘀”的提示音 ORG 0000H AJMP MAIN; AJMP MAIN ; 转入主程序 ORG 0003H;外部中断P3.2 ORG 0003H ;外部中断P3.2脚INTO入口地址 AJMPINT ; 转入外部中断服务子程序(解码程 序) ; 以下为主程序进行 ; 以下为主程序进行 CPU中断方式设置 MAIN:SETBEA;打开 MAIN:SETBEA ;打开CPU总中断 请求 SETB ITO; SETB ITO ;设定INTO的触发方式为脉冲负边 沿触发 SETB EXO;打开INTO中断请求 SETB EXO ; 以下对单片机的所有引脚进行初始化,全部设置成高电平 M

文档评论(0)

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

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

1亿VIP精品文档

相关文档