📄 remote_control_v3.h
字号:
#include <Substruct.h>
unsigned long key;
unsigned char f[3],skip,numm,ff;
bit rd,ks;
sbit IR=P3^2;
void Init_interrupt()
{
IT0=0;
PX0=0;
PT0=1;
TMOD=0x01;
TH0=0xFD;
TL0=0xD0;
EA=1;
ET0=1;
EX0=1;
}
void Remote_Control(void) interrupt 0
{
unsigned char i,custom_code;
ff=0;
EX0=0;
TR0=1;
kkk:
if (TF0) ff++;
if (ff<24) goto kkk;
Display_Char(3,numm++);
for (i=0;i<32;)
{
if (ks)
{
if(rd) key|=(0x01<<i);
i++;
}
}
custom_code=key>>24;
if (custom_code==0x00)//&&custom_code<=0xFF)
Display_Char(1,1);
else
Display_Char(2,0);
Delay(100);
ClearDisMemo();
Delay(100);
TR0=0;
EX0=1;
}
void TIMER(void) interrupt 1
{
TH0=0xFD;
TL0=0xD1;
f[skip++]=IR;
if (skip==2)
{
if (!f[0]&&f[1]&&!f[2]) //如果收到的是101,则确认值为0,且下一脉冲值为1
{
rd=0;
f[0]=f[2];
skip=1;
}
else
{
if (!f[0]&&f[1]&&f[2]) //如果收到的值为100,则确认值为1
{
rd=1;
skip=0;
}
}
skip=0;
ks=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -