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

📄 main.c

📁 keil 环境 收IR及发IR的相关软件
💻 C
📖 第 1 页 / 共 3 页
字号:
   SYS_POWER_PIN=1;
   SYS_MUTE_PIN=1;
   TMOD=0x11;
   TH0=MS1TH0;
   TL0=MS1TL0;

   TH1=MS1TH1;
   TL1=MS1TL1;


   EX1=TRUE;
/*
CHANGE FOR TEST BY YANGTAO 2002.08.19
*/ 
   ET0=TRUE; 
   ET1=TRUE;
 
   PT0=TRUE;  
   PX0=TRUE;

   IT0=TRUE;
   IT1=TRUE;
     
   TR0=TRUE;
   TR1=TRUE;

   EA=TRUE;

   SYSPowerFlag=0;

/*
   read_data_flag=1;
   En_Flag=1;
   data4=IR_DVD_POWER;
*/

while(1)
    {
      /*******************************************************/   
      /*******************************************************/   
               
                if(En_Flag)
                  {
                     read_data_flag=0;
                     En_Flag=0;
				  
                       if(data4==IR_DVD_POWER)//IR  POWER
                       	{
                                                          SYSPowerFlag=!SYSPowerFlag; 
				                                  if(SYSPowerFlag==1)
				                                  	{//power  	  
				                                  	  SYS_MUTE_PIN=1;
							                Delay_ms(5);
									  SYS_POWER_PIN=0;		
									  Delay_ms(5);
									  SYS_MUTE_PIN=0;
			                                          }
								   else //power off
								   	{
								   	  SYS_MUTE_PIN=1;
	                                                          Delay_ms(5);	
									  SYS_POWER_PIN=1;							  
                                              		       }
                       	}
			
                  }

  /*********************************************************/	
                 IRSendFunction();

  /*********************************************************/	
    }

}


/***************************************************************************/
/*****************************IRSendFunction *********************************/
/***************************************************************************/
void IRsendDelayms(unsigned char  cTime)
{
	unsigned char    i;
	unsigned char    j;
	
	for(i=0;i<cTime;i++)
	{
		for(j=0;j<250;j++)   //   4US * 140 = 0.56 MS
			{
			_nop_();  
			_nop_();  
			}
	}
}

void IRsendDelayUs(unsigned char  cTime)
{
	unsigned char    i;
	
	for(i=0;i<cTime;i++)
	{
	  _nop_();    
	}
}

sbit   IRsendPIN=P3^4;

void  IRsendBIT(bit  Bitflag)
{
                if(Bitflag==0)
                    	{
                       IRsendPIN=0;
                       IRsendDelayms(4);
			  IRsendDelayUs(32);		   
                       IRsendPIN=1;
                       IRsendDelayms(4); 
			  IRsendDelayUs(32);			   
                    	}
		      else
		      	{
                       IRsendPIN=0;
                       IRsendDelayms(4);
			  IRsendDelayUs(32);			   
                       IRsendPIN=1;
                       IRsendDelayms(14);
			  IRsendDelayUs(40);			   
		      	}		  
}


void   IRSendFunction(void)
{
//      unsigned char  i;
       
      IRsendPIN=1;
      IRsendDelayms(1);

	  
  if(IRsendFlag)
  	{
                //g_ucTVChannelAutoScanCount=data4;
                //ShowAutoScanChannelNum();
                    
           		 
	     data1=0x89;
	     data2=0x34;

	/*
            for(i=0;i<36;i++)
            	{
                   if(data4==Remote_Convert[i][0])
                   	{
                          data4=Remote_Convert[i][1];
			     data3=0xff-data4;
			     i=0xff;	 
			     break; 	 
                   	}
            	}
	*/	


  	      EA=FALSE; 
  	      //USE_LED_TO_DETECT_FKEY(_bVfdKeyScan);
  	      //ShowKeyCode();
  	      /***START CODE****/
             IRsendPIN=0;
             IRsendDelayms(86);
             IRsendPIN=1;
             IRsendDelayms(43);
  	      /***CUSTOMER  CODE****/			
                    if((data1&0x80)==0X80)
                    	{
                        IRsendBIT(1);	   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   
		      	}
			  
                    if((data1&0x40)==0X40)
                    	{
                        IRsendBIT(1);	   	   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   	   
		      	}
                     
                    if((data1&0x20)==0X20)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data1&0x10)==0X10)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   	   
		      	}

                    if((data1&0x08)==0X08)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data1&0x04)==0X04)
                    	{
                         IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data1&0x02)==0X02)
                    	{
                        IRsendBIT(1);	   	   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   			   
		      	}

                    if((data1&0x01)==0X01)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}
			  

                    if((data2&0x80)==0X80)
                    	{
                        IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   	   
		      	}

                    if((data2&0x40)==0X40)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data2&0x20)==0X20)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   	   
		      	}	

                    if((data2&0x10)==0X10)
                    	{
                        IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data2&0x08)==0X08)
                    	{
                        IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}
			  
                    if((data2&0x04)==0X04)
                    	{
                        IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data2&0x02)==0X02)
                    	{
                        IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}	

                    if((data2&0x01)==0X01)
                    	{
                        IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}
			  
  	     /***KEY  CODE****/			
                    if((data3&0x80)==0X80)
                    	{
                        IRsendBIT(1);	   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   
		      	}
			  
                    if((data3&0x40)==0X40)
                    	{
                        IRsendBIT(1);	   	   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   	   
		      	}

                    if((data3&0x20)==0X20)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data3&0x10)==0X10)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   	   
		      	}

                    if((data3&0x08)==0X08)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data3&0x04)==0X04)
                    	{
                         IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data3&0x02)==0X02)
                    	{
                        IRsendBIT(1);	   	   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   			   
		      	}

                    if((data3&0x01)==0X01)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}
			  

                    if((data4&0x80)==0X80)
                    	{
                        IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   	   
		      	}

                    if((data4&0x40)==0X40)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data4&0x20)==0X20)
                    	{
                        IRsendBIT(1);	   		   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   	   
		      	}	

                    if((data4&0x10)==0X10)
                    	{
                        IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data4&0x08)==0X08)
                    	{
                        IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}
			  
                    if((data4&0x04)==0X04)
                    	{
                        IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}

                    if((data4&0x02)==0X02)
                    	{
                        IRsendBIT(1);	   			   
                    	}
		      else
		      	{
                        IRsendBIT(0);	   		   
		      	}	

⌨️ 快捷键说明

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