下载此文档

红外遥控代码.doc


文档分类:通信/电子 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
红外线遥控器软件解码原理和程序(C语言)
UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。
    遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。
    当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码()组成。
代码格式(以接收代码为准,接收代码与发射代码反向)
①位定义 
②单发代码格式 
③连发代码格式 
注:代码宽度算法:
16位地址码的最短宽度:×16=18ms 16位地址码的最长宽度:×16=36ms 
易知8位数据代码及其8位反代码的宽度和不变:(+)×8=27ms
所以32位代码的宽度为(18ms+27ms)~(36ms+27ms)
1. 解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”,不同的是高电平的宽度不同,“0”,“1”,所以必须根据高电平的宽度区别“0”和“1”。,开始延时,,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,,,否则如果该位为“0”,读到的已是下一位的高电平,因此取(+)/2=,。
2. 根据码的格式,。

接收器及解码
    一体化红外线接收器是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。
下面是一个对51实验板配套的红外线遥控器的解码程序,它可以把上图32键的红外遥控器每一个按键的键值读出来,并且通过实验板上P1口的8个LED显示出来,在解码成功的同时并且能发出“嘀嘀嘀”的提示音。
,,跟着引导码是系统码,系统反码,按键码,按键反码,如果按着键不放,则遥控器则发送一段重复码,重复码由9ms的高电平,,跟着是一个短脉冲。本程序经过试用,能解大部分遥控器的编码!
#include     ""
#define      NULL        0x00//数据无效
#d

红外遥控代码 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cjrl214
  • 文件大小0 KB
  • 时间2015-05-28
最近更新