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

📄 main.c

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

#include "sfr22.h"
#include "41hard.h"

#include "Global_ram.h"
#include "Global_fm.h"

#include "Global_ep1.h"
#include "Global_eplock.h"
#include "global.h"
#include "Eeprom_rw.h"
#include "fmeeprom_rw.h"
#include "Data_readwrite.h"
#include "Program_function.h"
#include "display_table.h"
#include "Global_twotable_type.h"



#include "Alarm.h"

#include "global_function.h"
#include "rtc8025.h"

#include "lm75.h"
#include "Pluse_out.h"
#include "Ade7758p.h"



#include "an_quan_ren zhen.h"
#include "data_check.h"

#include "Display_drive.h"

#include "display_mode.h" 

#pragma INTERRUPT timer_a0_10ms
#pragma INTERRUPT comm_485_1
#pragma INTERRUPT comm_485_1_send

//#include "comm_485_1.h"

#include "Time_10ms.h"




#include "Key.h"
#include "price_switch.h"

#include "Soft_rtc.h"

#include "Kwhkvarh_count.h"
#include "Xuliang.h"

#include "Zhejiang.h"
#include "comm_remote.h"
//delete by zhanglong ---->start
//#include "hualong.h"
// delete by zhanglong ---->end
#include "Hualong_v10.h"
#include "comm_1_mode.h"
#include "comm_0_mode.h"
#include "Lost_v.h"
#include "Cut_v.h"

#include "over_kwh.h"

#include "Phasic_power_error.h"

#include "zhuancun.h"
#include "dongjie.h"


#include "Status_check.h"
#include "ad.h"

#include "biaogaiduanniugai.h"












/******************************************************************************/


// ting 停电状态确认AAAAAA
// 1 tingdian
unsigned char tingdian_ack()
{
 unsigned char l;
	pindir_vcc=0;
	if(1==pin_vcc) 
		return 0;
	for(l=0;l<3;l++)
	{
		if(1==pin_vcc)
	      		{
	         		return 0;
	      		}
	}
	return 1;	
}

// shang dian 上电确认AAAA
// 1 SHANG DIAN


unsigned char shangdian_ack()
{
  unsigned char l;
	pindir_vcc=0;
	if(0==pin_vcc) 
		return 0;
       for(l=0;l<3;l++)
       {
		if(0==pin_vcc)
	         	{
	         		return 0;
		  	}
       }
		return 1;	
}







// ting dian bao cun 停电保存AAAA
void tingdian_baocun()
{
// bao cun 
data_addr.addri=FM_DIANLIANG_ADD1;
wr_data[0]=Dianliang1.byte;
wr_data[1]=Dianliang2.byte;
write(FM,2);
data_addr.addri=FM_KWH_F_COUNT;
wr_data[0]=RKWH_F_COUNT%256;
wr_data[1]=RKWH_F_COUNT/256;
wr_data[2]=RKWH_R_COUNT%256;
wr_data[3]=RKWH_R_COUNT/256;
wr_data[4]=RKVARH_F_COUNT%256;
wr_data[5]=RKVARH_F_COUNT/256;
wr_data[6]=RKVARH_R_COUNT%256;
wr_data[7]=RKVARH_R_COUNT/256;
wr_data[8]=RKVARH_1_COUNT%256;
wr_data[9]=RKVARH_1_COUNT/256;
wr_data[10]=RKVARH_2_COUNT%256;
wr_data[11]=RKVARH_2_COUNT/256;
wr_data[12]=RKVARH_3_COUNT%256;
wr_data[13]=RKVARH_3_COUNT/256;
wr_data[14]=RKVARH_4_COUNT%256;
wr_data[15]=RKVARH_4_COUNT/256;
write(FM,16);
}



  
// ting chao dian ci 停抄电池AAAAA
// 1  <
unsigned char tingchao_dianchi()
{
	pindir_tingchaodianchi=0;
  	if(1==pin_tingchaodianchi)
        	return 1;
	else 
		 return 0;
}



// hong wai da kai ------>dalay 1 s zai da kai
void jiehuo_set()
{unsigned char a;
opendr_battery_tingdianchaobiao;
open_battery_tingdianchaobiao;
prc0=1;
cm16=0;
cm17=0;
cm05=0;
cm06=0;//      l0
prc0=0;
for(a=0;a<150;a++)
	{;}
opendr_battery_ctlir;
open_battery_ctlir;
prc0=1;
cm07=0;
prc0=0;
asm("FCLR I");
asm("NOP");
asm("NOP");
asm("NOP");
asm("NOP");
timer_a0_10ms_set();
// changed by zhanglong ---->start
//adset();//       2003-8-27 add
// changed by zhanglong ---->end
init_remote();
init_485_1();
init_485_0();
// delete by zhanglong ---->start
//init_hualong();
// delete by zhanglong ---->end
init_display();
lcd_set();
init_ta2();
 jiehou_use=1;
 RLCD_DISPLAY_STATUS=DISPLAY_AUTO;
asm("FSET I");
asm("NOP");
asm("NOP");
asm("NOP");
asm("NOP");
}












void chushi()
{
chushi_io();
prc0=1;
cm16=0;
cm17=0;
cm06=0;
cm05=0;
	
cm04=1;
cm07=0;
prc0=0;
lm75_adset();
lcd_set();
rtc8025_set();

adset();

init_485_1();
init_485_0();
init_remote();

init_display();
init_dongjie();
// delete by zhanglong ---->start
// init_hualong();
// delete by zhanglong ---->end
ledspeekset();
mochongset();
init_ni_xiang_xu_fan_xian();
init_outside();
init_over_kwh();
init_quanshiya();
init_lost_v();
init_cut_v();

init_7758();
timer_a0_10ms_set();

int12set();  //dianliang
time_1s_a1_set();

 init_xuliang();
 init_zhuancun();
init_check();
init_renzhen();
 init_priceswitch();
 init_biaogaiduanniugai();
 init_ta2();


}
void  huifu()
{
huifu_dianliang1();
huifu_xuliang();
huifu_data();
}




// num ----cishu   a--0 dianliang 1---yongdianliang 2--xuliang  3---dianwanjiance
void shangdiancun(num,a,day,hour)
unsigned char num,a,day,hour;
{unsigned char l;
 for(l=0;l<num;l++)
 	{
 		shangdiancun_onetime(a,day,hour);
       
        }
}





// month-day-hour yi cun shi jian   ,a lei xing  
// a--0 dianliang 1---yongdianliang 2--xuliang  3---dianwanjiance
void cun_from_currenttime_hadcuntime(day,hour,a,beforetime)
unsigned char day,hour,a,*beforetime;
{unsigned char l,month,value,n;
unsigned int m1,m2;
cun_from_currenttime_addri(a);
value=read(FM,3);
month=wr_data[2];
if(value==1)
	{
		m1=12*value_hex_from_bcd(RSOFT_RTC_YEAR)+value_hex_from_bcd(RSOFT_RTC_MONTH);
		m2=12*value_hex_from_bcd(*(beforetime+6))+value_hex_from_bcd(*(beforetime+5));
		if((256*(*(beforetime+4))+(*(beforetime+2)))<=(hour+256*day))
    			if(month!=*(beforetime+5)) 
	    			m1=m1+1;
		if(m1>m2)   // m1=m2  ben yue yu cun
    			{
    				m1=m1-m2; 	  
      				if(m1>12) 
	  				l=12;//     11
      				else 
	  				l=m1;
     				n=0;
      				if(l>1) 
					n=l-1;                                             //shangdiancun(l-1,a,day,hour);// changed
      				if(RSOFT_RTC_DAY>day)   
	  				n=n+1;                    //shangdiancun(1,a,day,hour);
      				else  
    	     				{
 	       				if(RSOFT_RTC_DAY==day)
 	            					if(RSOFT_RTC_HOUR>=hour)
 	                 					n=n+1;                   //shangdiancun(1,a,day,hour);
 	     				}

      				if(n>0)
          				{
            					shangdiancun(n,a,day,hour);	   	   
            					wr_data[0]=hour;
           				 	wr_data[1]=day;
            					if((hour+256*day)>(RSOFT_RTC_DAY*256+RSOFT_RTC_HOUR))
  	          					{
  	          						l=value_hex_from_bcd(RSOFT_RTC_MONTH)-1;    
                   						if((l>12)||(l==0)) 
									l=12;        //        i1---->0 MY MONTH NO STOR
                   						wr_data[2]=one_byte_hex_to_bcd(l);//((l/10)<<4)+(l%10);
  	          					}
            					else         
                   					wr_data[2]=RSOFT_RTC_MONTH;
     			 			cun_from_currenttime_addri(a);
     		 				write(FM,3);
       					zhuancun_status_copy_to_fm();
 					}
    				}
  			 }	
		}



/************************************************************/

init_quanshiya()
{
	opendr_battery_quanshiya;
	close_battery_quanshiya;
	RSTATUS_QUANSHIYA=no_quanshiya;
	RQINGQIU_PANDUAN_QUANSHIYA=nodo_panduanquanshiya;
}

void quan_shi_ya_start()
{unsigned char l;
  data_addr.addri=EP1_POWERDOWNALLLOSTV_NUM;
  if(1==read(EP1,3))
  	{
  		for(l=0;l<3;l++)
			RAM[R_USER0+l]=wr_data[l];
		byte_3_bcd_add(R_USER0);
	       for(l=0;l<3;l++)
		   	wr_data[l]=RAM[R_USER0+l];

⌨️ 快捷键说明

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