⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irda_ck.c

📁 c52的单片机
💻 C
字号:
static uchar Wave_Value;          /*一个键码一个字节的值*/
static uchar Regist_Value;         /*储存红外波形一个周期的时*/
static bit int0_flg=1;//外部中断标志位
//uchar time_long;
uchar DATA1;
uchar DATA2;
/*---------------------------------------------------------------------------*/
uchar Get_Data(void)
{  uchar i;Wave_Value=0x00;
   int0_flg=1;
//-----------------------------
      for(i=0;i<2;i++)
     {	  
      while(int0_flg);
	  int0_flg=1;
	  }
	  //--------------------
   for(i=0;i<8;i++)
     {
      while(int0_flg);	  
      if(Regist_Value>30){Wave_Value+=1;}
      Wave_Value<<=1; 
      int0_flg=1;
      }
    return Wave_Value;
}
//-----------------------------------
bit Start_Wave(void)              
{ 
  if(Regist_Value>80)
    return 1;              
  else 
    return 0;              
}
//-----------------------------------
bit Verify_Model(void)         
{ 
   DATA1=Get_Data();
   DATA2=Get_Data();
   if(DATA1^DATA2==0xff)
     {
	  return 1;}
   else 
     {
	  return 0;}
}
/***********************************************************************************/
       uchar irda(void)
	  {     if (!INT0)
	      {
	        int0_flg=1;
			while(int0_flg)
		        if(Start_Wave())
		         {
		            int0_flg=1;
		            if(Verify_Model())
		             {
		   	           DATA1=Get_Data();
	 		           DATA2=Get_Data();
		               if(DATA1^DATA2==0xff)
				              return DATA1;
		               else   return 0; 
				     }
                  }
		   }
			
	   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -