⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xuliang.h

📁 嵌入式单片机开发,嵌入式单片机开发,嵌入式单片机开发
💻 H
📖 第 1 页 / 共 3 页
字号:
           		rcurrent_price_huacha=0;
           		RCURRENT_KVA_F_PRICE_BUFFER_NUM=0;
           		RCURRENT_KVA_R_PRICE_BUFFER_NUM=0;
           		RCURRENT_KVAR_F_PRICE_BUFFER_NUM=0;
           		RCURRENT_KVAR_R_PRICE_BUFFER_NUM=0;
           		RCURRENT_KVAR_1_PRICE_BUFFER_NUM=0;
           		RCURRENT_KVAR_2_PRICE_BUFFER_NUM=0;
           		RCURRENT_KVAR_3_PRICE_BUFFER_NUM=0;
           		RCURRENT_KVAR_4_PRICE_BUFFER_NUM=0;
		}
}


void ram_7byte_exchanged(addr1,addr2)
unsigned int addr1,addr2;

// cuo fengyong
// exchange
{unsigned char l,k;
for(l=0;l<7;l++)
{
	k=RAM[addr1+l];
	RAM[addr1+l]=RAM[addr2+l];
	RAM[addr2+l]=k;
}

// for(l=0;l<7;l++)
 //	a[l]=RAM[addr1+l];
// for(l=0;l<7;l++)
 //	RAM[addr1+l]=RAM[addr2+l];
// for(l=0;l<7;l++)
 	//RAM[addr2+l]=a[l];
 };




void xuliang_mode()
{unsigned int a1,a2,a3;
 unsigned char use_xuliangzhouqi;
 unsigned char use_huacha;
unsigned char l,l1,l2,l3,l4,value,l10;
unsigned long sum;
// when xuliangzhouqi   change----reset xuliang
//cuo fen  ji cufeng chao xian-------------------------->start
if((progfunction_cuofeng==yes)&&(arm_cuofeng==1))	
	pulseset_withvaluetime(0x14,5550);// high level
 else 
	pulseset_withvaluetime(0x14,0);
 if((progfunction_cuofeng==yes)&&(status_cuofeng_price==1))	
	pulseset_withvaluetime(0x13,5550);
 else 
	pulseset_withvaluetime(0x13,0);


//cuo fen  ji cufeng chao xian-------------------------->end
if(xuliangmode_use_xuliangzhouqi!=RAM[R_XULIANGZHOUQI])
 	{
 		xuliangmode_use_xuliangzhouqi=RAM[R_XULIANGZHOUQI];
      		init_xuliang();
	}
// huacha---err---->true
if(1==thevalueisbcd1to60(RAM[R_HUACHA]))
        use_huacha=value_hex_from_bcd(RAM[R_HUACHA]);
else 
 	 use_huacha=1;
 // xuliangzhouqi  err---->true
if(1==thevalueisbcd1to60(RAM[R_XULIANGZHOUQI]))
        use_xuliangzhouqi=value_hex_from_bcd(RAM[R_XULIANGZHOUQI]);
 else  
 	 use_xuliangzhouqi=15;
//  one minute start---------------------------------------------------->
if( XULIANG_MINUTE!=RSOFT_RTC_MINUTE)
	{
		XULIANG_MINUTE=RSOFT_RTC_MINUTE;
// xuliang mo chong------------->start
//if(xuliang_mochong_use_time==(use_xuliangzhouqi-1))  xuliangzhouqi_pulse();
if(xuliang_mochong_use_time<use_xuliangzhouqi)
 	xuliang_mochong_use_time=xuliang_mochong_use_time+1;
if(RAM[R_KWPLUS_MODE]==kva_pulse_mode0)// xuliang zhou qi mochong
       if(xuliang_mochong_use_time>=use_xuliangzhouqi)
       	{
       		xuliang_mochong_use_time=0;
 	         	xuliangzhouqi_pulse();
       	}
// xuliang mo chong------------->end
// ddddd   wu gong zu he fan shi ---------------changed start
// zheng xiang
if(rcurrent_use_mode_f_kvarh_count!=RAM[R_KVARHMODE_F])
	{
		rcurrent_use_mode_f_kvarh_count=RAM[R_KVARHMODE_F];
     		RCURRENT_KVAR_F_BUFFER_ADDR=0;
     		RCURRENT_KVAR_F_BUFFER_NUM=0;
     		RCURRENT_KVAR_F_PRICE_BUFFER_NUM=0;
	}
// FAN XIANG
if(rcurrent_use_mode_r_kvarh_count!=RAM[R_KVARHMODE_R])
   	{
   		rcurrent_use_mode_r_kvarh_count=RAM[R_KVARHMODE_R];
     		RCURRENT_KVAR_R_BUFFER_ADDR=0;
     		RCURRENT_KVAR_R_BUFFER_NUM=0;
     		RCURRENT_KVAR_R_PRICE_BUFFER_NUM=0;
   	}
// ddddd   wu gong zu he fan shi ---------------changed end
// store num_pulse   per minute  ------------------------------------->start   
// zhen xiang you gong ---------->start
// pulse=|use_value-int_value|
//a1=RCURRENT_MINUTE_KVA_F;
//if(a1<RCURRENT_USE_MINUTE_KVA_F) 	
//   	a2=(0xffff-RCURRENT_USE_MINUTE_KVA_F)+1+a1;// zero crossing
//else
// 	a2=a1-RCURRENT_USE_MINUTE_KVA_F;
//RCURRENT_USE_MINUTE_KVA_F=a1; 


if(kw_fz_numsecond==0)
	{
	a2=0;
	}
else
	{
	a2=(kw_fz_perminute+30)/60;//kw_fz_numsecond;
	}
kw_fz_numsecond=0;
kw_fz_perminute=0;


 // addr
if(RCURRENT_KVA_F_BUFFER_ADDR>=(use_xuliangzhouqi-1)) 
	RCURRENT_KVA_F_BUFFER_ADDR=0;
else 
       RCURRENT_KVA_F_BUFFER_ADDR=RCURRENT_KVA_F_BUFFER_ADDR+1;
         // place  num pulses per minute  to buffer
RCURRENT_KVA_F_BUFFER[RCURRENT_KVA_F_BUFFER_ADDR]=a2;// int
// num +1
if(RCURRENT_KVA_F_BUFFER_NUM<use_xuliangzhouqi)
        RCURRENT_KVA_F_BUFFER_NUM=RCURRENT_KVA_F_BUFFER_NUM+1;
if(RCURRENT_KVA_F_PRICE_BUFFER_NUM<use_xuliangzhouqi)
        RCURRENT_KVA_F_PRICE_BUFFER_NUM=RCURRENT_KVA_F_PRICE_BUFFER_NUM+1; 
// check
if(RCURRENT_KVA_F_BUFFER_NUM>use_xuliangzhouqi) 
	 RCURRENT_KVA_F_BUFFER_NUM=use_xuliangzhouqi;
if(RCURRENT_KVA_F_PRICE_BUFFER_NUM>use_xuliangzhouqi) 
       RCURRENT_KVA_F_PRICE_BUFFER_NUM=use_xuliangzhouqi;
 // zhen xiang you gong --------------------------------->end
// fan xiang you gong--------------------------------->start
//a1=RCURRENT_MINUTE_KVA_R;
//if(a1<RCURRENT_USE_MINUTE_KVA_R) 	
// 	    a2=(0xffff-RCURRENT_USE_MINUTE_KVA_R)+1+a1;
//else
// 	    a2=a1-RCURRENT_USE_MINUTE_KVA_R;
//RCURRENT_USE_MINUTE_KVA_R=a1; 


if(kw_rz_numsecond==0)
	{
	a2=0;
	}
else
	{
	a2=(kw_rz_perminute+30)/60;//kw_fz_numsecond;
	}
kw_rz_numsecond=0;
kw_rz_perminute=0;

        // addr
if(RCURRENT_KVA_R_BUFFER_ADDR>=(use_xuliangzhouqi-1)) 
       RCURRENT_KVA_R_BUFFER_ADDR=0;
else 
       RCURRENT_KVA_R_BUFFER_ADDR=RCURRENT_KVA_R_BUFFER_ADDR+1;         
RCURRENT_KVA_R_BUFFER[RCURRENT_KVA_R_BUFFER_ADDR]=a2;
         // num +1
if(RCURRENT_KVA_R_BUFFER_NUM<use_xuliangzhouqi)
       RCURRENT_KVA_R_BUFFER_NUM=RCURRENT_KVA_R_BUFFER_NUM+1;
if(RCURRENT_KVA_R_PRICE_BUFFER_NUM<use_xuliangzhouqi)
       RCURRENT_KVA_R_PRICE_BUFFER_NUM=RCURRENT_KVA_R_PRICE_BUFFER_NUM+1; 
// check
if(RCURRENT_KVA_R_BUFFER_NUM>use_xuliangzhouqi) 
       RCURRENT_KVA_R_BUFFER_NUM=use_xuliangzhouqi;
if(RCURRENT_KVA_R_PRICE_BUFFER_NUM>use_xuliangzhouqi) 
       RCURRENT_KVA_R_PRICE_BUFFER_NUM=use_xuliangzhouqi;
// fan xiang you gong--------------------------------->end
// zhen xiang WU gong------------------------------->start
a1=RCURRENT_MINUTE_KVAR_F;
if(a1<RCURRENT_USE_MINUTE_KVAR_F) 	
 	     a2=(0xffff-RCURRENT_USE_MINUTE_KVAR_F)+1+a1;
else
 	     a2=a1-RCURRENT_USE_MINUTE_KVAR_F;
RCURRENT_USE_MINUTE_KVAR_F=a1; 
        // addr
if(RCURRENT_KVAR_F_BUFFER_ADDR>=(use_xuliangzhouqi-1)) 
 	     RCURRENT_KVAR_F_BUFFER_ADDR=0;
else 
            RCURRENT_KVAR_F_BUFFER_ADDR=RCURRENT_KVAR_F_BUFFER_ADDR+1;
         // place
RCURRENT_KVAR_F_BUFFER[RCURRENT_KVAR_F_BUFFER_ADDR]=a2;
         // num +1
if(RCURRENT_KVAR_F_BUFFER_NUM<use_xuliangzhouqi)
             RCURRENT_KVAR_F_BUFFER_NUM=RCURRENT_KVAR_F_BUFFER_NUM+1;
if(RCURRENT_KVAR_F_PRICE_BUFFER_NUM<use_xuliangzhouqi)
             RCURRENT_KVAR_F_PRICE_BUFFER_NUM=RCURRENT_KVAR_F_PRICE_BUFFER_NUM+1; 
// check
if(RCURRENT_KVAR_F_BUFFER_NUM>use_xuliangzhouqi) 
     	      RCURRENT_KVAR_F_BUFFER_NUM=use_xuliangzhouqi;
if(RCURRENT_KVAR_F_PRICE_BUFFER_NUM>use_xuliangzhouqi) 
     	      RCURRENT_KVAR_F_PRICE_BUFFER_NUM=use_xuliangzhouqi;
 // zhen xiang WU gong------------------------------->end
   // FAN xiang WU gong------------------------------->start
a1=RCURRENT_MINUTE_KVAR_R;
if(a1<RCURRENT_USE_MINUTE_KVAR_R)             
		a2=(0xffff-RCURRENT_USE_MINUTE_KVAR_R)+1+a1;
else
 	      a2=a1-RCURRENT_USE_MINUTE_KVAR_R;
 RCURRENT_USE_MINUTE_KVAR_R=a1; 

        // addr
 if(RCURRENT_KVAR_R_BUFFER_ADDR>=(use_xuliangzhouqi-1)) 
 	      RCURRENT_KVAR_R_BUFFER_ADDR=0;
 else 
             RCURRENT_KVAR_R_BUFFER_ADDR=RCURRENT_KVAR_R_BUFFER_ADDR+1;


         //place
 RCURRENT_KVAR_R_BUFFER[RCURRENT_KVAR_R_BUFFER_ADDR]=a2;
        // num +1
if(RCURRENT_KVAR_R_BUFFER_NUM<use_xuliangzhouqi)
            RCURRENT_KVAR_R_BUFFER_NUM=RCURRENT_KVAR_R_BUFFER_NUM+1;
if(RCURRENT_KVAR_R_PRICE_BUFFER_NUM<use_xuliangzhouqi)
            RCURRENT_KVAR_R_PRICE_BUFFER_NUM=RCURRENT_KVAR_R_PRICE_BUFFER_NUM+1; 
// check
if(RCURRENT_KVAR_R_BUFFER_NUM>use_xuliangzhouqi) 
     	     RCURRENT_KVAR_R_BUFFER_NUM=use_xuliangzhouqi;
if(RCURRENT_KVAR_R_PRICE_BUFFER_NUM>use_xuliangzhouqi) 
     	     RCURRENT_KVAR_R_PRICE_BUFFER_NUM=use_xuliangzhouqi;
  // FAN xiang WU gong------------------------------->end
       // 1 WU gong------------------------------------>start
a1=RCURRENT_MINUTE_KVAR_1;
if(a1<RCURRENT_USE_KVAR_1) 	
 	       a2=(0xffff-RCURRENT_USE_KVAR_1)+1+a1;
else
 	       a2=a1-RCURRENT_USE_KVAR_1;
RCURRENT_USE_KVAR_1=a1; 
        // addr
if(RCURRENT_KVAR_1_BUFFER_ADDR>=(use_xuliangzhouqi-1)) 
 	     RCURRENT_KVAR_1_BUFFER_ADDR=0;
else 
            RCURRENT_KVAR_1_BUFFER_ADDR=RCURRENT_KVAR_1_BUFFER_ADDR+1;
         // place
 RCURRENT_KVAR_1_BUFFER[RCURRENT_KVAR_1_BUFFER_ADDR]=a2;
         // num +1
 if(RCURRENT_KVAR_1_BUFFER_NUM<use_xuliangzhouqi)
           RCURRENT_KVAR_1_BUFFER_NUM=RCURRENT_KVAR_1_BUFFER_NUM+1;
   // if(RCURRENT_KVAR_1_PRICE_BUFFER_NUM<use_xuliangzhouqi)
        //   RCURRENT_KVAR_1_PRICE_BUFFER_NUM=RCURRENT_KVAR_1_PRICE_BUFFER_NUM+1; 
// check
if(RCURRENT_KVAR_1_BUFFER_NUM>use_xuliangzhouqi) 
    	    RCURRENT_KVAR_1_BUFFER_NUM=use_xuliangzhouqi;
  //  if(RCURRENT_KVAR_1_PRICE_BUFFER_NUM>use_xuliangzhouqi) 
    	  //  RCURRENT_KVAR_1_PRICE_BUFFER_NUM=use_xuliangzhouqi;
  // 1 WU gong------------------------------------>end

     
       // 2 WU gong--------------------------------->start
   	a1=RCURRENT_MINUTE_KVAR_2;
    	if(a1<RCURRENT_USE_KVAR_2) 	
              a2=(0xffff-RCURRENT_USE_KVAR_2)+1+a1;
    	else
 	       a2=a1-RCURRENT_USE_KVAR_2;
     	RCURRENT_USE_KVAR_2=a1; 
        // addr
     	if(RCURRENT_KVAR_2_BUFFER_ADDR>=(use_xuliangzhouqi-1)) 
 	     	RCURRENT_KVAR_2_BUFFER_ADDR=0;
     	else 
           	 RCURRENT_KVAR_2_BUFFER_ADDR=RCURRENT_KVAR_2_BUFFER_ADDR+1;
         //place
     	RCURRENT_KVAR_2_BUFFER[RCURRENT_KVAR_2_BUFFER_ADDR]=a2;
         // num +1        
     	if(RCURRENT_KVAR_2_BUFFER_NUM<use_xuliangzhouqi)
            	RCURRENT_KVAR_2_BUFFER_NUM=RCURRENT_KVAR_2_BUFFER_NUM+1;
   //  if(RCURRENT_KVAR_2_PRICE_BUFFER_NUM<use_xuliangzhouqi)
         //   RCURRENT_KVAR_2_PRICE_BUFFER_NUM=RCURRENT_KVAR_2_PRICE_BUFFER_NUM+1; 
// check
     	if(RCURRENT_KVAR_2_BUFFER_NUM>use_xuliangzhouqi) 
     	     RCURRENT_KVAR_2_BUFFER_NUM=use_xuliangzhouqi;
   //  if(RCURRENT_KVAR_2_PRICE_BUFFER_NUM>use_xuliangzhouqi) 
     	 //    RCURRENT_KVAR_2_PRICE_BUFFER_NUM=use_xuliangzhouqi;
   // 2 WU gong--------------------------------->end
  // 3 WU gong---------------------------------->start
      a1=RCURRENT_MINUTE_KVAR_3;
      if(a1<RCURRENT_USE_KVAR_3)
 	
               a2=(0xffff-RCURRENT_USE_KVAR_3)+1+a1;
      else
 	        a2=a1-RCURRENT_USE_KVAR_3;
      RCURRENT_USE_KVAR_3=a1; 
        // addr
      if(RCURRENT_KVAR_3_BUFFER_ADDR>=(use_xuliangzhouqi-1)) 
 	          RCURRENT_KVAR_3_BUFFER_ADDR=0;
       else 
         	   RCURRENT_KVAR_3_BUFFER_ADDR=RCURRENT_KVAR_3_BUFFER_ADDR+1;
         // place
      RCURRENT_KVAR_3_BUFFER[RCURRENT_KVAR_3_BUFFER_ADDR]=a2;
         // num +1        
      if(RCURRENT_KVAR_3_BUFFER_NUM<use_xuliangzhouqi)
              RCURRENT_KVAR_3_BUFFER_NUM=RCURRENT_KVAR_3_BUFFER_NUM+1;
   //   if(RCURRENT_KVAR_3_PRICE_BUFFER_NUM<use_xuliangzhouqi)
          //    RCURRENT_KVAR_3_PRICE_BUFFER_NUM=RCURRENT_KVAR_3_PRICE_BUFFER_NUM+1; 
     // check
      if(RCURRENT_KVAR_3_BUFFER_NUM>use_xuliangzhouqi) 
      	       RCURRENT_KVAR_3_BUFFER_NUM=use_xuliangzhouqi;
  //    if(RCURRENT_KVAR_3_PRICE_BUFFER_NUM>use_xuliangzhouqi) 
      	  //     RCURRENT_KVAR_3_PRICE_BUFFER_NUM=use_xuliangzhouqi;
// 3 WU gong---------------------------------->end


  // 4 WU gong---------------------------------->start
      a1=RCURRENT_MINUTE_KVAR_4;
      if(a1<RCURRENT_USE_KVAR_4) 	
 	        a2=(0xffff-RCURRENT_USE_KVAR_4)+1+a1;
      else
 	        a2=a1-RCURRENT_USE_KVAR_4;
      RCURRENT_USE_KVAR_4=a1; 
        // addr
      if(RCURRENT_KVAR_4_BUFFER_ADDR>=(use_xuliangzhouqi-1)) 
 	       RCURRENT_KVAR_4_BUFFER_ADDR=0;
      else 
         	RCURRENT_KVAR_4_BUFFER_ADDR=RCURRENT_KVAR_4_BUFFER_ADDR+1;
         // place
      RCURRENT_KVAR_4_BUFFER[RCURRENT_KVAR_4_BUFFER_ADDR]=a2;
         // num +1       
      if(RCURRENT_KVAR_4_BUFFER_NUM<use_xuliangzhouqi)
             RCURRENT_KVAR_4_BUFFER_NUM=RCURRENT_KVAR_4_BUFFER_NUM+1;
 //     if(RCURRENT_KVAR_4_PRICE_BUFFER_NUM<use_xuliangzhouqi)
         //     RCURRENT_KVAR_4_PRICE_BUFFER_NUM=RCURRENT_KVAR_4_PRICE_BUFFER_NUM+1; 
// check
      if(RCURRENT_KVAR_4_BUFFER_NUM>use_xuliangzhouqi) 
      	       RCURRENT_KVAR_4_BUFFER_NUM=use_xuliangzhouqi;
 //     if(RCURRENT_KVAR_4_PRICE_BUFFER_NUM>use_xuliangzhouqi) 
      	 //      RCURRENT_KVAR_4_PRICE_BUFFER_NUM=use_xuliangzhouqi;
// 4 WU gong---------------------------------->end


// cuo feng add---------------------------------> start  
//     a1=RCURRENT_MINUTE_CUOFENG;
//     if(a1<RCURRENT_USE_MINUTE_CUOFENG) 	
//              a2=(0xffff-RCURRENT_USE_MINUTE_CUOFENG)+1+a1;
//     else
// 	       a2=a1-RCURRENT_USE_MINUTE_CUOFENG;
//      RCURRENT_USE_MINUTE_CUOFENG=a1; 
if(kw_cuofeng_numsecond==0)
	{
	a2=0;
	}
else
	{
	a2=(kw_cuofeng_perminute+30)/60;//kw_fz_numsecond;
	}
kw_cuofeng_numsecond=0;
kw_cuofeng_perminute=0;

	  
        // addr
     if(RCURRENT_CUOFENG_BUFFER_ADDR>=(use_xuliangzhouqi-1)) 
 	       RCURRENT_CUOFENG_BUFFER_ADDR=0;
     else 
          	RCURRENT_CUOFENG_BUFFER_ADDR=RCURRENT_CUOFENG_BUFFER_ADDR+1;
         // place
     RCURRENT_CUOFENG_BUFFER[RCURRENT_CUOFENG_BUFFER_ADDR]=a2;
         // num +1
     if(RCURRENT_CUOFENG_BUFFER_NUM<use_xuliangzhouqi)
            	RCURRENT_CUOFENG_BUFFER_NUM=RCURRENT_CUOFENG_BUFFER_NUM+1;         
// check
     if(RCURRENT_CUOFENG_BUFFER_NUM>use_xuliangzhouqi) 
     	     	RCURRENT_CUOFENG_BUFFER_NUM=use_xuliangzhouqi;
// cuo feng add ------------------------------------------->end
// stor num_pulse   per minute  ---------------------------------------------->end
//  pei zhi  function 程序配制功能实现AAAAAAA------------>START
if(progfunction_kva_f==no)   
       RCURRENT_KVA_F_BUFFER_NUM=0;
if(progfunction_kva_f_price==no)
        RCURRENT_KVA_F_PRICE_BUFFER_NUM=0;
if(progfunction_kva_r==no)
        RCURRENT_KVA_R_BUFFER_NUM=0;
if(progfunction_kva_r_price==no)
        RCURRENT_KVA_R_PRICE_BUFFER_NUM=0;
if(progfunction_kvar_f ==no)
        RCURRENT_KVAR_F_BUFFER_NUM=0;
if(progfunction_kvar_f_price==no)
        RCURRENT_KVAR_F_PRICE_BUFFER_NUM=0;
if(progfunction_kvar_r==no)
        RCURRENT_KVAR_R_BUFFER_NUM=0;
if(progfunction_kvar_r_price==no)
        RCURRENT_KVAR_R_PRICE_BUFFER_NUM=0;
if(progfunction_kvar_1==no)
        RCURRENT_KVAR_1_BUFFER_NUM=0;
//if(progfunction_kvar_1_price==no)
     //   RCURRENT_KVAR_1_PRICE_BUFFER_NUM=0;
if(progfunction_kvar_2==no)
        RCURRENT_KVAR_2_BUFFER_NUM=0;
//if(progfunction_kvar_2_price==no)
     //   RCURRENT_KVAR_2_PRICE_BUFFER_NUM=0;
if(progfunction_kvar_3==no)

⌨️ 快捷键说明

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