您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制单片机遥控器译码程序设计方案 正文
单片机遥控器译码程序设计方案

单片机遥控器译码程序设计方案

点击数:7284 次   录入时间:03-04 11:56:46   整理:http://www.55dianzi.com   电脑-单片机-自动控制

  本文使用的遥控器是众合牌H-106A型彩电遥控器(熊猫牌SR5417型电视遥控器均可),并为遥控器定做了PVC贴模,将遥控器上的文字改成电子日历、利率屏中的功能键。上述遥控器使用的都是M50462AP或它的可互换集成电路,其C4、C5脚悬空,发送的前8位识别码,固定为11100010(E2H),后8位是键功能攥作码。
  
  遥控器发送的编码顺序,笔者认为是按D7~DO顺序发送出的冰。例如:数字4的操作码是OO011000,串行发出的完整指令代码依次是Ill00010OOOIIOOO(E218H)。
  
  这一点和某些资料介绍的不同,但无关紧要,比如识别码E2,我们是把8位码依次左移;如果把8位码依次右移,识别码就变成了47H,相当于按DO~D7的顺序发送了。
  
  CPU的型号为AT89C51,红外接收器外形和接收电路如图1所示。接收头的输出接89C51的INT1。
  
  按一次电视遥控器,一般要发送几组代码,传送一组指令码的时间是44ms。键一按下,传送指令码按44ms的重复周期持续发送,直至手松开为止。笔者在.89C51的RAM区开辟了6个字节的数据缓冲区(2AH~2FH),存储48位脉冲数据(如图2所示),以便找到两组相同的16位数据。
  
  在主程序中设INT1为负跳变触发。定时器T1工作在方式2,中断禁止。用6MHz晶振时机器周期为2μs。
  
  脉冲宽度为1ms的代码O和脉冲宽度为2ms的代码1的计数值△TO和△T1分别为:△TO=1ms/2μs=500=1FAH,△T1=2ms/2μs=1000=03E8H在INTI中断服务程序中,读T1的计数值,计数值等于△TO计为O,计数值等于△T1计为1,同时将TH1、TL1清0。存储的位置从2AH的最高位开始,直至2FH的最低位(存满48位)为止。
  
  因为遥控器、单片机频率误差、TO计数误差等原因,△T0、△T1很难保证正好等于算式中的值。为此,给“0”、“1”读数规定了0.1ms的误差范围,对应的计数值是32H,即:“0”的范围为:01F4H±32H=01C2H~0226H,“1”的范围为:03E8H±32H=0386H~041AH。
  
  范围选大了,抗阳光的干扰性能差,特别是下午的阳光容易造成误动作;范围选小了,又很不容易接收到信号。对于不同厂家的遥控器,因其所用的陶瓷振子不同,基准频率的差异,范围也略有不同。经过一段时间的实验,确定“0”的范围为△TO一△TO+=0190H—0200H;“1”的范围为△T1一一△T1+=0390H~0400H。
  
  中断服务程序中判断数据是“O”还是“1”的程序框图如图3所示。将TH1、TL1中的数据K送R2、R3,调用子程序判断K的大小。K值在△T0一△T0之间计为“0”,K值在△T1一△T1+之间计为“1”,将判断结果送到暂存字节UO-X1。暂存字节够8位后送入数据缓冲区,计数值够48位后判断键值。
  
  当(2AH)=(2CH)=OE2H,且(2BH)=(2DH)时,2BH中的内容即是键值。否则,就将2AH~2FH中的内容带进位位左移一位后,再判是否满足上述条件。满足,则2BH中的内容为键值,不满足再左移、判断。若左移16次仍不满足条件,则判数据无效。若数据有效,将键值送键值存储单元NO_M(1EH),主程序按键定义转相_应的处理程序,并向1EH送无效码FFH。

42558


  
  遥控器的调试

    1.键值的确定

  不同厂家的遥控器对应的键值编码有些不同。调试时可以在本文程序标号为“XIS-O”处设断点,读取NU_M单元的数值,即键值。当然,前提是硬件要先调试好。也可以使用稳定性较好的示波器,当接收头收到信号时仔细观察接收头输出的波形,每两个负脉冲之间距离长的为1,距离短的为0,然后根据二进制码去判断键值。
  
  2.遥控器接收头的引脚

  接收头外形多数如图1所示。如果对引脚接线还有怀疑,可以用《速判红外接收头引脚的方法》进行判断。
  
  目前市面上还有一种接收头外形如图4所示,厚度只有几毫米,类似7805,面对遥控器开孔一面时,从左向右数.,引脚依次为GND、+5V、OUT。此遥控器较便宜,但质量不如图1所示的遥控器。
  
  3.其他

  有的红外接收头的GND脚未接外壳,使用时应将GND脚接外壳,以增强抗干扰能力。用示波器可以很清楚地看到,GND脚未接外壳时,不按遥控器,接收头也有许多杂波。
  
  在单片机控制的电子日历和利率屏中,用上述遥控器修改数据,取得了较好效果。

25528




本文关键字:单片机  程序设计  遥控器  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制

上一篇:单片机发声音调