接收电路使用集成一体化红外接收头SM0038(1 )。
图一红外遥控系统组成方框图
图二红外接收头SM0038 图三SM0038与单片机接口电路
红外遥控编码规律
应用中的各种红外遥控系统的原理都大同小异,区别只是在于各系统的信号编码格式不同。遥控专用集成电路的编码格式是公开的,可以查阅到。下面就以TC9012组成的遥控器说明它的编码体制规律。当按下遥控器上任一按键时,TC9012即产生一串脉冲编码如图四所示。TC9012形成的遥控编码脉冲对40kHz载波进行脉冲幅度调制后便形成遥控信号,经驱动电路由红外发射管发射出去。编码体制规律如下:
(1)一次按键动作的遥控编码信息包含一引导脉冲和32 位串行二进制码。前16 位码为用户码,不随按键的不同而变化。它是为了表示特定用户而设置的一个辨识标志,以区别不同机种和不同用户发射的遥控信号,防止误操作。后16位码随着按键的不同而改变,是按键的识别码。前8位为键码的正码,后8位为键码的反码。
(2)遥控信号不是用高电平或低电平来表示“1”或“0”的,而是通过脉宽来表示的,对于二进制信号“0”,一个脉冲占1.2ms;对于二进制信号“1”,一个脉冲占2.4ms,而每一脉冲内低电平均为0.6ms。
图四一帧码的数据结构图
按键识别程序的设计
要使用一个遥控器进行遥控系统的设计,必需首先了解不同的按键编码脉冲是怎样和遥控器上不同的按键一一对应的。笔者用软件的方法实现对脉冲流的分析,使用如图三所示的接口电路接收信号。如果没有红外遥控信号到来,接收器的输出端口OUT 保持高电平;当接收到红外遥控信号时,接收头将信号解调下来并转换成脉冲序列加到CPU的中断输入引脚。用软件测试引脚的逻辑电平,同时启动T计时器,测量该引脚分别为逻辑“0”和逻辑“1”情况下的时间值,存储起来,然后分析。其规律如下(仿真机CPU晶振为6MHz):
①引导脉冲是一个时间值为1137H~1157H的低电平和时间值为084FH~086FH的高电平;
②数据脉冲的低电平时间值约为0127H~0177H;
③高电平时间值有2种情况:00BBH~00FFH(窄:表示“0”)利0301H~0333H(宽:表示“1”);
④同时通过分析能从中了解各键的键码值,供编写应用程序时使用。