📄 keyprc.c
字号:
#include "reg52.h"
#include "typedef.h"
#include "function.h"
#include "define.h"
#include "varible.h"
//extern EE_BUFFER eedata ;
void Key_dummy(void);
void Key_prc(void);
void Key_left(void);
void Key_mid(void);
void Key_right(void);
void Set_system_code(void); //left and mid press together
void Sys_biaodin(void); //right and mid press together
void Savedata_prc(void);
void Set_sys_mima(void);
void Set_sys_data(void);
unsigned char Dp_set_precess(void);
unsigned char Sure_biaodin_dp(void);
bit Judge_setdanlan_range(void);
/****************************/
/****************************/
void (*const code key_tbl[])( void ) =
{
Key_dummy,
Key_left,
Key_mid,
Key_right,
Set_system_code,
Sys_biaodin
};
/*************************************/
/************************************/
void Key_prc( void )
{
if(key_flag_F == 1)
{
key_flag_F = 0;
exit_time = TM30S ;
key_tbl[keyvld]() ;
}
if(exit_time != 0)
exit_time--;
else
{
biaodin_F = 0;
set_dp_F = 0;
press_r_key = 0;
set_pra_seg = 0;
disp_mode = PARA_DISP ;
disp_no_u = 0;
}
return;
}
/************************************/
/************************************/
void Key_dummy(void)
{
;
return;
}
/*************************************/
/*************************************/
void Key_left(void)
{
press_r_key = 0;
if(disp_mode == PARA_DISP)
{
disp_mode = PARA_SET ;
allow_set_F = 0 ;
set_pra_seg = 0x08 ;
set_dp_F =0;
user_setdata.oneseg = 0;
user_setdata.twoseg = 0;
user_setdata.thrseg = 0;
user_setdata.fouseg = 0;
}
else if(allow_set_F == 1) //yin xu shezhi chansu
{
disp_no_u++;
if(disp_no_u >= 12) //parameter set loop 2004-5-10 change
disp_no_u = 1;
switch(disp_no_u)
{
case 0x01: //leiji liuliang qinglin
set_pra_seg = 0x08 ; // fouth seg led blink
set_dp_F = 0 ;
user_setdata.oneseg = 0;
user_setdata.twoseg = 0;
user_setdata.thrseg = 0;
user_setdata.fouseg = 0;
break ;
case 0x02: //liangchen fanwei shedin
set_pra_seg = 0x08 ;
set_dp_F = 0 ;
user_setdata.oneseg = Read1B(0x18,0);
user_setdata.twoseg = Read1B(0x19,0);
user_setdata.thrseg = Read1B(0x1a,0);
user_setdata.fouseg = Read1B(0x1b,0);
break ;
case 0x03: //pulse set
set_pra_seg = 8 ;
set_dp_F = 0;
user_setdata.oneseg = Read1B(0x26,0);
user_setdata.twoseg = Read1B(0x27,0);
user_setdata.thrseg = Read1B(0x28,0);
user_setdata.fouseg = Read1B(0x29,0);
break;
case 0x04: // lubo zhisu shedin
set_pra_seg = 0x01 ; //zhui hou yi wei shangsuo
set_dp_F = 0 ;
user_setdata.oneseg = Read1B(0x1c,0);
user_setdata.twoseg = 0;
user_setdata.thrseg = 0;
user_setdata.fouseg = 0;
break;
case 0x05: //xiao liuliang xinhao qiecu sedin
set_pra_seg = 0x01 ; //zhui hou yi wei shangsuo
set_dp_F = 0 ;
user_setdata.oneseg = Read1B(0x1d,0);
// if((user_setdata.oneseg < 1)||(user_setdata.oneseg > 5))
if(user_setdata.oneseg > 5) //2004-5-10 change
user_setdata.oneseg = 0 ;
user_setdata.twoseg = 0;
user_setdata.thrseg = 0;
user_setdata.fouseg = 0;
break;
case 0x06: //baojin sanxian sedin
set_pra_seg = 0x04 ; //disan wei shangsuo
set_dp_F = 0 ;
user_setdata.oneseg = Read1B(0x12,0);
user_setdata.twoseg = Read1B(0x13,0);
user_setdata.thrseg = Read1B(0x14,0);
user_setdata.fouseg = 0;
break;
case 0x07: //baojin xiaxian sedin
set_pra_seg = 0x02 ; //zhui hou yi wei shangsuo
set_dp_F = 0 ;
user_setdata.oneseg = Read1B(0x15,0);
user_setdata.twoseg = Read1B(0x16,0);
user_setdata.thrseg = 0;
user_setdata.fouseg = 0;
break;
case 0x08: //sensor_k modify
set_pra_seg = 0x08 ;
set_dp_F = 0 ;
user_setdata.oneseg = Read1B(0x30,0);
user_setdata.twoseg = Read1B(0x31,0);
user_setdata.thrseg = Read1B(0x32,0);
user_setdata.fouseg = Read1B(0x33,0);
break;
/* 2004-02-16 add set 4mA stander out */
case 0x09:
set_pra_seg = 0x04 ;
set_dp_F = 0 ;
user_setdata.oneseg = Read1B(0x35,0);
user_setdata.twoseg = Read1B(0x36,0);
user_setdata.thrseg = Read1B(0x37,0);
break;
/* 4mA stander out set is over */
/* set zero_offset */
case 0x0a:
set_pra_seg = 0x10 ;
set_dp_F = 0 ;
user_setdata.oneseg = Read1B(0x39,0);
user_setdata.twoseg = Read1B(0x3a,0);
user_setdata.thrseg = Read1B(0x3b,0);
user_setdata.fouseg = Read1B(0x3c,0);
break;
case 0x0b: //xiu gai mima
set_pra_seg = 0x08 ; //zhui hou yi wei shangsuo
set_dp_F = 0 ;
user_setdata.oneseg = Read1B(0x0d,0);
user_setdata.twoseg = Read1B(0x0c,0);
user_setdata.thrseg = Read1B(0x0b,0);
user_setdata.fouseg = Read1B(0x0a,0);
break;
default: break ;
}
}
}
/*************************************/
/************************************/
void Key_mid(void)
{
press_r_key = 0 ;
if(disp_mode == PARA_DISP)
return;
else if(disp_mode == PARA_SET)
{
disp_blink_time = TM2S;
switch(disp_no_u)
{
case 0x00:
case 0x02:
case 0x03:
case 0x07:
case 0x08:
case 0x0a:
case 0x0b:
if((disp_no_u == 2)&&(set_dp_F == 1)) //dp set
{
dp_point = Dp_set_precess();
}
else if((disp_no_u == 3)&&(set_dp_F == 1))
{
pulse_dp = Dp_set_precess();
}
else if((disp_no_u == 8)&&(set_dp_F == 1))
{
sensor_dp = Dp_set_precess();
}
else if((disp_no_u == 0x0a)&&(set_dp_F == 1))
{
zero_dp = Dp_set_precess();
}
else
{
if(set5_F == 1)
{
if(zero_symbol == ZERO_REVERSE)
zero_symbol = ZERO_POSITIVE;
else
zero_symbol = ZERO_REVERSE;
}
else if(set4_F == 1)
{
user_setdata.fouseg++;
if(user_setdata.fouseg >= 10) //set data from 0~9
user_setdata.fouseg = 0;
}
else if(set3_F == 1)
{
user_setdata.thrseg++;
if(user_setdata.thrseg >= 10)
user_setdata.thrseg = 0;
}
else if(set2_F == 1)
{
user_setdata.twoseg++;
if(user_setdata.twoseg >= 10)
user_setdata.twoseg = 0;
}
else if(set1_F == 1)
{
user_setdata.oneseg++;
if(user_setdata.oneseg >= 10)
user_setdata.oneseg = 0;
}
}
break;
case 0x01:
if(set4_F == 1)
{
user_setdata.fouseg++;
if(user_setdata.fouseg >= 2) //set data from 0~9
user_setdata.fouseg = 0;
}
else if(set3_F == 1)
{
user_setdata.thrseg++;
if(user_setdata.thrseg >= 2)
user_setdata.thrseg = 0;
}
else if(set2_F == 1)
{
user_setdata.twoseg++;
if(user_setdata.twoseg >= 2)
user_setdata.twoseg = 0;
}
else if(set1_F == 1)
{
user_setdata.oneseg++;
if(user_setdata.oneseg >= 2)
user_setdata.oneseg = 0;
}
break;
case 0x04:
if(set1_F ==1)
{
user_setdata.oneseg++;
if(user_setdata.oneseg > 6)
user_setdata.oneseg = 0;
}
break;
case 0x05: //xiao liuliang xinhao qiecu
if(set1_F ==1)
{
user_setdata.oneseg++;
if(user_setdata.oneseg >= 6)
user_setdata.oneseg = 0;
}
break;
case 0x06: //baojin sanxian
if(set3_F == 1)
user_setdata.thrseg++;
if(user_setdata.thrseg > 1)
user_setdata.thrseg = 0;
else if(set2_F == 1)
{
user_setdata.twoseg++;
if(user_setdata.thrseg == 1)
{
if(user_setdata.twoseg > 5)
user_setdata.twoseg = 0;
}
else if(user_setdata.twoseg >=10)
user_setdata.twoseg = 0 ;
}
else if(set1_F == 1)
{
user_setdata.oneseg++;
if((user_setdata.thrseg == 1)&&(user_setdata.twoseg == 5))
user_setdata.oneseg = 0;
else if(user_setdata.oneseg >= 10)
user_setdata.oneseg = 0;
}
break;
//baojin xiaxian sedin
case 0x09:
if(set3_F == 1)
{
user_setdata.thrseg++;
if(user_setdata.thrseg > 2)
user_setdata.thrseg = 1 ;
}
else if(set2_F == 1)
{
user_setdata.twoseg++;
if(user_setdata.twoseg >= 10)
user_setdata.twoseg = 0;
}
else if(set1_F == 1)
{
user_setdata.oneseg++;
if(user_setdata.oneseg >= 10)
user_setdata.oneseg = 0 ;
}
break;
default: break;
}
}
return;
}
/*************************************/
/*************************************/
void Key_right(void)
{
if(disp_mode == PARA_DISP)
{
disp_no_u++;
set_pra_seg = 0x00 ;
if(disp_no_u >= 7) //loop disp
disp_no_u = 0 ;
}
else if(disp_mode == PARA_SET)
{
if(biaodin_F != 1)
press_r_key++;
if( ((press_r_key >=5) && (disp_no_u !=2)&&(disp_no_u != 3)&&(disp_no_u != 8)&&(disp_no_u !=10))
||((press_r_key >=2)&&(set_pra_seg == 0)))
{
press_r_key = 0;
biaodin_F = 0;
set_dp_F = 0 ;
set_pra_seg = 0;
disp_mode = PARA_DISP ;
disp_no_u = 0;
return ;
}
// if((disp_no_u == 2)&&(biaodin_F == 1)&&(set_dp_F == 1))
if(biaodin_F == 1)
{
if(set_dp_F == 1) //dp biaodin
{
if(disp_no_u == 2) //biaodin dp_point
{
dp_point = Sure_biaodin_dp();
Save_dp_point(0x24); //baochen system dp
Save_dp_point(0x0e); //biaodin shi he xitong xiaosu din yiyang
set_dp_F = 0;
set_pra_seg = 0;
biaodin_F = 0; //biaodin over
disp_mode = PARA_DISP;
disp_no_u = 0 ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -