📄 key.h
字号:
unsigned char routside_second_use;
unsigned char routside_4_second;
unsigned char routside_1_second;
unsigned char jiehou_use;
void init_outside()
{
rflag_key_prog_status=UP;
rflag_key_read_status=UP;
rflag_key_updisplay_status=UP;
rflag_key_prog_envent_up=0;
rflag_key_read_envent_up=0;
rflag_key_updisplay_envent_up=0;
rflag_key_prog_envent_down=0;
rflag_key_read_envent_down=0;
key_value_prog=0xff;
key_value_read=0xff;
key_value_updisplay=0xff;
RPROG_STATUS_TIMER=0;
routside_4_second=0;
RDELAY_KEYDOWN_TIMER=0;
RFLAG_RESET_DISPLAY=0;
RFLAG_ASKNUM_DISPLAY=0;
}
void mykeychu_use(point,value,addr)
unsigned char *point,value;
unsigned int addr;
// point -------->shi duan ,cuofeng shi fou suo
// value----------num lock day
// addr----------fm lock data addr
{
if(*point==1)
{
*point=0;
wr_data[0]=value;
data_addr.addri=addr;
write(FM,1);
}
}
extern unsigned char shangdian_ack();
void KEY_CHULI()
{
if(rflag_key_updisplay_envent_up==1)//up key envent happen
{
rflag_key_updisplay_envent_up=0;
RDISPLAY_ENVENT=DISPLAY_ENVENT_KEYDOWN;
current_speekstatus=trunoff;
num_time_dospeek=timevalue_speek;// bao jing ack wenzhou add
light_time=180;
}
if(rflag_key_prog_envent_up==1)// prog key envent happen
{
rflag_key_prog_envent_up=0;
if(1==shangdian_ack())// power up enabled
{
light_time=180;
RFLAG_PROG=~RFLAG_PROG;
current_speekstatus=trunoff;
num_time_dospeek=timevalue_speek;// bao jing ack wenzhou add
if(1==RFLAG_PROG)
RPROG_STATUS_TIMER=value_hex_from_bcd(RAM[R_PROGRAM_TIME]);
else
{
RPROG_STATUS_TIMER=0;
clr_mima_enable();
}
rchange_a_b_display=1;
if(RFLAG_B_A_KU!=RFLAG_PROG)
RFLAG_B_A_KU=RFLAG_PROG;
}
}
if(rflag_key_read_envent_up ==1)// down key envent happen
{
light_time=180;
current_speekstatus=trunoff;
num_time_dospeek=timevalue_speek;// bao jing ack wenzhou add
rflag_key_read_envent_up=0;
if(jiehou_use!=0) // ting dian zhi 1 ,di yi ci jie huo key tan qi bu dong zuo
jiehou_use=jiehou_use-1;
else
{
if(routside_4_second<4)
RDISPLAY_ENVENT=DISPLAY_ENVENT_KEY;
routside_4_second=0;
}
}
if(RFLAG_PROG==1)// prog status
{
if(progfunction_security==yes)
{
if(RSTATUS_RUN==TEST)
KEY_PANDUAN();// xu liang qing ling
}
else
// if(RFLAG_DEMANGCLR_LOCK!=1)// xu liang qing ling suo ding
KEY_PANDUAN();
}
// SHI JIAN DAO
if((routside_minute_use!=RSOFT_RTC_MINUTE)&&(RFLAG_POWERDOWN==0))//power on
{
routside_minute_use=RSOFT_RTC_MINUTE;
// 10minute prog time
if(0!=RPROG_STATUS_TIMER)
RPROG_STATUS_TIMER=RPROG_STATUS_TIMER-1;
if(0==RPROG_STATUS_TIMER)
RFLAG_PROG=0;
if(0==RFLAG_PROG)
{
clr_mima_enable();
rtime_zhangjimima=0;
}
// one day ji shu qi,xu liang qing ling yi tian dao
// if(0!=RTIMER_DEMANGCLR_LOCK)
// RTIMER_DEMANGCLR_LOCK=RTIMER_DEMANGCLR_LOCK-1;
// if(RTIMER_DEMANGCLR_LOCK==0)
// RFLAG_DEMANGCLR_LOCK=0;
// move_int_to_fm(RTIMER_DEMANGCLR_LOCK,FM_TIMER_DEMANGCLFM_LOCK);
if(noprog_time!=0) //zhe jiang gui yue mima you xiao 10 minute
noprog_time=noprog_time-1;
if(noprog_time==0)
zhejiang_mima_enable=0;
}
if(routside_second_use!=RSOFT_RTC_SECOND)
{
routside_second_use=RSOFT_RTC_SECOND;
if((rflag_key_read_status==DOWN)&&((rflag_key_prog_status==UP)||(1==RFLAG_POWERDOWN)))// 2003-7-15 add
// power on down key ---->push on (prog key push up)
// or power off down key ---->push on
{
if(routside_4_second==3)
{
RFLAG_B_A_KU=(~RFLAG_B_A_KU);
rchange_a_b_display=1;
set_reference_value(MIDDLE_REFERENCE+1);
RLCD_DISPLAY_STATUS=DISPLAY_AUTO;
RDISPLAY_TIMER=10*(RAM[R_DISPLAY_TIMER]>>4)+(0xf&RAM[R_DISPLAY_TIMER]);
}
if( routside_4_second<4)
routside_4_second=routside_4_second+1;
}
else
routside_4_second=0;
}
// cut reset ask
if((rflag_key_prog_status!=DOWN)||(rflag_key_read_status!=DOWN))
{
// // key clr kw ,when prog key or read key push up,the character reset and ask no display
RFLAG_RESET_DISPLAY=0;
RFLAG_ASKNUM_DISPLAY=0;
RDELAY_KEYDOWN_TIMER=0;
}
if((progfunction_security==yes)&&(RFLAG_POWERDOWN==0))
if(0==RFLAG_PROG)
{
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
}
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);
}
}
}
KEY_PANDUAN()
{
// key pan duan
if((rflag_key_prog_status==DOWN)&&(rflag_key_read_status==DOWN))
{
if(rkeypanduan_second!=RSOFT_RTC_SECOND)
{
rkeypanduan_second=RSOFT_RTC_SECOND;
if(RDELAY_KEYDOWN_TIMER<10)
RDELAY_KEYDOWN_TIMER=RDELAY_KEYDOWN_TIMER+1;
switch(RDELAY_KEYDOWN_TIMER)
{
case 2: // two sencond
//RFLAG_NEED_RESETASKNUM_DISPLAY=1;
RFLAG_RESET_DISPLAY=1;
RFLAG_ASKNUM_DISPLAY=1;
break;// 30
case 5: // five second
// RFLAG_NEED_RESETASKNUM_DISPLAY=0;// 60
// RDELAY_KEYDOWN_TIMER=0;
xuliangqingling_qingqiu=1;
onetime_biancheng(1,0x5,0);
RFLAG_RESET_DISPLAY=1;
RFLAG_ASKNUM_DISPLAY=0;
break;
case 7: // seven second
// RDELAY_KEYDOWN_TIMER=0;
RFLAG_RESET_DISPLAY=0;
RFLAG_ASKNUM_DISPLAY=0;
break;
}
}
}
else
{
// RFLAG_NEED_RESETASKNUM_DISPLAY=0;
RFLAG_RESET_DISPLAY=0;
RFLAG_ASKNUM_DISPLAY=0;
RDELAY_KEYDOWN_TIMER=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -