📄 main.c
字号:
//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 + -