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

📄 ir_data.i

📁 51单片机的
💻 I
字号:
#line 1 "D:\WORK\ELECTR~1\proteus\M167LE~1\c\IR_DATA.C"
#line 1 "D:/PROGRA~1/icc6.3a/include/iom16v.h"




#line 7 "D:/PROGRA~1/icc6.3a/include/iom16v.h"


#line 10 "D:/PROGRA~1/icc6.3a/include/iom16v.h"


#line 13 "D:/PROGRA~1/icc6.3a/include/iom16v.h"


#line 16 "D:/PROGRA~1/icc6.3a/include/iom16v.h"
























































































































































































































































































































































































































































































































#line 2 "D:\WORK\ELECTR~1\proteus\M167LE~1\c\IR_DATA.C"
#line 1 "D:/PROGRA~1/icc6.3a/include/macros.h"






























#line 33 "D:/PROGRA~1/icc6.3a/include/macros.h"











void _StackCheck(void);
void _StackOverflowed(char);




#line 3 "D:\WORK\ELECTR~1\proteus\M167LE~1\c\IR_DATA.C"
#line 1 "D:\WORK\ELECTR~1\proteus\M167LE~1\c/IR_DATA.H"







char iPos,iPreBit,iNowBit,iHight,iLow,iIrMode,iBitCount,bIrCmdOk,iIrData[6];

#line 4 "D:\WORK\ELECTR~1\proteus\M167LE~1\c\IR_DATA.C"

void CheckIR()
{

  if (((*(volatile unsigned char *)0x30)&(1<< 6))>0)
       iNowBit=0;
   else
     iNowBit=1;


   if ((iPreBit==1)&&(iNowBit==1))
		  { iHight++;
		    return;
		  }
   if ((iPreBit==0)&&(iNowBit==0))
		  { iLow++;
		    return;
		  }

   switch (iIrMode)
   {
     case 0:
	      if ((iPreBit==0)&&(iNowBit==1))
		  { iPreBit=1;
		    iHight=1;
			return;
		  }

		  if ((iPreBit==1)&&(iNowBit==0))
		  { iPreBit=0;
		    if (iHight>12)
			  { iIrMode=1;
			    iLow=1;
				iHight=0;

			  }
			else
			   {iHight=0;
			   }
			return;
		  }
	      break;

	 case 1:
	      if ((iPreBit==0)&&(iNowBit==1))
		  { iPreBit=1;
		    if (iLow>15)
			  {  iIrMode=2;
			     iBitCount=0;
				 iIrData[0]=0;iIrData[1]=0;iIrData[2]=0;iIrData[3]=0;
				 iHight=1;

			  }
			else
			  { iIrMode=0;

			  }
		    return;
		  }

	      break;

	 case 2:

	      if ((iPreBit==1)&&(iNowBit==0))
		  { iPreBit=0;
		    iLow=1;
		  }
		  if ((iPreBit==0)&&(iNowBit==1))
		  { iPreBit=1;

			if (iLow>(iHight+iHight)) iNowBit=0;else iNowBit=1;


			iPos=iBitCount/4;
			iIrData[iPos]=iIrData[iPos]>>1;
	            if (iNowBit==1)  iIrData[iPos]|=0x80;

			iBitCount++;
			if (iBitCount>=24)
			{ bIrCmdOk=1;
			  iIrMode=0;

			}

			iHight=1;
		  }
	 	  break;
     default:
	 	  iIrMode=0;
		  break;
   }
}
void display_times()
{
char temp1,temp2,temp3;

           temp1=iIrData[0];
           temp2=iIrData[0];
           LED_DISPLAY_V2=temp1/100;
           temp2=temp2%100;
           temp3=temp2;
           LED_DISPLAY_V3=temp2/10;
           LED_DISPLAY_V4=temp3%10;

}

⌨️ 快捷键说明

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