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

📄 zhejiang.h

📁 嵌入式单片机开发,嵌入式单片机开发,嵌入式单片机开发
💻 H
📖 第 1 页 / 共 5 页
字号:
// zhe jiang gui yue

const unsigned char table_zhejiang_read_kkwh_kw[][3]=
  // command low  sendaddr num
 {
    {00,00,156+10},// changed
    {0x10,00,21},
    {0x11,00,04},
    {0x12,04,04},
    {0x13,0x08,04},
    {0x14,12,04},
    {0x15,16,04},

    {0x20,21,21},
    {0x21,21,04},
    {0x22,25,04},
    {0x23,29,04},
    {0x24,33,04},
    {0x25,37,04},

    {0x30,42,21},
    {0x31,42,04},
    {0x32,46,04},
    {0x33,50,04},
    {0x34,54,04},
    {0x35,58,04},

    {0x40,63,21},
    {0x41,63,04},
    {0x42,67,04},
    {0x43,71,04},
    {0x44,75,04},
    {0x45,79,04},

    {0x50,84,36},
    {0x51,84,0x07},
    {0x52,91,0x07},
    {0x53,98,0x07},
    {0x54,105,0x07},
    {0x55,112,0x07},

    {0x60,120,36},
    {0x61,120,0x07},
    {0x62,127,0x07},
    {0x63,134,0x07},
    {0x64,141,0x07},
    {0x65,148,0x07}
 	};

    




void ram_kva_to_point_with_ed(addr,point)
unsigned char *addr;
unsigned char *point;
// one block+0xed
{unsigned char l;
 for(l=0;l<7;l++)
 	{
   		*(point+l)=*(addr+l);// zong
    		*(point+l+7)=*(addr+l+14);// feng
    		*(point+l+14)=*(addr+l+21);//ping
   		*(point+l+21)=*(addr+l+28);//gu
    		*(point+l+28)=*(addr+l+7);//jian
 	}
 *(point+35)=0xed;
} 
void ram_kwh_kva_set_ed(point)
unsigned char *point;	
{unsigned char l;  
 for(l=0;l<4;l++)
   	{
  	 ram_kwh_to_point_with_ed(&RAM[R_KWH_F_BAKA+20*l],point+21*l);  
 	}
ram_kva_to_point_with_ed(&RAM[R_KW_F],point+84);
ram_kva_to_point_with_ed(&RAM[R_KW_F+35],point+84+36);
}

unsigned char eeprom_kwh_kva_set_ed(unsigned char *point)
{unsigned char l,value;
unsigned int g3;
// shang yue dian liang
value=0;
g3=current_twobiaofm_block_addr(TYPE_EP1_HISTROY_KWH,0);
if(g3!=0xffff)
	{
		data_addr.addri=g3;
 		if(1==read(EP1,80))
 			{ 
 				for(l=0;l<4;l++)
  	      				ram_kwh_to_point_with_ed(&wr_data[20*l],point+21*l);
         			data_addr.addri=current_twobiaofm_block_addr(TYPE_EP1_HISTROY_KW,0);
         			if(data_addr.addri!=0xffff)
         				{
         					if(1==read(EP1,70))
         	    					{ 
         	    						ram_kva_to_point_with_ed(&wr_data[0],point+84);
                    						ram_kva_to_point_with_ed(&wr_data[35],point+84+36);
                    						value=1;
         	    					}
         				}
 			}
   }
return value;
}


// dian lu ji lu

void ram_33_lostv_to_point_with_ed(point)
unsigned char *point;
{unsigned char l;
 for(l=0;l<3;l++)
 	{
   		*(point+l)=RAM[R_LOSTV_TIME+l];// zon
    		*(point+l+3)=RAM[R_LOSTV_A_TIME+l];// a
    		*(point+l+6)=RAM[R_LOSTV_B_TIME+l]; // b
    		*(point+l+9)=RAM[R_LOSTV_C_TIME+l]; // c
 	}
	
 for(l=0;l<4;l++)
 	{
    		*(point+l+12)=RAM[R_LOSTV_A_KWH_F+l];  // a kwh
   		*(point+l+16)=RAM[R_LOSTV_B_KWH_F+l];  // bkwh
    		*(point+l+20)=RAM[R_LOSTV_C_KWH_F+l];  // c kwh
 	}
  if(RFLAG_STATUS_BATTERY==1)
    		*(point+24)=0x99;
  else 
  		*(point+24)=0;
 *(point+25)=0xed;
}


void ram_34_lostv_to_point_with_ed(point)
unsigned char *point;
{unsigned char l;
 for(l=0;l<3;l++)
 	{
    		*(point+l)=RAM[R_LOSTV_TIME+l];// zon
    		*(point+l+3)=RAM[R_LOSTV_A_TIME+l];// a
    		*(point+l+6)=RAM[R_LOSTV_B_TIME+l]; // b
    		*(point+l+9)=RAM[R_LOSTV_C_TIME+l]; // c
 	}

	
for(l=0;l<10;l++)
	bcdaddbuffer[l]=0;   
for(l=0;l<4;l++)
	bcdaddbuffer[l+1]=RAM[R_LOSTV_A_KWH_F+l];
for(l=0;l<4;l++)
	bcdaddbuffer[l+5+1]=RAM[R_LOSTV_B_KWH_F+l];
byte5_bcdadd_byte5();
for(l=0;l<4;l++)
	bcdaddbuffer[l+5+1]=RAM[R_LOSTV_C_KWH_F+l];
 byte5_bcdadd_byte5();
 for(l=0;l<4;l++)
    *(point+l+12)=bcdaddbuffer[l+1];  // 1kwh changed
// 2
for(l=0;l<10;l++)
	bcdaddbuffer[l]=0;   
for(l=0;l<4;l++)
	bcdaddbuffer[l+1]=RAM[R_LOSTV_AB_KWH_F+l];
for(l=0;l<4;l++)
	bcdaddbuffer[l+5+1]=RAM[R_LOSTV_AC_KWH_F+l];
byte5_bcdadd_byte5();
for(l=0;l<5;l++)
	bcdaddbuffer[l+5+1]=RAM[R_LOSTV_BC_KWH_F+l];
 byte5_bcdadd_byte5();
 for(l=0;l<4;l++)
    *(point+l+16)=bcdaddbuffer[l+1];  // 1kwh changed
 *(point+20)=0xba;  // c kwh
 if(RFLAG_STATUS_BATTERY==1)
    	*(point+21)=0x99;
 else 
 	*(point+21)=0;
 *(point+22)=0xed;
}

const unsigned char table_zhejiang_read_300_33[][4]=
{// low command  addr  num  kongfou 0 you 1--kong
  	{00,00,26,0},
       {0x10,00,26,0},
       {0x11,00,3,0},
       {0x12,3,3,0},
       {0x13,0x6,3,0},
       {0x14,0x9,3,0},
       {0x15,12,4,0},
       {0x16,16,4,0},
       {0x17,20,4,0},
       {0x18,24,1,0}
};

	
const unsigned char table_zhejiang_read_300_34[][4]=
{// low command  addr  num  kongfou 0 you 1--kong
  	{00,00,23,0},
       {0x10,00,23,0},
       {0x11,00,3,0},
       {0x12,3,3,0},
       {0x13,0x6,3,0},
       {0x14,0x9,3,0},
       {0x15,12,4,0},
       {0x16,16,4,0},
       {0x17,20,1,1},
       {0x18,21,1,0}
};



//  shun shi liang  400


void zhe_set_v_i(addr,point)// 0 dot 1 v
unsigned char *point;
unsigned int addr;
{
	*point=(RAM[addr+1]>>4)+(RAM[addr+2]<<4);
  	*(point+1)=(RAM[addr+2]>>4)+(RAM[addr+3]<<4);
}

void ram_400_use(unsigned char *point)
{
unsigned char l;
if((0x80&status_5460_0)==0)// kw
   	{// +
     		for(l=0;l<3;l++)
     			{
	 			*(point+l)=RAM[R_KW_Z+1+l];
	 			*(point+l+3)=0;
     			}
   	}
else// -
     	{
      		for(l=0;l<3;l++)
      			{
	    			*(point+l)=0;
	    			*(point+l+3)=RAM[R_KW_Z+1+l];
      			}
     	}
if((0x8&status_5460_0)==0)// kvar
   	{// +
     		for(l=0;l<3;l++)
     			{
	 			*(point+l+6)=RAM[R_KVAR_Z+1+l];
	 			*(point+l+3+6)=0;
     			}
   	}
else// -
     	{
      		for(l=0;l<3;l++)
      			{
	    			*(point+l+6)=0;
	    			*(point+l+3+6)=RAM[R_KVAR_Z+1+l];
      			}
     	}
}

void ram_400_set_ed_33(unsigned char *point)
{//unsigned char l;
//if((0x80&status_5460_0)==0)// zhen xiang you gong
  // {
     //	for(l=0;l<3;l++)
     		//{
		 //	*(point+l)=RAM[R_KW_Z+1+l];
	 		//*(point+l+3)=0;
     		//}
 //  }
//else// fan xiang
     	//{
      		//for(l=0;l<3;l++)
      			//{
	    		//	*(point+l)=0;
	    			//*(point+l+3)=RAM[R_KW_Z+1+l];
      			//}
    	 //}
// wugong
//if((0x8&status_5460_0)==0)
   	//{// +
     		//for(l=0;l<3;l++)
     			//{
	 		//	*(point+l+6)=RAM[R_KVAR_Z+1+l];
	 		//	*(point+l+3+6)=0;
     			//}
   	//}
//else// -
    // 	{
      		//for(l=0;l<3;l++)
      			//{
	    			//*(point+l+6)=0;
	    			//*(point+l+3+6)=RAM[R_KVAR_Z+1+l];
      			//}
     	//}
ram_400_use(point);

⌨️ 快捷键说明

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