• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术讨论 > 红外通讯NEC 协议 不出效果啊!求解

红外通讯NEC 协议 不出效果啊!求解

录入:edatop.com     点击:

程序如下  12M晶振
delaytime(1)测试延长时间:679us,
delaytime(2)测试延长时间:1332us
要实现目标:0x45键按下实现流水灯,按下0x46键关闭。其他键无反应。
不知道是测试的方法不对还是怎么的?求解
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar ram[4]={0,0,0,0};
sbit IRIN=P3^2;
uchar key,a[8];
void  run();
void delaytime(uint t);
void delaytime(uint t)
{uint a,b;
   for(a=t;a>0;a--)
    for(b=80;b>0;b--);
  }
void main()
  {
         T0=1;
     EA=1;
     EX0=1;
         IRIN=1;  
if(key==0x45)
   {while(1)
    run();
        }
else                                
  P1=0xff;
  }
void run()
{uint i;
  uchar a[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
  for(i=0;i<8;i++)
   { P1=a;
   delaytime(1700);  }
  }
void IR()  interrupt 0
{  uchar m,n;
   uint i;
   for(i=0;i<1100;i++)
    {if(IRIN)
     return;
     }
   while(IRIN!=1);
   while(IRIN);
  for(m=0;m<4;m++)
  {        
   for(n=0;n<8;n++)
   {while(IRIN!=1);
    delaytime(1);
        if(IRIN)
          {ram[m]=ram[m]|0x80;
            delaytime(2);
          }
        else
           ram[m]=ram[m]>>1;
        }
  }
if(ram[2]!=(~(ram[3]&0x7f)))
  {         for(i=0;i<4;i++)
    ram=0;         
        return;
  }
  key=ram[2];
}

不能沉啊   !

我去  么的人(⊙_⊙)? 怎搞?

上一篇:求双工无线语音通信方案
下一篇:哪位大侠有没有摩托罗拉无线对讲机的电路图。

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图