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

📄 eee.h.txt

📁 里面包含了LCD显示
💻 TXT
字号:

#define ifr_ir_c
#include"io.h"
#include"ifr_ir.h"
#include"key.h"
#include"main.h"



//****************************************************
//function:ir init    
//input   :无	  	  
//output  :i,延时i x 100us
//modify  :2007-06-21
//*****************************************************
void ifr_init()
{
    b_ifr=0;
	b_irf=0;	
}

//****************************************************
//function:红外的接收函数	  
//input   :无	
//output  :无 	 
//modify  :2007-6-19  	  
//*****************************************************
void ifr_irn()												   
{
  uchar cont;  
  cont=mj=0;
  	
  while(!ifr_ir)mj++;
  if((mj<1000)||(mj>2000))return ; 	
  mj =0;  
  while(ifr_ir)mj++;
  if((mj<500)||(mj>1000))return ;       
  mj =0; 
  delay(2);
  if(ifr_ir)return;
   for(i=0;i<4;i++) //4个字节	  
    for(j=0;j<8;j++){    //每个字节8位	
		cont ++;
       while (!ifr_ir);	//等待Infr为1; //560us完成
	   ifr_buf[i] >>= 1;
	   delay(35);
       if(ifr_ir)		// 小于560us为位0
  	   delay(18);
	   if(ifr_ir)
          ifr_buf[i] |= 0x80;// 大于900us为位1 
       while(ifr_ir);        
  	}
  if(cont == 32)
    {
      cont = 0; 
	  if(ifr_buf[0]+ifr_buf[1]==0xff)
	    led_ray1(5);
 	  b_ifr=1;  
  }	
 }	
  
//****************************************************
//function:无线的接收函数  
//input   :无	   
//output  :无		  
//modify  :2007-8-30  	 
//****************************************************	
void ifr_rf()
 {
    uchar cont; 
	bit   b_rfbit;
    cont=jm=0;
	TH0=TL0=0;
	if(b_rfstart==0)
	 {
	    while(rfintpin);
		if(TH0<0X01||TH0>0x02){TH0=TL0=0;return;}
		TH0=TL0=0;
		while(!rfintpin);
		if(TH0<0X18||TH0>0x3e){TH0=TL0=0;return;}
		else {b_rfstart=1;//BPTR=0;
		      cont=0;TH0=TL0=0;}
	 }
	    led_ray1(4);
	for(i=0;i<3;i++) //3个字节	  
      for(j=0;j<8;j++){   //每个字节8位	
	  	cont++;
	    while(rfintpin);
	    if(TH0< 1)
		   {if(TL1>70) b_rfbit=0;
            else  {b_rfstart=0;TH0=TL0=0;return;}} 
		else if(TH0<3)b_rfbit=0;
        else if(TH0<7)b_rfbit=1;
		else {b_rfstart=0;TH0=TL0=0;return;}

		ifr_buf[i] >>= 1;
		if(b_rfbit)
		    {ifr_buf[i] |= 0x80;} 
		while(!rfintpin);
		TH0=TL0=0;

	   }

	if(cont!=24)return;

      cont = 0; 
      if((ifr_buf[0]==0x55)&&(ifr_buf[1]==0x55))
	  led_ray1(4);
 	  b_irf=1; 	
	/*
	if(b_rfcheck==0)
	  {
	    temp[0]=ifr_buf[0];temp[1]=ifr_buf[1];temp[2]=ifr_buf[2];b_rfcheck=1;
	  }
	else 	 
	  {
	    if((temp[0]==ifr_buf[0])&&(temp[1]==ifr_buf[1])&&(temp[2]==ifr_buf[2]))
		  {
		     led_ray1(ifr_buf[2]);b_irf=1;b_rfstart=0; 
		  }
	  }

	 */
 }

 /*
//****************************************************
//function:无线的接收函数 
//input   :无	   
//output  :无		  
//modify  :2007-8-30  	 
//****************************************************
	
void ifr_rf()
 {
    uchar cont; 
    cont=jm=0;
		if(!cont)return;									
    while(rfintpin)jm++;
    if((jm<60)||(jm>100))return ;
   	jm=0;

    while(!rfintpin)jm++;
	if((jm<1600)||(jm>2500))return ;
	jm =0; 
	if(!rfintpin)return;
	//led_ray1(3);
	//if(!cont)return;
	for(i=0;i<3;i++) //3个字节	  
      for(j=0;j<8;j++){   //每个字节8位	

		cont ++;
		delay(35);
		delay(30);
		ifr_buf[i] >>= 1;
		if(rfintpin)								   
		    {
			 ifr_buf[i] |= 0x80;	
		     delay(35);
			 if(rfintpin)return;
			}

		while(!rfintpin); 


      }
	 if(cont!=24)return;
  											
      cont = 0; 
      if((ifr_buf[0]==0x55)&&(ifr_buf[1]==0x55))
	  led_ray1(ifr_buf[2]);
 	  b_irf=1; 
 }
				   
   */  /*
//****************************************************
//function:红外的接收函数	 
//input   :无
//output  :无 		  
//modify  :2007-6-19  
//*****************************************************
void ifr_irn()												   
{
  uchar cont;  
  cont =0;		   

  if(ifr_ir)return; 
  
  TR2=0;
  TR0=0;
  TF0=0;
  TL0=(65536-5000)%256;  
  TH0=(65536-5000)/256;    
  TR0=1;
  do{
     if(TF0)
	   {break;}	   
	 if(ifr_ir)
	   {return;}
    }while(1);
		   					   
  TR0=0;
  TF0=0;
  TL0=(65536-6000)%256;   
  TH0=(65536-6000)/256;       
  TR0=1;
  do{
     if(TF0)
	   {return;}
	 if(ifr_ir)
	   {break;}
    }while(1);

  TR0=0;
  TF0=0;
  TL0=(65536-6000)%256;   
  TH0=(65536-6000)/256;       
  TR0=1;
  do{
     if(TF0)
	   {return;}
	 if(!ifr_ir)
	   {break;}
    }while(1);

   for(i=0;i<4;i++) //4个字节
    for(j=0;j<8;j++)
	 {
	   cont ++;					 
	   TR0=0;
       TF0=0;
       TL0=(65536-800)%256;   
       TH0=(65536-800)/256;       
       TR0=1;
       do{
           if(TF0)
	         {
			   TF0=0;
			   return;
			 }

         }while(ifr_ir==0);
	   TR0=0;
       TF0=0;
       TL0=(65536-700)%256;   
       TH0=(65536-700)/256;       
       TR0=1;
       do{
           if(TF0)
	         {
			   TF0=0;
			   break;
			 }
         }while(ifr_ir==1);
	  ifr_buf[i] >>= 1;
	  if(ifr_ir==1)
	     {
	       ifr_buf[i] |= 0x80;			 
		   TR0=0;
           TF0=0;
           TL0=(65536-1100)%256;   
           TH0=(65536-1100)/256;       
           TR0=1;
           do{
              if(TF0)
	             {return;}
	          if(!ifr_ir)
	             {break;}
              }while(1);
		 }	   	     
	 }
  if(cont == 32)
    {
      cont = 0;
	  if((ifr_buf[0]+ifr_buf[1])==0xff)
	      led_ray1(5); bbb=1;  TR2=1; 
 	  b_ifr=1;  
    }
				
}
	
//****************************************************
//function:无线的接收函数  
//input   :无
//output  :无
//modify  :2007-8-30  	  
//****************************************************
void ifr_rf()
 {
    uchar cont; 
    bit   b_rf=0; 
    cont =0;


	  if(!cont)return;

    TR0=0;
    TF0=0;
    TL0=(65536-200)%256;  //200us
    TH0=(65536-200)/256;       
    TR0=1;
    do{
        if(rfintpin==0)
			return ;
        if(TF0)
    	  {
            break;
    	  }
     }while(1);

   TF0=0;
   TR0=0;
   TL0=(65536-500)%256;                          									 
   TH0=(65536-500)/256;       
   TR0=1;
   do{
       if(rfintpin==0)
			break;
       if(TF0)
    	  {
      	    TF0=0;
            return;
    	  }
     }while(1);

   TR0=0;
   TF0=0;
   TL0=(65536-11000)%256;     //11ms                     								 
   TH0=(65536-11000)/256;       
   TR0=1;					
   do{
       if(rfintpin)
		  return;
       if(TF0)
		  break;
     }while(1);

   TR0=0;
   TF0=0;
   TL0=(65536-6000)%256;                          								 
   TH0=(65536-6000)/256;       
   TR0=1;
   do{
       if(TF0)
         {
           TR0=0;
           TF0=0;
           return;
         }
    }while(rfintpin==0);

   for(i=0;i<3;i++) //4个字节
     for(j=0;j<8;j++)
	   {
		 cont ++;
		 TR0=0;
         TF0=0;
         TL0=(65536-800)%256;   //进入时为高电平先延时0.8ms再判断是0还是1  
         TH0=(65536-800)/256;       
         TR0=1;
         while(TF0==0);
		 ifr_buf[i] >>= 1;
		 if(rfintpin)
		    ifr_buf[i] |= 0x80;
		 
		 TR0=0;
         TF0=0;
         TL0=(65536-800)%256;   
         TH0=(65536-800)/256;       
         TR0=1;
		 do{
             if(TF0==1)                   			
              {
                    TF0=0;
                    return;
              }
	    	}while(rfintpin==1);
				   
		 TR0=0;
         TF0=0;
         TL0=(65536-1600)%256;   
         TH0=(65536-1600)/256;       
         TR0=1; 		 
		 do{
             if(TF0==1)                   	//时间到 ,没合格信号来
               {
                    TF0=0;
                    return;
               }
	      }while(rfintpin==0);		           
	}
   if(cont==24)
    {
	   b_irf=1;
	   led_ray1(5);
	}
 }

 */

⌨️ 快捷键说明

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