remote_control_v2.h

来自「本代码详细说明了」· C头文件 代码 · 共 72 行

H
72
字号
#include <Substruct.h>

unsigned long key;
unsigned char f[3],skip;
bit rd,ks;
sbit IR=P3^2;

void Init_interrupt()
{
 IT0=1;
 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;
 EX0=0;
 TR0=1;
 Display_Char(2,2);
 for (i=0;i<32;)
 {
  if (ks)
   { 
    if(rd) key|=(0x01<<i);
    i++;ks=0;
   }
 }
 TR0=0;
 custom_code=key>>24;
 if (custom_code==0x01)
  Display_Char(1,1);
 else
  Display_Char(2,0);  
 Delay(1000);
 ClearDisMemo();
 Delay(100);
 EX0=1;
}

void TIMER(void) interrupt 1
{
 TH0=0xFD; 
 TL0=0xD1;
 f[skip++]=IR;
 if (skip==2)
 {
  if (f[0]&&f[2]&&!f[1])
    {
     rd=0;
     f[0]=f[2];
     skip=1;
    }
  else
    {
     if (f[0]&&!f[1]&&!f[2])
     rd=1;
     skip=0;
    } 
  ks=1;
 }
}
 

⌨️ 快捷键说明

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