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

📄 zhuancun.h

📁 嵌入式单片机开发,嵌入式单片机开发,嵌入式单片机开发
💻 H
📖 第 1 页 / 共 2 页
字号:



void gzhuancun_use0()// zhuan cun yong
	{
		switch(rzhuancun_tpye_ercibiao)
     				{
     					case TYPE_EP1_HISTROY_KWH:  // write eeprom
     					case TYPE_EP1_HISTROY_KWH2:
						case TYPE_EP1_HISTROY_KWH3:
                  					zhuancun_dianliang();
                  					break;     
      					case TYPE_EP1_HISTROY_KW: 
      					case TYPE_EP1_HISTROY_KW2: 
      					case TYPE_EP1_HISTROY_KW3: 
                  					zhuancun_xuliang();
                  					break;    
      					case TYPE_EP1_SEASONCHANGE_RECORD:  // fu he qi
                  					zhuancun_fuheqi();
                  					break;
     					case TYPE_EP1_CLRKWSTOR_RECORD: 	// xuliang qing ling
//     					case TYPE_EP1_CLRKWSTOR_RECORD2: // xuliang qing ling
//     					case TYPE_EP1_CLRKWSTOR_RECORD3: // xuliang qing ling
	               					zhuancun_xuliangqingling();
                  					break;    
      					default: 
							rstatus_zhuan_cun = zhuancun_no;
                  			rcurrent_status_zhuancun = 0;
                 			 		break;
      				}
	}




void zhuancun_status_copy_to_fm()
{
	wr_data[0]= rstatus_zhuan_cun;
	wr_data[1]= rzhuancun_tpye_ercibiao;
	wr_data[2]=rcurrent_status_zhuancun;
	data_addr.addri=FM_STATUS_ZHUANCUN;
	write(FM,3);
	wr_data[0] = Rcurrent_chaobiaori_use;
	data_addr.addri=FM_CURRENT_CHAOBIAORI;
	write(FM,1);
}





void zhuancun_mode()
{
	unsigned char hour,day,l,l1,chaobiaoriok,value,d1,d2;
 	unsigned int l2,ciYizhuancun;
	static unsigned char g,g1,g2,g3,g4,g5;
	static unsigned char use1,use2,use3; // zhuang tai ,when change ---->write fm
	ZHUANCUN_TIME Zhuancun_Time[3];
//static ZHUANCUN_STATE StaZhuancun_use[3];

	if(g!=RSOFT_RTC_SECOND)  // one second one time
	{
		g=RSOFT_RTC_SECOND;// mu di shao du tie dian
		g1=1;
		g2=1;
		g3=1;
		g4=1;
		g5=1;
	}
	system_use_time=0;
// cao biao ri
//-------20081220--add--lzh------- >>.. -----3 chaobiaori-----
	if(rstatus_zhuan_cun==zhuancun_no)
	{
		if((strZhuancun_qingqiu[Rcurrent_chaobiaori_use].xuliang == 0)
	 	 &&(strZhuancun_qingqiu[Rcurrent_chaobiaori_use].dianliang == 0 ))
		{
			Rcurrent_chaobiaori_use ++;
			if(Rcurrent_chaobiaori_use >=3 )
				Rcurrent_chaobiaori_use = 0;
		}
	Zhuancun_Time[Rcurrent_chaobiaori_use].hour = RAM[R_CHAOBIAORI+Rcurrent_chaobiaori_use*2];
	Zhuancun_Time[Rcurrent_chaobiaori_use].day = RAM[R_CHAOBIAORI+1+Rcurrent_chaobiaori_use*2];
	Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok = 0;
	if(2==(testhour(Zhuancun_Time[Rcurrent_chaobiaori_use].hour)+testday(Zhuancun_Time[Rcurrent_chaobiaori_use].day)))
	if(Zhuancun_Time[Rcurrent_chaobiaori_use].day<0x29)
		Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok=1;
		
	}
//----20081220-add--lzh----------- ..<< -----------

// chu li tong xun qing ling xuliang
	if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
	if( xuliangqingling_qingqiu==1)
	{ 
		byte_2_bcd_add(R_CLRKW_NUM);// num
		copy_ram_to_fm(R_CLRKW_NUM,2,R_CLRKW_NUM);
		one_time_two_table_start(TYPE_FM_CLRKW_RECORD);
		if(Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok==1)	   // you chao biao ri
		{ 
			xuliangqingling_qingqiu=0;      
			zhuancun_xuliangqingling_start(Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day);
		}
		else	       	
		{
			xuliangqingling_qingqiu=0;   // wu chao biao ri
			strZhuancun_qingqiu[Rcurrent_chaobiaori_use].dianliang = 1;
			strZhuancun_qingqiu[Rcurrent_chaobiaori_use].xuliang = 1;	       	
		}
//		RFLAG_DEMANGCLR_LOCK=1;
//   RTIMER_DEMANGCLR_LOCK=timevalue_xuliangqingling_lock; 
//   if((RSTATUS_RUN==TEST)&&(progfunction_security==yes))
//	  	{
//    	RFLAG_DEMANGCLR_LOCK=0;
//    	RTIMER_DEMANGCLR_LOCK=0;
//  	}
//  	move_int_to_fm( RTIMER_DEMANGCLR_LOCK,FM_TIMER_DEMANGCLFM_LOCK);               
 	}
	if(strZhuancun_qingqiu[Rcurrent_chaobiaori_use].dianliang ==1) 
	{
		if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
		{
			zhuancun_dianliang_start(Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day);
			strZhuancun_qingqiu[Rcurrent_chaobiaori_use].dianliang = 0;
		}
	}
	else
	{
		if(Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok==1)
		if((RSOFT_RTC_HOUR==Zhuancun_Time[Rcurrent_chaobiaori_use].hour)&&(RSOFT_RTC_DAY==Zhuancun_Time[Rcurrent_chaobiaori_use].day))// one second can zhuangcun        
			// DIANLIANG    
		if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
		if(g1==1)// second one time
		{
			g1=0; 
			ciYizhuancun = FM_YIZHUANCUN_DIANLIANG + Rcurrent_chaobiaori_use*3;
			if(1==had_zhuancun(ciYizhuancun,Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day))
			zhuancun_dianliang_start(Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day); 	  	 	           
		}
	} 
	if(strZhuancun_qingqiu[Rcurrent_chaobiaori_use].xuliang ==1)
	{
		if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
		{
			zhuancun_xuliang_start(Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day);
			strZhuancun_qingqiu[Rcurrent_chaobiaori_use].xuliang=0;
		}
	}
	else
	{
		if(Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok==1)
		if((RSOFT_RTC_HOUR==Zhuancun_Time[Rcurrent_chaobiaori_use].hour)&&(RSOFT_RTC_DAY==Zhuancun_Time[Rcurrent_chaobiaori_use].day))// one second can zhuangcun
		//xuLIANG   
		if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
		// WRITE Ram
		{
			if(g3==1)// second one time
			{
				g3=0;
				ciYizhuancun = FM_XULIANG_YIZHUANCUN_DATE + Rcurrent_chaobiaori_use*3;
				if(1==had_zhuancun(ciYizhuancun,Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day))
					zhuancun_xuliang_start(Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day); 
			}
		}
	}	
 
	//  cuofeng  ZHUAN CUN
	if(progfunction_cuofeng==yes)
	{
		if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
		{
			value=0;
			if(Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok==1) 
			{
				if((RSOFT_RTC_HOUR==Zhuancun_Time[Rcurrent_chaobiaori_use].hour)&&(RSOFT_RTC_DAY==Zhuancun_Time[Rcurrent_chaobiaori_use].day))
				if(g5==1)// second one time
				{
					g5=0;
					value=1;
					d1=Zhuancun_Time[Rcurrent_chaobiaori_use].hour;
					d2=Zhuancun_Time[Rcurrent_chaobiaori_use].day;
				}
			}
			else
			{
				if((RSOFT_RTC_DAY==1)&&(RSOFT_RTC_HOUR==0)) 
				if(g5==1)// second one time
				{
					g5=0;
					value=1;
					d1=0;
					d2=1;
				}
			}
			if(1==value)
				zhuancun_cuofeng(d2,d1);
		}
	}


// add fu he qi zhuan cun
	if((fuhe_changed==1)&&(system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
	{
		fuhe_changed=0;
		time_to_wrdata();
		for(l=0;l<6;l++)
	 		zhuancun[l]=wr_data[l];
		for(l=0;l<80;l++)
 			zhuancun[l+6]=RAM[R_KWH_F_BAKA+l]; 
		for(l=0;l<86;l++)
			wr_data[l]=zhuancun[l];
		data_addr.addri=FM_ZHUANCUN_BUFFER;
		write(FM,86);	  	
		next_point(TYPE_EP1_SEASONCHANGE_RECORD,3);                   
		system_use_time=1;   
		rstatus_zhuan_cun=zhuancun_yes;
		rzhuancun_tpye_ercibiao=TYPE_EP1_SEASONCHANGE_RECORD;
		rcurrent_status_zhuancun=0;
		wr_data[0]=RAM[R_ONUS_1+0+3*current_fuheqi];//day
		wr_data[1]=RAM[R_ONUS_1+1+3*current_fuheqi];// month
		data_addr.addri=FM_FUHEQIYIZHUANCUN_DATE;
		write(FM,2);
	}

	// add  yu yue  0 1 FM  2--11 ---->EEPROM
	if((rqingqiu_yuyue_cun==1)&&(system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
	{
		rqingqiu_yuyue_cun=0;
  		data_addr.addri=FM_YUYUE_ZHUANCUNQINGQIU;
  		wr_data[0]=0;
  		write(FM,1);
  		time_to_wrdata();
  		data_addr.addri=FM_YUYUEDONGJIE_BUFFER;
  		for(l=0;l<96;l++)
  			wr_data[l+6]=RAM[R_KWH_F_BAKA+l];
  		for(l=0;l<7;l++)
		{
			wr_data[l+96+6]=RAM[R_KW_F+l];
			wr_data[l+96+7+6]=RAM[R_KW_R+l];
		}
   		write(FM,116);
		system_use_time=1;  
	}
	// system run(execute)
	if(system_use_time==0)
	{
		if(rstatus_zhuan_cun==zhuancun_yes)
			gzhuancun_use0();           
	}
	// ZHUAN TAI BAO CUN ZHI TIE DIAN
	if((use1!=rstatus_zhuan_cun)||(use2!=rzhuancun_tpye_ercibiao)||(use3!=rcurrent_status_zhuancun))
	{
		use1=rstatus_zhuan_cun;
		use2=rzhuancun_tpye_ercibiao;
		use3=rcurrent_status_zhuancun;
		zhuancun_status_copy_to_fm();
	}
	// add fu he qi zhuan cun
	if(1==system_use_time) 
		system_control_time2=1;
//
}
            

































⌨️ 快捷键说明

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