📄 jiema.h
字号:
bit leader;//判断引导码
unsigned int codegroup=0; //接收的32位二进制数
unsigned char KEY=1;//指令码,初始值不能为0
unsigned char length;
unsigned int xdata timerN=0;
void init_interrupt(void)
{
leader=0;
length=0;
TMOD=0x11;
TCON=0x05;
EX1=1;
EA=1;
TR0=0;
TH0=0x00;
TL0=0x00;
EX0=1;EX1=1;ET0=0;ET1=1;//INT0中断允许,T0不允许中断,T1允许中断
}
void service_INT0()interrupt 2
{
TR0=1;//T0开始计时
timerN=0;
TR1=0;
TH1=0x3c;
TL1=0xb0;
TR1=1;//T1计时30s关背光
WDT=0x3d;
}
void service_INT1()interrupt 0
{
TR0=0;
EX1=0;
if(TH0==0x11)// 若编码代表“引导码”则引导码标志为1
{leader=1;length=0;}
if(leader)
{
if(TH0==0x02)
{codegroup=(codegroup<<1)+0;length++;} //若编码代表“0”则在code尾部加0
else if(TH0==0x06)
{codegroup=(codegroup<<1)+1;length++;} //若编码代表“1”则在code尾部加1
}
TH0=0;TL0=0;
EX1=1;
}
void code_process()
{
if(length>31)
{
KEY=(unsigned char)(codegroup>>8);
length=0;
leader=0;
LED=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -