📄 cdt0.c
字号:
if ((run_mark_a1==1)&&(run_mark_a0==0))
{
if(com_int_tmout[0]>3)
{
// PDR5_P51=0;//03-1-12
//__wait_nop();
//__wait_nop();
//PDR5_P51=1;
WDTC_WTE=0;
__DI();
com_int_tmout[0]=0;
init_com0();
ICR02=6;
__EI();
}
}
}
/*********大循环完成*********/
void sjch0 (void)
{
if(soe_in_pointer0_bak!=soe_out_pointer0)
{
cdt_soejs0=3;
soe_txmark0_d0=0x01;//sending soe
}
cdt_f_cl0();
if(cdt_yc_num0>8) cdt_yc_num0=8;
cdt_zxj0=zcou[cdt_yc_num0];
cdt_zmark0=zbzz[cdt_yc_num0];
cdt_zxcount0=0;
sjzz120();
}
/*********电度*********/
void sjdd0 (void)
{
/* IO_WORD a;
if(cdt_bz0_a1==1) ////定时电度标志
{
a=com0_para(16);
a=(a<<8)+com0_para(15);
cdt_dd_num0=a;
if(a>64) a=64;
cdt_zlmark0=0x46;
cdt_zxcount0++;
cdt_zcj0=a;
cdt_gong0=0xa0;
cdt_sjta0=(__far IO_BYTE*) (&dd_2l_0(0));
com0_tl(cdt_in_counter0,0)=com0_para(4);
com0_tl(cdt_in_counter0,1)=com0_para(5);
com0_tl(cdt_in_counter0,2)=com0_para(4);
com0_tl(cdt_in_counter0,3)=com0_para(5);
com0_tl(cdt_in_counter0,4)=com0_para(4);
com0_tl(cdt_in_counter0,5)=com0_para(5);
com0_tl(cdt_in_counter0,6)=ddzz[0];
com0_tl(cdt_in_counter0,7)=ddzz[1];
com0_tl(cdt_in_counter0,8)=cdt_zcj0;
com0_tl(cdt_in_counter0,9)=com0_para(8);//ddzz[3];
com0_tl(cdt_in_counter0,10)=ddzz[4];
com0_tl(cdt_in_counter0,11)=bch0(6);
cdt_tc0[cdt_in_counter0]=12;
cdt_in_counter0^=0x01;
cdt_zxj0--;
cdt_bz0_a1=0;//////清电度标志
cdt_dd_time0=0;
}
else*/
sjzz120();
}
/**********组变位*********/
void sjyxbw0(void)
{
com0_tl(cdt_in_counter0,0)=cdt_cos_data0(cos_out_pointer0+0);
com0_tl(cdt_in_counter0,1)=cdt_cos_data0(cos_out_pointer0+1);
com0_tl(cdt_in_counter0,2)=cdt_cos_data0(cos_out_pointer0+2);
com0_tl(cdt_in_counter0,3)=cdt_cos_data0(cos_out_pointer0+3);
com0_tl(cdt_in_counter0,4)=cdt_cos_data0(cos_out_pointer0+4);
com0_tl(cdt_in_counter0,5)=bch0(0);
com0_tl(cdt_in_counter0,6)=cdt_cos_data0(cos_out_pointer0+0);
com0_tl(cdt_in_counter0,7)=cdt_cos_data0(cos_out_pointer0+1);
com0_tl(cdt_in_counter0,8)=cdt_cos_data0(cos_out_pointer0+2);
com0_tl(cdt_in_counter0,9)=cdt_cos_data0(cos_out_pointer0+3);
com0_tl(cdt_in_counter0,10)=cdt_cos_data0(cos_out_pointer0+4);
com0_tl(cdt_in_counter0,11)=bch0(6);
com0_tl(cdt_in_counter0,12)=cdt_cos_data0(cos_out_pointer0+0);
com0_tl(cdt_in_counter0,13)=cdt_cos_data0(cos_out_pointer0+1);
com0_tl(cdt_in_counter0,14)=cdt_cos_data0(cos_out_pointer0+2);
com0_tl(cdt_in_counter0,15)=cdt_cos_data0(cos_out_pointer0+3);
com0_tl(cdt_in_counter0,16)=cdt_cos_data0(cos_out_pointer0+4);
com0_tl(cdt_in_counter0,17)=bch0(12);
//
soe_txmark0_d7=0;
//
cos_out_pointer0+=6;
if (cos_out_pointer0>=600) cos_out_pointer0=0;
cdt_gong0+=3;
cdt_zcj0-=3;
cdt_tc0[cdt_in_counter0]=18;
cdt_in_counter0^=0x01;
cdt_sjta0+=12;
}
void ykfj_cl0(void)
{
if (cdt_ykmark0&01)
{
if (cdt_zlmark0==0x44) {sjzz60();return;}
if (cdt_zcj0<=2) {sjzz60();return;}
com0_tl(cdt_in_counter0,0)=0xe1;
com0_tl(cdt_in_counter0,1)=yk_xz;
com0_tl(cdt_in_counter0,2)=yk_dx;
com0_tl(cdt_in_counter0,3)=yk_xz;
com0_tl(cdt_in_counter0,4)=yk_dx;
com0_tl(cdt_in_counter0,5)=bch0(0);
com0_tl(cdt_in_counter0,6)=0xe1;
com0_tl(cdt_in_counter0,7)=yk_xz;
com0_tl(cdt_in_counter0,8)=yk_dx;
com0_tl(cdt_in_counter0,9)=yk_xz;
com0_tl(cdt_in_counter0,10)=yk_dx;
com0_tl(cdt_in_counter0,11)=bch0(6);
com0_tl(cdt_in_counter0,12)=0xe1;
com0_tl(cdt_in_counter0,13)=yk_xz;
com0_tl(cdt_in_counter0,14)=yk_dx;
com0_tl(cdt_in_counter0,15)=yk_xz;
com0_tl(cdt_in_counter0,16)=yk_dx;
com0_tl(cdt_in_counter0,17)=bch0(12);
cdt_gong0+=3;
cdt_zcj0-=3;
cdt_tc0[cdt_in_counter0]=18;
cdt_in_counter0^=0x01;
cdt_ykmark0=0x00;
cdt_sjta0+=12;
return;
}
if (cdt_ykmark0&02)
{
if (cdt_zlmark0==0x44) {sjzz60();return;}
if (cdt_zcj0<=2) {sjzz60();return;}
com0_tl(cdt_in_counter0,0)=0xe1;
com0_tl(cdt_in_counter0,1)=0x00;
com0_tl(cdt_in_counter0,2)=0x00;
com0_tl(cdt_in_counter0,3)=yk_xz;
com0_tl(cdt_in_counter0,4)=yk_dx;
com0_tl(cdt_in_counter0,5)=bch0(0);
com0_tl(cdt_in_counter0,6)=0xe1;
com0_tl(cdt_in_counter0,7)=0x00;
com0_tl(cdt_in_counter0,8)=0x00;
com0_tl(cdt_in_counter0,9)=yk_xz;
com0_tl(cdt_in_counter0,10)=yk_dx;
com0_tl(cdt_in_counter0,11)=bch0(6);
com0_tl(cdt_in_counter0,12)=0xe1;
com0_tl(cdt_in_counter0,13)=0x00;
com0_tl(cdt_in_counter0,14)=0x00;
com0_tl(cdt_in_counter0,15)=yk_xz;
com0_tl(cdt_in_counter0,16)=yk_dx;
com0_tl(cdt_in_counter0,17)=bch0(12);
cdt_gong0+=3;
cdt_zcj0-=3;
cdt_tc0[cdt_in_counter0]=18;
cdt_in_counter0^=0x01;
cdt_sjta0+=12;
cdt_ykmark0=0x00;
return;
}
cdt_ykmark0=0x00;
sjzz60();
}
void sjbw0 (void)
{
if (cdt_zlmark0==0x46) {sjzz60();}
else
{
if (cos_out_pointer0==cos_in_pointer0)
{
if(cdt_ykmark0&0x80)
{
ykfj_cl0();
return;
}
sjzz60();
}
else
{
if(cdt_zlmark0==0x44)
{
//
soe_txmark0_d7=0;
//
cos_out_pointer0=cos_in_pointer0;
sjzz60();
}
else
{
if(cdt_zcj0<3)
{
sjzz60();
}
else
{
sjyxbw0();
}
}
}
}
}
/*********soe***********/
void sjsoe0 (void)
{
cdt_zlmark0=0x45;
//
soe_flen0=(soe_in_pointer0_bak-soe_out_pointer0+1200U)%1200U;
if(soe_flen0>=108u) soe_flen0=108u;
soe_flen0=soe_flen0/6u;
//
com0_tl(cdt_in_counter0,0)=com0_para(4);
com0_tl(cdt_in_counter0,1)=com0_para(5);
com0_tl(cdt_in_counter0,2)=com0_para(4);
com0_tl(cdt_in_counter0,3)=com0_para(5);
com0_tl(cdt_in_counter0,4)=com0_para(4);
com0_tl(cdt_in_counter0,5)=com0_para(5);
com0_tl(cdt_in_counter0,6)=soez[0];
com0_tl(cdt_in_counter0,7)=soez[1];
com0_tl(cdt_in_counter0,8)=soe_flen0;//soez[2];
com0_tl(cdt_in_counter0,9)=com0_para(8);//soez[3];
com0_tl(cdt_in_counter0,10)=soez[4];
com0_tl(cdt_in_counter0,11)=bch0(6);
//
for(soe_flen0_bak=0,soe_num0=0;soe_flen0_bak<6u*soe_flen0;soe_flen0_bak+=12u,soe_num0+=12u)
{
//
//wat_rst();
WDTC_WTE=0;
//
com0_tl(cdt_in_counter0,soe_num0+12)=cdt_soe_data0((soe_out_pointer0+0+soe_flen0_bak)%1200u);
com0_tl(cdt_in_counter0,soe_num0+13)=cdt_soe_data0((soe_out_pointer0+1+soe_flen0_bak)%1200u);
com0_tl(cdt_in_counter0,soe_num0+14)=cdt_soe_data0((soe_out_pointer0+2+soe_flen0_bak)%1200u);
com0_tl(cdt_in_counter0,soe_num0+15)=cdt_soe_data0((soe_out_pointer0+3+soe_flen0_bak)%1200u);
com0_tl(cdt_in_counter0,soe_num0+16)=cdt_soe_data0((soe_out_pointer0+4+soe_flen0_bak)%1200u);
com0_tl(cdt_in_counter0,soe_num0+17)=bch0(soe_num0+12);
com0_tl(cdt_in_counter0,soe_num0+18)=cdt_soe_data0((soe_out_pointer0+6+soe_flen0_bak)%1200u);
com0_tl(cdt_in_counter0,soe_num0+19)=cdt_soe_data0((soe_out_pointer0+7+soe_flen0_bak)%1200u);
com0_tl(cdt_in_counter0,soe_num0+20)=cdt_soe_data0((soe_out_pointer0+8+soe_flen0_bak)%1200u);
com0_tl(cdt_in_counter0,soe_num0+21)=cdt_soe_data0((soe_out_pointer0+9+soe_flen0_bak)%1200u);
com0_tl(cdt_in_counter0,soe_num0+22)=cdt_soe_data0((soe_out_pointer0+10+soe_flen0_bak)%1200u);
com0_tl(cdt_in_counter0,soe_num0+23)=bch0(soe_num0+18);
}
cdt_tc0[cdt_in_counter0]=soe_num0+12u;//24;
cdt_in_counter0^=0x01;
cdt_bz0_a0=0;
cdt_soejs0--;
if (cdt_soejs0==0)
{
cdt_soejs0=0;
soe_txmark0_d0=0;
//soe_out_pointer0+=12;
soe_out_pointer0=(soe_flen0*6u+soe_out_pointer0)%1200u;
if (soe_out_pointer0>=1200) soe_out_pointer0=0;
}
}
/************组报头**********/
void sjzz120 (void)
{
cdt_f_cl0();
cdt_zlmark0=*(cdt_zxta[cdt_yc_num0]+cdt_zxcount0);
cdt_zxcount0++;
//06-08-09
if(soe_txmark0_d0==0x01)
cdt_zlmark0=cdt_zmark0;
//
if ((cdt_zlmark0==cdt_zmark0)&&(cdt_soejs0!=0)) cdt_bz0_a0=0x01;
cdt_zcj0=cdt_f_led0[cdt_zlmark0-0x41];
cdt_gong0=gongg[cdt_zlmark0-0x41];
cdt_sjta0=(__far IO_BYTE*)com_sjdz0[cdt_zlmark0-0x41];
com0_tl(cdt_in_counter0,0)=com0_para(4);
com0_tl(cdt_in_counter0,1)=com0_para(5);
com0_tl(cdt_in_counter0,2)=com0_para(4);
com0_tl(cdt_in_counter0,3)=com0_para(5);
com0_tl(cdt_in_counter0,4)=com0_para(4);
com0_tl(cdt_in_counter0,5)=com0_para(5);
com0_tl(cdt_in_counter0,6)=*tbz[cdt_zlmark0-0x41];
com0_tl(cdt_in_counter0,7)=*(tbz[cdt_zlmark0-0x41]+1);
com0_tl(cdt_in_counter0,8)=cdt_zcj0;
com0_tl(cdt_in_counter0,9)=com0_para(8);//*(tbz[cdt_zlmark0-0x41]+3);
com0_tl(cdt_in_counter0,10)=*(tbz[cdt_zlmark0-0x41]+4);
com0_tl(cdt_in_counter0,11)=bch0(6);
cdt_tc0[cdt_in_counter0]=12;
cdt_in_counter0^=0x01;
cdt_zxj0--;
}
/**********组信息字***********/
void sjzz60 (void)
{
/* if ((cdt_zcj0==0x01)&&(cdt_zlmark0==cdt_zmark0))
{
com0_tl(cdt_in_counter0,0)=0x8a;
com0_tl(cdt_in_counter0,1)=zbzc0[0];
com0_tl(cdt_in_counter0,2)=zbzc0[1];
com0_tl(cdt_in_counter0,3)=zbzc0[0];
com0_tl(cdt_in_counter0,4)=zbzc0[1];
com0_tl(cdt_in_counter0,5)=bch0(0);
cdt_gong0++;
cdt_zcj0--;
cdt_tc0[cdt_in_counter0]=0x06;
cdt_in_counter0^=0x01;
}
else
{*/
com0_tl(cdt_in_counter0,0)=cdt_gong0++;
com0_tl(cdt_in_counter0,1)=*cdt_sjta0++;
com0_tl(cdt_in_counter0,2)=*cdt_sjta0++;
com0_tl(cdt_in_counter0,3)=*cdt_sjta0++;
com0_tl(cdt_in_counter0,4)=*cdt_sjta0++;
com0_tl(cdt_in_counter0,5)=bch0(0);
cdt_zcj0--;
cdt_tc0[cdt_in_counter0]=0x06;
cdt_in_counter0^=0x01;
// }
}
/*********计算板数**********/
void cdt_f_cl0 (void)
{
IO_BYTE i,j,k;
i=0;j=0x10;
k=cdt_yc_num0;
if (k>2)
{
k-=2;
if(k>6) k=6;
i=k*0x10;
}
cdt_f_led0[0]=j;
cdt_f_led0[1]=j;
cdt_f_led0[2]=i;
k=cdt_yx_num0;
if(k>16) k=16;
cdt_f_led0[3]=k;
}
void cdt_cl_num0(void)
{
IO_WORD i;
i=com0_para(12);
i=(i<<8)+com0_para(11);
cdt_yc_num0=(i+31)/32;
i=com0_para(14);
i=(i<<8)+com0_para(13);
cdt_yx_num0=(i+31)/32;
}
void cdt_yccl0(void)
{
IO_WORD l,data;
l=com0_para(12);
l=(l<<8)+com0_para(11);
if ((yc_fm_para0x(yc_fm0_counter*3)==0xffff)||(yc_fm0_counter>l))//系数为0xffff返回
{
yc_fm0_counter=0;
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -