📄 comm_remote.h
字号:
if(RSTATUS_DUOJIAN==8)
if(a>1)
value=0;
if(((table_num_by_duokeyvalue[RSTATUS_DUOJIAN]+a)<=MAX_GAOZIJISUOYINHAO)&&(1==value))
{
m=table_gaozijiduiyinsuoyinhao[table_num_by_duokeyvalue[RSTATUS_DUOJIAN]+a];
l=table_num_by_duokeyvalue[RSTATUS_DUOJIAN]+a;
if(l==25)
{
// changed by zhanglong ---->start
// if(progfunction_kvarh_f!=yes)
if ((yes!=progfunction_kvarh_r)&&(yes!=progfunction_kvarh_f))
m=131;
// changed by zhanglong ---->end
}
if(progfunction_cuofeng!=yes)
{
if(l==58)
m=404+1;
if(l==68)
m=536+1;
}
if(display_yesorno(m)==yes)
{
RDISPLAY_ENVENT=DISPLAY_ENVENT_POINT;
RAPPOINT_REFERENCE=m;
RFLAG_DISPLAY_05SEC=1;
}
}
RSTATUS_DUOJIAN=NODUOJIAN;
remote_status=remote_phase_start;
}
#pragma INTERRUPT int3
void int3()
{
int3ic=0;
tb0s=0;
tb0ic=0;
tb0mr=0x00;
tb0=8330+8330/2; //01 judge second bit
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=7;
tb0s=1;// start time tb0
switch( remote_status)
{
case remote_phase_hualong:
remote_status_hualong=REMOTE_HUALONG_2;
break;
case remote_phase_zhejiang_quanguo:
remote_status_zhejiang_quanguo=remote_zhejiang_quanguo_2;
break;
default:
remote_status_start=remote_start_2;
break;
}
}
//interrupt tb0;
#pragma INTERRUPT remote
void remote()
{
yaokong_chaoshi_timer=0;
RREMOTE_TIMER=0;
switch(remote_status)
{
case remote_phase_start:
switch(remote_status_start)
{
case remote_start_2:
tb0s=0;
tb0mr=0x00;
tb0=8330; //01
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=7;
tb0s=1;
remote_status_start=remote_start_3;
len_bit_remote=1;// first bit
remote_rec.bit.b7=pin_irrx;//p5_6; //p5_0
break;
case remote_start_3:
tb0mr=0x00;
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=7;
tb0s=1; // rec 2------->8 bit
len_bit_remote=len_bit_remote+1;
remote_rec.byte=remote_rec.byte>>1;
remote_rec.bit.b7=pin_irrx;//p5_6; //p5_0
if(len_bit_remote>=8)
remote_status_start=remote_start_4;
break;
case remote_start_4:
if(pin_irrx==1) // check bit
switch(remote_rec.byte)
{
case 0x68 :
sendremote_pry=1;
RREMOTE_HUALONG_BUFFER[0]=0x68;
RLEN_REMOTE_HUALONG=1;
remote_status=remote_phase_zhejiang_quanguo;
remote_status_zhejiang_quanguo=remote_zhejiang_quanguo_1;
RPROTOCOL_REMOTE_1=QUANGUOZHEJIANG;
tb0s=0;
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=0;
int3ic=7;
break;
case 0xaa :
sendremote_pry=0;
RREMOTE_HUALONG_BUFFER[0]=0xaa;
RLEN_REMOTE_HUALONG=1;
remote_status=remote_phase_hualong;
remote_status_hualong=REMOTE_HUALONG_1;
RPROTOCOL_REMOTE_1=HUALONG;
tb0s=0;
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=0;
int3ic=7;
break;
default:
remote_status_start=remote_start_5;
break;
}
else
{
if(remote_rec.byte==0x00)
{
remote_status=remote_phase_yaokong;
len_bit_remote=0;
remote_rec2.byte=00;
remote_status_yaokong=REMOTE_YAOKONG_3617; //REMOTE_YAOKONG_3617;
RPROTOCOL_REMOTE_1=PROTOCOL_START;
tb0s=0; //bbbbb
tb0ic=0;
tb0mr=0x00; //01
tb0=11065+22500+2800;//33083;//32765+20337+5600;
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=5;
tb0s=1;
}
else
remote_status_start=remote_start_5;
}
break;
default:
if(pin_irrx) //p5_0
{
tb0s=0;
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=0;
tb0s=0;
int3ic=7;
}
else
{
tb0ic=0;
tb0s=0;
remote_status=remote_phase_err;
}
}
break;
case remote_phase_hualong:
switch(remote_status_hualong)
{
case REMOTE_HUALONG_2:
tb0s=0;
tb0ic=0;
tb0mr=0x00;
tb0=8330; //01
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=7;
tb0s=1;
remote_status_hualong=REMOTE_HUALONG_3;
len_bit_remote=1;// rec first bit
remote_rec.bit.b7=pin_irrx;
break;
case REMOTE_HUALONG_3:
tb0mr=0x00;
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=7;
tb0s=1;
len_bit_remote=len_bit_remote+1;
remote_rec.byte=remote_rec.byte>>1;
remote_rec.bit.b7=pin_irrx; //rec 2-------------8 bit
if(len_bit_remote>=8)
remote_status_hualong=REMOTE_HUALONG_4;
break;
case REMOTE_HUALONG_4:
remote_rec1.bit.b0=pin_irrx; //rec check bit
remote_status_hualong=REMOTE_HUALONG_5;
break;
case REMOTE_HUALONG_5:
if((remote_rec.bit.b0^remote_rec.bit.b1
^remote_rec.bit.b2^remote_rec.bit.b3
^remote_rec.bit.b4^remote_rec.bit.b5
^remote_rec.bit.b6^remote_rec.bit.b7)
!=remote_rec1.bit.b0)
{
RREMOTE_HUALONG_BUFFER[RLEN_REMOTE_HUALONG]=remote_rec.byte;
RLEN_REMOTE_HUALONG=RLEN_REMOTE_HUALONG+1;
if(RLEN_REMOTE_HUALONG>=MAX_RLEN_REMOTE_HUALONG)
{
remote_status=remote_phase_err;
tb0s=0;
tb0ic=0;
}
else
{
tb0s=0;
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=0;
int3ic=7;
}
}
else
{
remote_status=remote_phase_err;
tb0s=0;
tb0ic=0;
}
break;
default :
remote_status=remote_phase_err;
tb0s=0;
tb0ic=0;
}
break;
// add 2003 zhen jia dui ,zhe jiang ,quan guo ,gui yue tong xun de zhi ci
case remote_phase_zhejiang_quanguo:
switch(remote_status_zhejiang_quanguo)
{
case remote_zhejiang_quanguo_2:
tb0s=0;
tb0ic=0;
tb0mr=0x00;
tb0=8330; //01
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=7;
tb0s=1;
remote_status_zhejiang_quanguo=remote_zhejiang_quanguo_3;
len_bit_remote=1;
remote_rec.bit.b7=pin_irrx;//rec first bit
break;
case remote_zhejiang_quanguo_3:
tb0mr=0x00;
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=7;
tb0s=1;
len_bit_remote=len_bit_remote+1;
remote_rec.byte=remote_rec.byte>>1;
remote_rec.bit.b7=pin_irrx;//rec 2-----------8 bit
if(len_bit_remote>=8)
remote_status_zhejiang_quanguo=remote_zhejiang_quanguo_4;
break;
case remote_zhejiang_quanguo_4:
remote_rec1.bit.b0=pin_irrx;//rec check bit
remote_status_zhejiang_quanguo=remote_zhejiang_quanguo_5;
break;
case remote_zhejiang_quanguo_5:
if((remote_rec.bit.b0^remote_rec.bit.b1
^remote_rec.bit.b2^remote_rec.bit.b3
^remote_rec.bit.b4^remote_rec.bit.b5
^remote_rec.bit.b6^remote_rec.bit.b7)
==remote_rec1.bit.b0)
{
RREMOTE_HUALONG_BUFFER[RLEN_REMOTE_HUALONG]=remote_rec.byte;
RLEN_REMOTE_HUALONG=RLEN_REMOTE_HUALONG+1;
if(RLEN_REMOTE_HUALONG>=MAX_RLEN_REMOTE_HUALONG)
{
remote_status=remote_phase_err;
tb0s=0;
tb0ic=0;
}
else
{
tb0s=0;
udf0=0;
trgsr0=0;
onsf0=00;
cpsrf=0x80;
tb0ic=0;
int3ic=7;
}
}
else
{
remote_status=remote_phase_err;
tb0s=0;
tb0ic=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -