毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

遥控器能收到数据啊可是去控制设备的时候就不行了 第2页

更新时间:2012-5-17:  来源:毕业论文

SDATA_595=CY;
SCLK_595=1;
SCLK_595=0;
}
RCK_595=0;
_nop_();
_nop_();
RCK_595=1; 
_nop_();
_nop_();
RCK_595=0;
delay(1);
CS_LED8=1;
}
}

void IR_IN() interrupt 0 //using 0
{
unsigned char j,k,N=0;
EA = 0;  
delay(10);

if (IRIN==1) 
{
EA =1;
return;

  //确认IR信号出现
while (!IRIN) //等IR变为高电平,跳过9ms的前导低电平信号。
{
delay(1);
}
while (IRIN) //等IR变为高电平,跳过9ms的前导低电平信号。
{
delay(1);
}
for (j=0;j<4;j++) //收集四组数据

for (k=0;k<8;k++) //每组数据有8位
{
while (IRIN) //等 IR 变为低电平,跳过4.5ms的前导高电平信号。
{
delay(1);
}
while (!IRIN) //等 IR 变为高电平
{
delay(1);
}
while (IRIN) //计算IR高电平时长
{
delay(1);
N++;  
} //高电平计数完毕  
  if (N>=30)

EA=1;
return; //0.14ms计数过长自动离开。
}
IRCOM[j]=IRCOM[j] >> 1; //数据最高位补“0”
if (N>7) 
{
IRCOM[j] = IRCOM[j] | 0x80;
} //数据最高位补“
N=0;
}//end for k
}//end for j
/*
if (IRCOM[2]!=~IRCOM[3]) //接收时间是否正确
  { 
  EA=1;
  return; 
  }

if(IRCOM[0]!=0x00) //比较用户码
  { 
  EA=1;
  return; 
  }*/
IRCOM[4]=IRCOM[2] & 0x0F; //取键码的低四位
IRCOM[5]=IRCOM[2] >> 4; //右移4次,高四位变为低四位

beep();

EA = 1; 

/**********************************************************/
void beep()
{
  unsigned char i;
  for (i=0;i<180;i++)
  {
  delay(6);
  BEEP=!BEEP; //BEEP取反
  } 
  BEEP=1; //关闭蜂鸣器
}
/**********************************************************/
void delay(unsigned char x) //x*0.14MS
{
 unsigned char i;
  while(x--)
 {
  for (i = 0; i<13; i++) {}
 }}

上一页  [1] [2] 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。