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

📄 main.c

📁 嵌入式单片机开发,嵌入式单片机开发,嵌入式单片机开发
💻 C
📖 第 1 页 / 共 4 页
字号:
			     	//pd4=0;
 	                   delay_10ms();
                          clr_shenshiliang();// add 2003-8-27
                          wr_data[0]=0x44;
                          write7758(0x13,1);
                          delay_1ms();
                          chushi();

                          // add 2004-5-9  end     
                         colsedr_battery_quanshiya;
                         close_battery_quanshiya;
			    closedr_battery_ctlir;
			    if(1==tingdian_ack()) goto tingdian_chuli;
	                  huifu(); 
                         if(1==tingdian_ack()) goto tingdian_chuli;
                         asm("NOP");
                         asm("NOP");
                         asm("NOP");
                         asm("NOP");
                         asm(" FSET I");
                         asm("NOP");
                         asm("NOP");
                         asm("NOP");
                         asm("NOP");                     
                         while(rstatus_zhuan_cun!=zhuancun_no)
                                   {
                                   	gzhuancun_use0();
                                    }
                         zhuancun_status_copy_to_fm();
                         watchdog();
                         if(1==tingdian_ack()) goto tingdian_chuli;
// cao biao ri
// wan cheng duo ci zhuan cun
//------20081220-add--lzh------>>..----------
						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--------..<<---------

                        if(1==Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok)
 	                       {// changed ----->guo nian   (num month)(fm_year----->()
 	                          for(a=0;a<2;a++)  // dian liang  0,,xu liang 1
 	 	                        {
                                         cun_from_currenttime_hadcuntime(Zhuancun_Time[Rcurrent_chaobiaori_use].day,Zhuancun_Time[Rcurrent_chaobiaori_use].hour,a,&usedate[0]);
                                         watchdog();
                                         if(1==tingdian_ack()) goto tingdian_chuli;
 	 	                          }
// cuo feng
                                 if(1==tingdian_ack()) goto tingdian_chuli;
                                 cun_from_currenttime_hadcuntime(Zhuancun_Time[0].day,Zhuancun_Time[0].hour,TYPE_EP1_CUOFENGKWH_RECORD,&usedate[0]);
                                 watchdog();
 	                        }
                       else 
 	                       cun_from_currenttime_hadcuntime(1,0,TYPE_EP1_CUOFENGKWH_RECORD,&usedate[0]);
                       watchdog();
                       if(1==tingdian_ack()) goto tingdian_chuli;
// YU YUE
                       data_addr.addri=FM_YUYUE_ZHUANCUNQINGQIU;
                       if(1==read(FM,1))
 	                      if(wr_data[0]<2) 
					 rqingqiu_yuyue_cun=wr_data[0];// p0  1
 // FU HE  qi
                       current_fuheqi=price_switch_fuhe();
                       qingqiuduishi_rtc=1;
			// add by zhanglong ---->start
			quanshiya_tingchao_cishu=0;
			// add by zhanglong ---->end

mainpro:        
	RFLAG_POWERDOWN=0;
	system_control_time0=0;
	system_control_time2=0;
	v10type=0;
	watchdog();
// FE LV QIE HUAN
	if(1==tingdian_ack()) goto tingdian_chuli;
	 price_switch_mode();
//xuliang
	if(1==tingdian_ack()) goto tingdian_chuli;
	xuliang_mode();

// dian liang(diang liang yong dian liang ,you gong wu gong)
	if(1==tingdian_ack()) goto tingdian_chuli;
	dianliang_mode();



// out_side mode
	KEY_CHULI();
	if(1==tingdian_ack()) goto tingdian_chuli;
// displaymode  lcd changed
	display_mode();
	if(1==tingdian_ack()) goto tingdian_chuli;
// comm  485
	comm_485_1_mode();
	if(1==tingdian_ack()) goto tingdian_chuli;
// comm  485_0
	comm_485_0_mode();

	if(1==tingdian_ack()) goto tingdian_chuli;
//comm  remote
	comm_remote_mode();

	if(1==tingdian_ack()) goto tingdian_chuli;
// yao kong chu li
	chuli_remote();
	mode7758();
	if((spi_status==1)&&(r7758mode_ok==1))
    		 {
    		 	r7758mode_ok=0;
      	          	shenshiliang();       
       	   	if(time_envent_delay_d0<5) 
		   	    	time_envent_delay_d0=time_envent_delay_d0+1;
      		   	if(time_envent_delay_d0>=2) 
			    	value=1;
               }
	if(value==1)
            use_reset=1;
	if(1==tingdian_ack()) goto tingdian_chuli;
// rtc  ying jian dui shi zai zi jian mo kuai zhong
	rtc();
// bu shi zhong
	lm75_main_mode();
	if(1==tingdian_ack()) goto tingdian_chuli;
	anquan_renzhen_mode();
//---------------------------------------------->select mode
/**************************************/
	if(system_control_time0<5)
		{
// no 1  not use
			if(1==tingdian_ack()) goto tingdian_chuli;
 		       ledspeekmode();// jian cha
			check_mode();
// no 1    not use
			biaogaiduanniugai_mode();
// ad
			if(1==tingdian_ack()) goto tingdian_chuli;
			ad();
//---------------system_control time1 ------------->
			if((value==1)&&(time_envent_delay_d0>=5))
				{
					system_control_time1=system_control_time1+1;
					if(system_control_time1>4) system_control_time1=0;
					switch(system_control_time1)
						{case 0:  
              						lost_v_mode();
              						break;
  						 case 1:
         						       cut_v_mode();
              						break;
 						 case 2:   
						 	       if(progfunction_overkwh==yes)
                   						over_kwh_mode();
              						break;
  						
 						 default:
             							 ni_xiang_xu_fan_xiang_mode();
              						break;
						}

					}

/******************************************/
//-------------------------------->time2
// dongjie mode

			if(1==tingdian_ack()) goto tingdian_chuli;
			if(value==1)
  				 dongjie_mode();
// zhuang cun
			if(1==tingdian_ack()) goto tingdian_chuli;
			if((value==1)&&(0==system_control_time2))
 				 zhuancun_mode();// fu he ji lu
			if(1==tingdian_ack()) goto tingdian_chuli;
		}

	if(1==tingdian_ack()) goto tingdian_chuli;
// dian chi dian ya mo chong
	goto mainpro;

tingdian_chuli: 
                            KEY_CHULI();
	
	             		opendr_battery_tingdianchaobiao;
                   		 open_battery_tingdianchaobiao;
                   		 tingdian_baocun();
                    //add 2004-5-9start
                    		 wr_data[0]=0x40;
                    		 write7758(0x13,1);
                     	//delay_1ms();

                    //add 2004-5-9end
                  		 if(value==1)
                   	 		 {
                   	 		  zhuancun_status_copy_to_fm();
	              		  if(cut_v_quadrant!=cut_v_no)
         	                		 cut_v_end();
	                		  if(lost_v_quadrant!=lost_v_no)
         	                 		 lost_v_end();
                       		  if(current_order_quadrant==r_order)// ni xiang xu
 	                                    one_time_two_table_end(TYPE_FM_SEQERR_RECORD);
                         		  watchdog();
                          		  if(over_kwh_status==guozai)
 		        	                over_kwh_end();
                                     if(over_kwh_status_a==guozai)
 		        	                over_kwh_a_end();
                                     if(over_kwh_status_b==guozai)
 		        	                over_kwh_b_end();
                                     if(over_kwh_status_c==guozai)
 		        	                over_kwh_c_end();
                                     watchdog();
                                     if(current_order_kw==r_order)
	                                      one_time_two_table_kwh_end(TYPE_FM_KWREVERSE_RECORD,R_KW_REVERSE_KWH);
                                     if(current_order_a_kw==r_order)
	                                      one_time_two_table_kwh_end(TYPE_FM_AKWREVERSE_RECORD,R_A_KW_REVERSE_KWH);
                                     if(current_order_b_kw==r_order)
	                                      one_time_two_table_kwh_end(TYPE_FM_BKWREVERSE_RECORD,R_B_KW_REVERSE_KWH);
                                     if(current_order_c_kw==r_order)
	                                      one_time_two_table_kwh_end(TYPE_FM_CKWREVERSE_RECORD,R_C_KW_REVERSE_KWH);
                                     watchdog();
                                     if(RSTATUS_QUANSHIYA==quanshiya)
                         	               one_time_two_table_end(TYPE_FM_ALLLOSTV_RECORD);
                                     if(rstatus_biaogai!=gai_close)
                         	               one_time_two_table_end(TYPE_EP1_BIAOGAI_RECORD);
                                     if(rstatus_duanniugai!=gai_close)
                         	               one_time_two_table_end(TYPE_EP1_DUANNIUGAI_RECORD);
                   	                }
                       if(use_reset==1)
                             {
	                       
	                        if(power_downup_use==1)
	                  	          one_time_two_table_end(TYPE_FM_POWERDOWNUP_RECORD);
	                        one_time_two_table_start(TYPE_FM_POWERDOWNUP_RECORD);
	                        power_downup_use=1;
                     	 }
// 32768hz	   
			   if(1==shangdian_ack()) goto shangdiankaishi; 
			   if(progfunction_security==yes)
                  			{
                  			if(RSTATUS_RUN==RUN)
                      			{
                      				if(shiduan_onetimeprog==1) 
        	     	      					{
        	     	      						shiduan_onetimeprog=0;
        	     	         					RSTATUS_RUN=LOCK_90DAY;
									copyrunstatus();   
               	  	 	 				RLOCK_90DAY_TIMER=90*24;
               	  	  					move_int_to_fm(RLOCK_90DAY_TIMER,FM_LOCK_90DAY_TIMER);
               	  	 				 }   //HOUR
                  				}
					// add by zhanglong ---->start
					if(RSTATUS_RUN!=TEST)
                   	   			{
                   	   				if(cuofengvalue_onetimeprog==1)
                   	        				{
                   	        					cuofengvalue_onetimeprog=0;  
									if(RSTATUS_RUN!=TEST)
                            						{
                   	                						wr_data[0]=20;
                                     						data_addr.addri=FM_LOCK_CUOFENGDINGZHI;
                                     						write(FM,1);
                            						}
                   	         				}
                   	      				mykeychu_use(&cuofengshiduan_onetimeprog,20,FM_LOCK_CUOFENGSHIDUAN);
                            			mykeychu_use(&priceyuyue_onetimeprog,60,FM_LOCK_ZHUFUFEILVQIEHUAN);
                            			mykeychu_use(&cuofengshiduan_switch_onetimeprog,60,FM_LOCK_ZHUFUCUOFENGQIEHUAN);
                            			mykeychu_use(&cuofengvalue_switch_onetimeprog,60,FM_LOCK_ZHUFUCUOFENGDINGZHIQIEHUAN);
                       	
                        			}		
					// add by zhanglong ---->end
			   		}
							
                        RFLAG_POWERDOWN=1;
                         tingchao_enabled=3;
                         remote_jiehuo_10day=10*24*60;
                         quanshiya_10day=10*24*60;
                         RSTATUS_QUANSHIYA=no_quanshiya;
                       //  num_quanshiya=0; 
			    powerdown_alllostv_status=ALL_LOSTV_NO;
                       //  RTIME_DIANCHI_60_USE=0;
                         RTIME_TINGDIANJIEHUO_KEY_USE=0;                  
                         tingchaojiehuo_use_num_second=0;
			    remote_display_7day=10*24*60;//l7*24*60
			    RLCD_DISPLAY_STATUS=DISPLAY_AUTO;
			    RDISPLAY_TIMER=0;
			    RPOINT_AUTO_DISPLAY=0xff;
				// add by zhanglong ---->start
			quanshiya_tingchao_cishu=0;
				// add by zhanglong ---->end
			    RFLAG_B_A_KU=0;
		           if(1==pin_tingchaodianchi)
		           	{
		           		clr_shenshiliang();
                        		gdisplay_auto_key_comm();
			  		program_function();	
		           	}
                       //  closedr_battery_tingdianchaobiao;
                        // close_battery_tingdianchaobiao;
                         delay_1ms();
                         watchdog();
                         delay_1ms();                         
                         if(1==shangdian_ack()) goto shangdiankaishi; 
tingdianxunhuan1: 
	 		    RLCD_DISPLAY_STATUS=DISPLAY_AUTO;
			    RDISPLAY_TIMER=0;
			    RPOINT_AUTO_DISPLAY=0xff;
			    RFLAG_B_A_KU=0;
	                   closedr_battery_ctlir;
     	                   close_battery_ctlir;
     	                   colsedr_battery_quanshiya;
                          close_battery_quanshiya;
	                   zhongduan_8025_second_set();            
			// changed by zhanglong 
                          RTIME_QUANSHIYA_PANDUAN_USE=541;// 500 //pppp0
                          // changed by zhanglong 
                          lm75_lowpower();
tingdianxunhuan2:  
				// add by zhanglong 2006-05-26---->start
				closedr_battery_ctlir;
				close_battery_ctlir;
				// add by zhanglong 2006-05-26---->end
	                   set_tingdian();
			   // RFLAG_NEED_RESETASKNUM_DISPLAY=0;
        		     RFLAG_RESET_DISPLAY=0;
                          RFLAG_ASKNUM_DISPLAY=0;
                          display_comm=0;
                          status_cuofeng_price=0;
                          if(1==shangdian_ack()) goto shangdiankaishi; 
                          rtc_tingdian();   
                          if(1==shangdian_ack()) goto shangdiankaishi; 
                          // powerdown_timeadd();

			      //add
                          if((progfunction_quanshiya!=yes)||(RTIME_QUANSHIYA_PANDUAN_USE<599)
						  	                          ||(RTIME_QUANSHIYA_PANDUAN_USE>600))
                          	{
                          		if(RDISPLAY_TIMER>0) 
						RDISPLAY_TIMER=RDISPLAY_TIMER-1;
					if(((RDISPLAY_TIMER==0)&&(0!=remote_display_7day))&&(1==pin_tingchaodianchi))
						{
							if(1==shangdian_ack()) goto shangdiankaishi; 
							opendr_battery_tingdianchaobiao;
                                       		open_battery_tingdianchaobiao;          
      	                                		prc0=1;
	                                		cm05=0;
	                                		prc0=0;            
                                       		for(l=0;l<10;l++)
      	                                      		{;}//----------------->                     
                                      		prc0=1;
                                       		cm16=0;
                                      	 	cm17=0;
                                       		cm06=0;
                                       		cm07=0;
                                       		prc0=0;
                                       		for(l=0;l<100;l++)
      	                                      		{;}//----------------->
      	                                		if(1==shangdian_ack()) goto shangdiankaishi;                                                 
							 RLCD_DISPLAY_STATUS=DISPLAY_AUTO;
							 RFLAG_B_A_KU=0;
							gdisplay_auto_key_comm();
			  				program_function();	
							DISPLAY_NEXT();//set  RDISPLAY_TIMER
							//RDISPLAY_TIMER=value_hex_from_bcd(RAM[R_DISPLAY_TIMER]);  // g8SECOND
                                                 if((RDISPLAY_TIMER>99)||(RDISPLAY_TIMER<5))
								RDISPLAY_TIMER=5;
							lcd_display();
							if(1==shangdian_ack()) goto shangdiankaishi; 
							prc0=1;
	                                       	cm04=1;
	                                       	asm("NOP");
	                                       	asm("NOP");
	                                       	asm("NOP");
	                                       	asm("NOP");
	                                       	asm("NOP");

	                                       	asm("NOP");
	                                       	cm07=1;
	                                       	asm("NOP");
	                                       	asm("NOP");
	                                       	asm("NOP");
	                                       	asm("NOP");
	                                       	asm("NOP");
	                                       	asm("NOP");
					           	cm05=1;
	                                       	prc0=0;
						    	asm("NOP");
	                                       	asm("NOP");
	                                       	asm("NOP");
	                                       	asm("NOP");

⌨️ 快捷键说明

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