📄 ir_data.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 + -