下载此文档

红外遥控代码.doc


文档分类:通信/电子 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
红外线遥控器软件解码原理和程序( C 语言) UPD6121G 产生的遥控编码是连续的 32位二进制码组,其中前 16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制 01H ;后 16位为 8位操作码(功能码)及其反码。 UPD6121 G 最多额 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) “0”和“1”,从位的定义我们可以发现“0”、“1”均以 的低电平开始,不同的是高电平的宽度不同,“0”, “1”, 所以必须根据高电平的宽度区别“0”和“1”。如果从 低电平过后,开始延时, 以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比 长些,但又不能超过 , 否则如果该位为“0”,读到的已是下一位的高电平,因此取( + ) /2= 最为可靠,一般取 左右均可。 ,应该等待 9ms 的起始码和 的结果码完成后才能读码。接收器及解码一体化红外线接收器是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从红外线接收到输出与 TTL 电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。下面是一个对 51实验板配套的红外线遥控器的解码程序,它可以把上图 32键的红外遥控器每一个按键的键值读出来,并且通过实验板上 P1口的 8个LED 显示出来,在解码成功的同时并且能发出“嘀嘀嘀”的提示音。红外线一开始发送一段 的引导码,引导码由 9ms 的高电平和 的低电平组成, 跟着引导码是系统码, 系统反码, 按键码, 按键反码, 如果按着键不放, 则遥控器则发送一段重复码, 重复码由 9ms 的高电平, 的低电平, 跟着是一个短脉冲。本程序经过试用,能解大部分遥控器的编码! #include "at89

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

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