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

📄 ir_remote.h

📁 这是我用ds12887+12864+遥控器写的程序希望能够多多交流qq519212866
💻 H
字号:
/*void ir_887()
{
 uchar s,q,k,count;
 	if(remote==0)
	{
	for(k=85;k>0;k--)		 //100us重复85次,测得时间8.926ms
		{
		delay100us();       
		if(remote==1){return;}     //再来判断ir是否为低电平,如果是低电平就执行下面的语句    	  
		}
	while(!remote);             //等待4.5ms的高电平
	for(k=23;k>0;k--)       //100us重复23次,测得时间2.416ms
		{
		delay100us();
		if(remote==0){return;}          
		}	
	for(k=15;k>0;k--)     //100us重复16次,测得时间1.681ms
		{				  //100us重复15次,测得时间1.561ms
		delay100us();         
		if(remote==0){return;}   //再判断ir是不是等于0,是就跳出。如果不是就进入while(ir)处进行等待用户码的到了
		}
	while(remote); //等待0
//===================================开始读32个码======================	
	for(s=0;s<4;s++)      //循环4次读完客户码,客户反吗;数据码,数据反码。
	{
		for(q=0;q<8;q++)  //8位为一个字节
		{
		while(!remote);       //等待4.5ms的高电平
		for(k=8;k>0;k--)	 //100us重复9次,测得时间928us
			{				 //100us重复8次,测得时间825us
			delay100us();  
			}	
		if(remote==1)         //判断ir是不是为高电平
			{
			for(k=9;k>0;k--)	  //100us重复10次,测得时间1.031ms
			{					  //100us重复11次,测得时间1.134ms
			delay100us();   
			}
			count=count>>1;
			count=count|0x80;
			}
		else count=count>>1;
		}
		irtab[s]=count;
		count=0;	
	}        //========================读完了32个码=================================
	if(irtab[2] !=(~irtab[3]))  {return;}   //判断数组irtab[2]与数组irtab[3]的数是否相反,
		if(irtab[1] == 0xf7)  //核对用户误码是不是0xf7,如果是就执行下面语句
		{	
			ir=irtab[2];   //把irtab[2]数组里面的数付给ir			
			ir_irs();	   //调用遥控器功能程序
		}
	}
}            */

⌨️ 快捷键说明

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