红外遥控编码格式红外遥控器得编码格式通常有两种格式:NEC 与 RC5 NEC 格式得特征:1:使用 38 kHz 载波频率2:引导码间隔就是 9 ms + 4、5 ms3:使用 16 位客户代码4:使用 8 位数据代码与 8 位取反得数据代码下面得波形就是从红外接收头上得到得波形:(调制信号转变成高低电平了)不过需要将波形反转一下才方便分析: NEC 协议通过脉冲串之间得时间间隔来实现信号得调制(英文简写 PPM)。逻辑“0”就是由0、56ms 得 38KHZ 载波与 0、560ms 得无 载波间隔组成;逻辑“1”就是由 0、56ms 得38KHZ 载波与 1、68ms 得无载波间隔组成;结束位就是 0、56ms 得 38K 载波。下面实例就是已知 NEC 类型遥控器所截获得波形:遥控器得识别码就是 Address=0xDD20;其中一个键值就是 mand=0x0E;注意波形先就是发低位地址再发高位地址。所以 0000,0100,1011,1011 反转过来就就是1101,1101,0010,000 十六进制得 DD20;键值波形如下:也就是要将 0111,0000 反转成 0000,1110 得到十六进制得 0E;另外注意 8 位得键值代码就是取反后再发一次得,如图 0111,0000 取反后为 1000,1111。最后一位就是一个逻辑“1”。 RC5 编码相对简单一些:下面得遥控器地址就是 1A,键值就是 0D 得波形 同样由于取自红外接收头得波形需要反相一下波形以便于分析:反相后得波形: 根据编码规则: 得到一组数字:110,11010,001101根据编码定义第一位就是起始位 S 通常就是逻辑 1第二位就是场位 F 通常为逻辑 1,在 RC5 扩展模式下它将最后 6 位命令代码扩充到 7 位代码(高位 MSB),这样可以从 64 个键值扩充到 128 个键值。第三位就是控制位 C 它在每按下了一个键后翻转,这样就可以区分一个键到底就是一直按着没松手还就是松手后重复按。如图所示就是同一按键重复按两次所得波形,只有第三位就是相反得逻辑,其它得位逻辑都一样。其后就是五个系统地址位:11010=1A