📄 cdt.c
字号:
cdt_tc1++;
cdt_tc[cdt_out_counter]--;
}
}
/**********中断定时器*************/
void cdt_cltime(void)
{
cdt_start_send();
cdt_start_send0();
msecond+=5;
cdt_time_mark++;
cdt_time_mark0++;
if(msecond>=1000)
{
// delay_time1++;
// if(r_mark==1) delay_time1=0;
if (run_mark_a0==1) run_time1++;
second+=1;
msecond=0;
sys_second=sys_second+1;
///////////// add 03----2---8
com_int_tmout[0]++;
com_int_tmout[1]++;
/* if(com_int_tmout[0]<20)
{
com_int_tmout[0]++;
}
else
{
com_int_tmout[0]=0;
init_flag[0]=1;
}
/////
if(com_int_tmout[1]<20)
{
com_int_tmout[1]++;
}
else
{
com_int_tmout[1]=0;
init_flag[1]=1;
} */
}
if(second>59)
{
minute+=1;
second=0;
sys_minute+=1;sys_second=0;
/* if(minute%5==0 && minute!=0) soe_mark=1;soejs=3;xk_mark=1;xt_mark=1; */
}
if(minute>59)
{
minute=0;
sys_hour+=1;sys_minute=0;
}
if(sys_hour>=24){sys_day+=1;sys_hour=0;}
}
//--------------------------------------------------------
void cdt_cl(void)
{
if(cdt_rc!=0)
{
if(cdt_time_mark>10)
{
cdt_rec_cl();
}
}
if (cdt_tmark_a0==0)
{
switch (cdt_zcj)
{
case 0x00:
//06-08-09
if((soe_in_pointer!=soe_out_pointer)&&(soe_txmark1_d0==0))
if((soe_txmark1_d7==0)&&(cos_in_pointer==cos_out_pointer))
{
soe_in_pointer1_bak=soe_in_pointer;
cdt_zcj=0x00;
cdt_zxj=0x00;
}
//
switch (cdt_zxj)
{
case 0x00:
sjch(); //soe
break;
case 0x01:
sjdd();//电度
break;
default :
if (cdt_bz_a0==1) {sjsoe();} else {sjzz12();}
}
break;
default : sjbw();
}
cdt_tmark_a0=1;
}
if ((run_mark_a1==1)&&(run_mark_a0==0))
{
if(com_int_tmout[1]>3)
{
//PDR5_P51=0;//03-1-12
//__wait_nop();
//__wait_nop();
//PDR5_P51=1;
WDTC_WTE=0;
__DI();
com_int_tmout[1]=0;
init_com1();
ICR02=6;
__EI();
}
}
}
/*********大循环完成*********/
void sjch (void)
{
if(soe_in_pointer1_bak!=soe_out_pointer)
{
cdt_soejs=3;
soe_txmark1_d0=0x01;//sending soe
}
cdt_f_cl();
if(cdt_yc_num>8) cdt_yc_num=8;
cdt_zxj=zcou[cdt_yc_num];
cdt_zmark=zbzz[cdt_yc_num];
cdt_zxcount=0;
sjzz12();
}
/*********电度*********/
void sjdd (void)
{
sjzz12();
}
/**********组变位*********/
void sjyxbw(void)
{
com1_tl(cdt_in_counter,0)=cdt_cos_data(cos_out_pointer+0);
com1_tl(cdt_in_counter,1)=cdt_cos_data(cos_out_pointer+1);
com1_tl(cdt_in_counter,2)=cdt_cos_data(cos_out_pointer+2);
com1_tl(cdt_in_counter,3)=cdt_cos_data(cos_out_pointer+3);
com1_tl(cdt_in_counter,4)=cdt_cos_data(cos_out_pointer+4);
com1_tl(cdt_in_counter,5)=bch(0);
com1_tl(cdt_in_counter,6)=cdt_cos_data(cos_out_pointer+0);
com1_tl(cdt_in_counter,7)=cdt_cos_data(cos_out_pointer+1);
com1_tl(cdt_in_counter,8)=cdt_cos_data(cos_out_pointer+2);
com1_tl(cdt_in_counter,9)=cdt_cos_data(cos_out_pointer+3);
com1_tl(cdt_in_counter,10)=cdt_cos_data(cos_out_pointer+4);
com1_tl(cdt_in_counter,11)=bch(6);
com1_tl(cdt_in_counter,12)=cdt_cos_data(cos_out_pointer+0);
com1_tl(cdt_in_counter,13)=cdt_cos_data(cos_out_pointer+1);
com1_tl(cdt_in_counter,14)=cdt_cos_data(cos_out_pointer+2);
com1_tl(cdt_in_counter,15)=cdt_cos_data(cos_out_pointer+3);
com1_tl(cdt_in_counter,16)=cdt_cos_data(cos_out_pointer+4);
com1_tl(cdt_in_counter,17)=bch(12);
//
soe_txmark1_d7=0;
//
cos_out_pointer+=6;
if (cos_out_pointer>=600) cos_out_pointer=0;
cdt_gong+=3;
cdt_zcj-=3;
cdt_tc[cdt_in_counter]=18;
cdt_in_counter^=0x01;
cdt_sjta+=12;
}
void ykfj_cl(void)
{
if (cdt_ykmark&01)
{
if (cdt_zlmark==0x44) {sjzz6();return;}
if (cdt_zcj<=2) {sjzz6();return;}
com1_tl(cdt_in_counter,0)=0xe1;
com1_tl(cdt_in_counter,1)=yk_xz;
com1_tl(cdt_in_counter,2)=yk_dx;
com1_tl(cdt_in_counter,3)=yk_xz;
com1_tl(cdt_in_counter,4)=yk_dx;
com1_tl(cdt_in_counter,5)=bch(0);
com1_tl(cdt_in_counter,6)=0xe1;
com1_tl(cdt_in_counter,7)=yk_xz;
com1_tl(cdt_in_counter,8)=yk_dx;
com1_tl(cdt_in_counter,9)=yk_xz;
com1_tl(cdt_in_counter,10)=yk_dx;
com1_tl(cdt_in_counter,11)=bch(6);
com1_tl(cdt_in_counter,12)=0xe1;
com1_tl(cdt_in_counter,13)=yk_xz;
com1_tl(cdt_in_counter,14)=yk_dx;
com1_tl(cdt_in_counter,15)=yk_xz;
com1_tl(cdt_in_counter,16)=yk_dx;
com1_tl(cdt_in_counter,17)=bch(12);
cdt_gong+=3;
cdt_zcj-=3;
cdt_tc[cdt_in_counter]=18;
cdt_in_counter^=0x01;
cdt_ykmark=0x00;
cdt_sjta+=12;
return;
}
if (cdt_ykmark&02)
{
if (cdt_zlmark==0x44) {sjzz6();return;}
if (cdt_zcj<=2) {sjzz6();return;}
com1_tl(cdt_in_counter,0)=0xe1;
com1_tl(cdt_in_counter,1)=0x00;
com1_tl(cdt_in_counter,2)=0x00;
com1_tl(cdt_in_counter,3)=yk_xz;
com1_tl(cdt_in_counter,4)=yk_dx;
com1_tl(cdt_in_counter,5)=bch(0);
com1_tl(cdt_in_counter,6)=0xe1;
com1_tl(cdt_in_counter,7)=0x00;
com1_tl(cdt_in_counter,8)=0x00;
com1_tl(cdt_in_counter,9)=yk_xz;
com1_tl(cdt_in_counter,10)=yk_dx;
com1_tl(cdt_in_counter,11)=bch(6);
com1_tl(cdt_in_counter,12)=0xe1;
com1_tl(cdt_in_counter,13)=0x00;
com1_tl(cdt_in_counter,14)=0x00;
com1_tl(cdt_in_counter,15)=yk_xz;
com1_tl(cdt_in_counter,16)=yk_dx;
com1_tl(cdt_in_counter,17)=bch(12);
cdt_gong+=3;
cdt_zcj-=3;
cdt_tc[cdt_in_counter]=18;
cdt_in_counter^=0x01;
cdt_sjta+=12;
cdt_ykmark=0x00;
return;
}
cdt_ykmark=0x00;
sjzz6();
}
void sjbw (void)
{
if (cdt_zlmark==0x46) {sjzz6();}
else
{
if (cos_out_pointer==cos_in_pointer)
{
if(cdt_ykmark&0x80)
{
ykfj_cl();
return;
}
sjzz6();
}
else
{
if(cdt_zlmark==0x44)
{
soe_txmark1_d7==0;
cos_out_pointer=cos_in_pointer;
sjzz6();
}
else
{
if(cdt_zcj<3)
{
sjzz6();
}
else
{
sjyxbw();
}
}
}
}
}
/*********soe***********/
void sjsoe (void)
{
cdt_zlmark=0x45;
//
soe_flen1=(soe_in_pointer1_bak-soe_out_pointer+1200U)%1200U;
if(soe_flen1>=108u) soe_flen1=108u;
soe_flen1=soe_flen1/6u;
//
com1_tl(cdt_in_counter,0)=com1_para(4);
com1_tl(cdt_in_counter,1)=com1_para(5);
com1_tl(cdt_in_counter,2)=com1_para(4);
com1_tl(cdt_in_counter,3)=com1_para(5);
com1_tl(cdt_in_counter,4)=com1_para(4);
com1_tl(cdt_in_counter,5)=com1_para(5);
com1_tl(cdt_in_counter,6)=soez[0];
com1_tl(cdt_in_counter,7)=soez[1];
com1_tl(cdt_in_counter,8)=soe_flen1;//soez[2];
com1_tl(cdt_in_counter,9)=soez[3];
com1_tl(cdt_in_counter,10)=soez[4];
com1_tl(cdt_in_counter,11)=bch(6);
//
for(soe_flen1_bak=0,soe_num1=0;soe_flen1_bak<6u*soe_flen1;soe_flen1_bak+=12u,soe_num1+=12u)
{
//
//wat_rst();
WDTC_WTE=0;
//
com1_tl(cdt_in_counter,soe_num1+12)=cdt_soe_data((soe_out_pointer+0+soe_flen1_bak)%1200u);
com1_tl(cdt_in_counter,soe_num1+13)=cdt_soe_data((soe_out_pointer+1+soe_flen1_bak)%1200u);
com1_tl(cdt_in_counter,soe_num1+14)=cdt_soe_data((soe_out_pointer+2+soe_flen1_bak)%1200u);
com1_tl(cdt_in_counter,soe_num1+15)=cdt_soe_data((soe_out_pointer+3+soe_flen1_bak)%1200u);
com1_tl(cdt_in_counter,soe_num1+16)=cdt_soe_data((soe_out_pointer+4+soe_flen1_bak)%1200u);
com1_tl(cdt_in_counter,soe_num1+17)=bch(soe_num1+12);
com1_tl(cdt_in_counter,soe_num1+18)=cdt_soe_data((soe_out_pointer+6+soe_flen1_bak)%1200u);
com1_tl(cdt_in_counter,soe_num1+19)=cdt_soe_data((soe_out_pointer+7+soe_flen1_bak)%1200u);
com1_tl(cdt_in_counter,soe_num1+20)=cdt_soe_data((soe_out_pointer+8+soe_flen1_bak)%1200u);
com1_tl(cdt_in_counter,soe_num1+21)=cdt_soe_data((soe_out_pointer+9+soe_flen1_bak)%1200u);
com1_tl(cdt_in_counter,soe_num1+22)=cdt_soe_data((soe_out_pointer+10+soe_flen1_bak)%1200u);
com1_tl(cdt_in_counter,soe_num1+23)=bch(soe_num1+18);
}
cdt_tc[cdt_in_counter]=soe_num1+12u;
cdt_in_counter^=0x01;
cdt_bz_a0=0;
cdt_soejs--;
if (cdt_soejs==0)
{
cdt_soejs=0;
soe_txmark1_d0=0;
//soe_out_pointer+=12;
soe_out_pointer=(soe_flen1*6u+soe_out_pointer)%1200u;
if (soe_out_pointer>=1200) soe_out_pointer=0;
}
}
/************组报头**********/
void sjzz12 (void)
{
cdt_f_cl();
cdt_zlmark=*(cdt_zxta[cdt_yc_num]+cdt_zxcount);
cdt_zxcount++;
//06-08-09
if(soe_txmark1_d0==0x01)
cdt_zlmark=cdt_zmark;
//
if ((cdt_zlmark==cdt_zmark)&&(cdt_soejs!=0)/*&&(soe_out_pointer!=soe_in_pointer1_bak)*/) cdt_bz_a0=0x01;
cdt_zcj=cdt_f_led[cdt_zlmark-0x41];
cdt_gong=gongg[cdt_zlmark-0x41];
cdt_sjta=(__far IO_BYTE*)com_sjdz[cdt_zlmark-0x41];
com1_tl(cdt_in_counter,0)=com1_para(4);
com1_tl(cdt_in_counter,1)=com1_para(5);
com1_tl(cdt_in_counter,2)=com1_para(4);
com1_tl(cdt_in_counter,3)=com1_para(5);
com1_tl(cdt_in_counter,4)=com1_para(4);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -