rf.h

来自「51单片机红外遥控解码程序」· C头文件 代码 · 共 82 行

H
82
字号
///////遥控接收接口部分//////////
#include <intrins.h> 
sbit DIN=P3^3;				//数据解码有效位,INT1
sbit D_A=P1^5;				//New
sbit D_B=P1^4;				//New
sbit D_C=P1^3;				//New
sbit D_D=P1^2;				//New

void CheckRFIn(void) interrupt 2
{
	D_A=D_B=D_C=D_D=1;
	if(~D_D && ~D_C && ~D_B && ~D_A)	//KEY01
	{
		ComSendStr[7]=HEX[0];ComSendStr[8]=HEX[1];
	}
	else if(~D_D && ~D_C && ~D_B && D_A)	//KEY02
	{
		ComSendStr[7]=HEX[0];ComSendStr[8]=HEX[2];
	}
    else if(~D_D && ~D_C && D_B && ~D_A)	//KEY03
	{
		ComSendStr[7]=HEX[0];ComSendStr[8]=HEX[3];
	}
	else if(~D_D && ~D_C && D_B && D_A)	//KEY04
	{
		ComSendStr[7]=HEX[0];ComSendStr[8]=HEX[4];
	}
	else if(~D_D && D_C && ~D_B && ~D_A)	//KEY05,起始码
	{
		ComSendStr[7]=HEX[0];ComSendStr[8]=HEX[5];
	}
	else if(~D_D && D_C && ~D_B && D_A)	//KEY06
	{
		ComSendStr[7]=HEX[0];ComSendStr[8]=HEX[6];
	}
	else if(~D_D && D_C && D_B && ~D_A)	//KEY07
	{
		ComSendStr[7]=HEX[0];ComSendStr[8]=HEX[7];
	}
	else if(~D_D && D_C && D_B && D_A)	//KEY08
	{
		ComSendStr[7]=HEX[0];ComSendStr[8]=HEX[8];
	}
	else if(D_D && ~D_C && ~D_B && ~D_A)	//KEY09
	{
		ComSendStr[7]=HEX[0];ComSendStr[8]=HEX[9];
	}
	else if(D_D && ~D_C && ~D_B && D_A)	//KEY10
	{
		ComSendStr[7]=HEX[1];ComSendStr[8]=HEX[0];
	}
	else if(D_D && ~D_C && D_B && ~D_A)	//KEY11
	{
		ComSendStr[7]=HEX[1];ComSendStr[8]=HEX[1];
	}
	else if(D_D && ~D_C && D_B && D_A)	//KEY12
	{
		ComSendStr[7]=HEX[1];ComSendStr[8]=HEX[2];
	}
	else if(D_D && D_C && ~D_B && ~D_A)	//KEY13
	{
		ComSendStr[7]=HEX[1];ComSendStr[8]=HEX[3];
	}
	else if(D_D && D_C && ~D_B && D_A)	//KEY14
	{
		ComSendStr[7]=HEX[1];ComSendStr[8]=HEX[4];
	}
	else if(D_D && D_C && D_B && ~D_A)	//KEY15
	{
		ComSendStr[7]=HEX[1];ComSendStr[8]=HEX[5];
	}
	else if(D_D && D_C && D_B && D_A)	//KEY16
	{
		ComSendStr[7]=HEX[1];ComSendStr[8]=HEX[6];
	}
	Send_String_Com(ComSendStr,11);
	REC_LED=1;Delay(200);REC_LED=0;	//灯闪
	EnableINT1(0);
}


⌨️ 快捷键说明

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