遥控发射器专用芯片许多,依据编码格局能够分红两大类,这儿咱们以运用比较广泛,解码比较简单的一类来加以阐明,现以日本NEC的uPD6121G组成发射电路为例阐明编码原理(一般家庭用的DVD、VCD、音响都运用这种编码方法)。当发射器按键按下后,即有遥控码宣布,所按的键不同遥控编码也不同。这种遥控码具有以下特征:
选用脉宽调制的串行码,以脉宽为0.565ms、距离0.56ms、周期为1.125ms的组合表明二进制的“0”;以脉宽为0.565ms、距离1.685ms、
周期为2.25ms的组合表明二进制的“1”,其波形如图2所示。
当一个键按下超越36ms,振动器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个引导码(9ms),一个成果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。假如键按下超越108ms仍未松开,接下来发射的代码(连发码)将仅由开始码(9ms)和完毕码(2.25ms)组成。
接纳电路能够运用一种集红外线接纳和放大于一体的一体化红外线接纳器,不需求任何外接元件,就能完结从红外线接纳到输出与TTL电平信号兼容的一切作业,而体积和一般的塑封三极管巨细相同,它适合于各种红外线遥控和红外线数据传输。
接纳器对外只要3个引脚:Out、GND、Vcc与单片机接口十分便利
① 脉冲信号输出接,直接接单片机的IO 口。
② GND接体系的地线(0V);
③ Vcc接体系的电源正极(3~5V);
以上信息来自收集的材料和自己的收拾(便利我们学习)
以下是我的解码程序(参阅C51的程序的成功移植)
留意:红外解码对时间延时的精度要求比较高,很难一次成功,需求耐性调试,修正上色部分的数字巨细.
//使用两位数码管显现遥控器的编码值
//如遥控器上的0~9对应在数码管上显现00~09
#include
#define wei1_1 P1DIR|=BIT7;P1OUT|=BIT7//数码管低方位高
#define wei1_0 P1DIR|=BIT7;P1OUT&=~BIT7//数码管低方位低
#define wei2_1 P1DIR|=BIT6;P1OUT|=BIT6//数码管高方位高
#define wei2_0 P1DIR|=BIT6;P1OUT&=~BIT6//数码管高方位低
#define duan_out P2DIR=0xff//数码管段选P2口设为输出
#define IR_DIR_IN P1DIR&=~BIT0//红外接纳头P1.0设置为输入,
#define IRIN (P1IN&BIT0)//红外接纳头输入值
#define duan P2OUT//数码管段选为P2口
char dat[8];
char seg[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xC6,0xa1,0x86,0x8e};
//函数声明
void InitSys();
void display();
void delay(unsigned char x) //延时子程序(x*0.14MS)
{
unsigned char i,j;
while(x–)
{
for (i = 20; i>0; i–)
for(j=5;j>0;j–);
}
}