📄 lcd_display.c
字号:
}
if (save_water_enable_flag == 0)
{
if (set_num == 5)
{
return;
}
}
if (menu_buff_1 == Menu_Special)
{
if (tube_dry_enable_flag == 1)
{
menu_level_buff = Menu_Level_0;
set_num = set_num_lev_0; /* 恢复前一级菜单 set_num 值 */
menu_buff_0 &= 0x00;
// menu_buff_0 += set_num;
Tflash = 0;
water_level_buff = water_level_buff_0 = 0; /* 水位存储变量 0 */
wash_time_buff = wash_time_buff_0 = 0;
rinse_time_buff = rinse_time_buff_0 = 0;
spin_time_buff = spin_time_buff_0 = 0;
preset_time_buff = preset_time_buff_0 = 0;
return;
}
if (tube_dry_enable_flag == 0)
{
return;
}
}
menu_level_buff = Menu_Level_2;
menu_buff_2 &= 0x20;
if (menu_buff_1 == Menu_Wash_Set)
{
if (set_num == 0) /* 当选择单洗,单漂,特殊等程序时,要加上适当偏移值已确定下一级菜单 */
menu_buff_2 += 0;
if (set_num == 1)
menu_buff_2 += 2;
}
else if (menu_buff_1 == Menu_Rinse_Set)
{
if (set_num == 0)
menu_buff_2 += 0;
if (set_num == 1)
menu_buff_2 += 3;
if (set_num == 2)
menu_buff_2 += 4;
}
else if (menu_buff_1 == Menu_Spin_Set)
{
menu_buff_2 += 4;
}
else
menu_buff_2 += set_num;
set_num_lev_1 = set_num;
set_num = 0;
once_set_water_flag = 1; /* 曾设定标志置位,用于参数设定及显示判断 */
once_set_soak_flag = 1;
once_set_wash_flag = 1;
once_set_rinse_flag = 1;
once_set_spin_flag = 1;
once_set_save_water_flag = 1;
once_set_wind_dry_flag = 1;
once_set_preset_flag = 1;
break;
case Menu_Level_2: /* 菜单 2 级时,确定键用于确定所选参数的设定 */
if ((function_set_flag == 1)||(water_set_flag == 1)) /* 由功能或水位键进入 2 级菜单时,按确认直接返回 0 级菜单 */
{
menu_level_buff = Menu_Level_0;
set_num = program_buff;
menu_buff_0 &= 0x00;
menu_buff_0 += set_num;
if (function_set_flag == 1) /* 功能键标志为 “1”时,确定所选功能 */
{
function_set_flag = 0;
function_set_buff = function_set_buff_0;
if ((function_set_buff == 1)||(function_set_buff == 3))
save_water_enable_flag = 1;
if ((function_set_buff == 2)||(function_set_buff == 3))
tube_dry_enable_flag = 1;
confirm_function_flag = 1;
once_set_function_flag = 1;
}
if (water_set_flag == 1) /* 水位键标志为 “1”时,确定所选水位 */
{
water_set_flag = 0;
water_level_buff = water_level_buff_0;
confirm_water_flag = 1;
once_set_water_flag = 1;
first_water_flag = 0;
}
Tflash = 0;
return;
}
else if (menu_buff_2 == Menu_Preset) /* 菜单为预约时间设定时,确定预约运行时间 */
{
first_preset_flag = 0;
preset_set_flag = 1;
key_preset_flag = 1;
menu_level_buff = Menu_Level_1; /* 由程序键进入 2 级菜单时,按确认返回 1 级菜单 */
set_num = set_num_lev_1;
menu_buff_1 &= 0x10;
menu_buff_1 += set_num_lev_0;
Tflash = 0;
num_overflow_flag = 0;
once_set_preset_flag = 1;
preset_time_buff = preset_time_buff_0;
return;
}
else
{
menu_level_buff = Menu_Level_1; /* 由程序键进入 2 级菜单时,按确认返回 1 级菜单 */
set_num = set_num_lev_1;
menu_buff_1 &= 0x10;
menu_buff_1 += set_num_lev_0;
Tflash = 0;
if (menu_buff_2 == Menu_Water_P) /* 确定所选水位 */
{
num_overflow_flag = 0;
once_set_water_flag = 1;
water_level_buff = water_level_buff_0; /* 水位存储变量 0 */
}
else if (menu_buff_2 == Menu_Soak_Time) /* 确定浸泡时间 */
{
num_overflow_flag = 0;
once_set_soak_flag = 1;
soak_time_buff = soak_time_buff_0;
}
else if (menu_buff_2 == Menu_Wash_Time) /* 确定洗涤时间 */
{
num_overflow_flag = 0;
once_set_wash_flag = 1;
wash_time_buff = wash_time_buff_0;
}
else if (menu_buff_2 == Menu_Rinse_Num) /* 确定漂洗次数 */
{
num_overflow_flag = 0;
once_set_rinse_flag = 1;
rinse_time_buff = rinse_time_buff_0;
}
else if (menu_buff_2 == Menu_Spin_Time) /* 确定脱水时间 */
{
num_overflow_flag = 0;
once_set_spin_flag = 1;
spin_time_buff = spin_time_buff_0;
}
else if (menu_buff_2 == Menu_Save_Water) /* 确定留水次数 */
{
num_overflow_flag = 0;
confirm_save_water_flag = 1;
once_set_save_water_flag = 1;
save_water_num_buff = save_water_num_buff_0;
if (rinse_three_time_flag == 1) /* 当程序有3次蓄水漂洗时,确定总的留水次数 */
{
if (save_water_num_buff <= 2)
save_water_number = 1;
else if ((save_water_num_buff == 3)||(save_water_num_buff == 4))
save_water_number = 2;
else if (save_water_num_buff == 5)
save_water_number = 3;
}
else if (rinse_one_time_flag == 1) /* 当程序只有1次蓄水漂洗时,确定留水次数 */
{
save_water_number = 1;
}
else if ((rinse_three_time_flag != 1)&&(rinse_one_time_flag != 1)) /* 当程序有2次蓄水漂洗时,确定留水次数 */
{
if (save_water_num_buff <= 1)
save_water_number = 1;
else if (save_water_num_buff == 2)
save_water_number = 3;
}
}
/* else if (menu_buff_2 == Menu_Wind_Dry)
{
num_overflow_flag = 0;
once_set_wind_dry_flag = 1;
winddry_time_buff = winddry_time_buff_0;
}
*/
return;
}
break;
/* 以下注释内容在需要使用第3级菜单时可用 */
/***************************************************************************************
case Menu_Level_2:
menu_level_buff = Menu_Level_3;
menu_level_3_back_flag == 0;
set_num_lev_2 = set_num;
menu_buff_3 &= 0x30;
// menu_buff_3 += set_num;
// program_set_flag = 0;
// function_set_flag = 0;
// water_set_flag = 0;
Tflash = 0;
break;
case Menu_Level_3:
if(set_num == 0)
{
menu_level_buff = Menu_Level_4;
water_level_buff = water_level_buff_0;
program_buff = program_buff_0;
program_start_flag = 1;
Tflash = 0;
}
if(set_num == 1)
{
menu_level_buff = Menu_Level_2;
set_num = set_num_lev_2;
menu_level_3_back_flag = 1;
menu_buff_2 &= 0x20;
if (menu_buff_1 == Menu_Wash_Set)
{
if (set_num_lev_1 == 0)
menu_buff_2 += 0;
if (set_num_lev_1 == 1)
menu_buff_2 += 2;
}
else if (menu_buff_1 == Menu_Rinse_Set)
{
if (set_num_lev_1 == 0)
menu_buff_2 += 0;
if (set_num_lev_1 == 1)
menu_buff_2 += 3;
if (set_num_lev_1 == 2)
menu_buff_2 += 4;
}
else if (menu_buff_1 == Menu_Spin_Set)
{
menu_buff_2 += 4;
}
else
menu_buff_2 += set_num_lev_1;
// program_set_flag = 0;
// function_set_flag = 0;
// water_set_flag = 0;
Tflash = 0;
return;
}
break;
***************************************************************************************/
};
set_num = 0; /* set_num 清零供下级菜单使用 */
}
else if (key_buff_2 == Key_Cancel) /* 返回键处理 */
{
switch (menu_level_buff)
{
case Menu_Level_0: /* 0 级菜单时,返回键无效 */
program_set_flag = 0;
break;
case Menu_Level_1:
menu_level_buff = Menu_Level_0;
set_num = set_num_lev_0; /* 恢复前一级菜单 set_num 值 */
menu_buff_0 &= 0x00;
// menu_buff_0 += set_num;
Tflash = 0;
break;
case Menu_Level_2: /* 菜单2级时,返回1级菜单,如果正处理水位键或功能键,则返回0及菜单 */
if ((function_set_flag == 1)||(water_set_flag == 1))
{
menu_level_buff = Menu_Level_0;
// set_num = 0;
set_num = program_buff;
menu_buff_0 &= 0x00;
menu_buff_0 += set_num;
function_set_flag = 0;
water_set_flag = 0;
water_level_buff_0 = water_level_buff;
function_set_buff_0 = function_set_buff;
Tflash = 0;
}
else
{
num_overflow_flag = 0;
menu_level_buff = Menu_Level_1;
set_num = set_num_lev_1; /* 恢复前一级菜单 set_num 值 */
menu_buff_1 &= 0x10;
menu_buff_1 += set_num_lev_0; /* 恢复前一级菜单内容 */
water_level_buff_0 = water_level_buff;
soak_time_buff_0 = soak_time_buff;
wash_time_buff_0 = wash_time_buff;
rinse_time_buff_0 = rinse_time_buff;
spin_time_buff_0 = spin_time_buff;
save_water_num_buff_0 = save_water_num_buff;
winddry_time_buff_0 = winddry_time_buff;
preset_time_buff_0 = preset_time_buff;
function_set_buff_0 = function_set_buff;
Tflash = 0;
}
break;
/* 以下注释内容在需要使用第3级菜单时可用 */
/***************************************************************************************
case Menu_Level_3:
if ((function_set_flag == 1)||(water_set_flag == 1))
{
menu_level_buff = Menu_Level_2;
set_num = set_num_lev_2;
if (function_set_flag == 1)
menu_buff_2 = Menu_Function;
if (water_set_flag == 1)
menu_buff_2 = Menu_Water_P;
menu_level_3_back_flag = 0;
Tflash = 0;
}
else
{
menu_level_buff = Menu_Level_2;
set_num = set_num_lev_2;
menu_level_3_back_flag = 1;
menu_buff_2 &= 0x20;
if (menu_buff_1 == Menu_Wash_Set)
{
if (set_num_lev_1 == 0)
menu_buff_2 += 0;
if (set_num_lev_1 == 1)
menu_buff_2 += 2;
}
else if (menu_buff_1 == Menu_Rinse_Set)
{
if (set_num_lev_1 == 0)
menu_buff_2 += 0;
if (set_num_lev_1 == 1)
menu_buff_2 += 3;
if (set_num_lev_1 == 2)
menu_buff_2 += 4;
}
else if (menu_buff_1 == Menu_Spin_Set)
{
menu_buff_2 += 4;
}
else
menu_buff_2 += set_num_lev_1;
program_set_flag = 0;
function_set_flag = 0;
water_set_flag = 0;
Tflash = 0;
}
break;
***************************************************************************************/
};
// set_num = 0;
}
else
return;
}
/*******************************************************************************************************
菜单显示处理程序:
void menu_display(void)
显示:先进行菜单切换,如果有闪烁处理,则再调用对应闪烁程序,在调用闪烁处理程序之前,
先进行数据表地址切换及确认,以及闪烁区域的确认
********************************************************************************************************/
void menu_display(void)
{
unsigned char x; /* 闪烁起始页 */
unsigned char y; /* 闪烁结束页 */
unsigned char z; /* 需要进行闪烁处理的屏,同CS1,CS2, CS3 */
unsigned const char * m;
unsigned const char * n;
unsigned i;
unsigned j;
// display_status_judge ();
if (status_buff == STAND_BY)
{
Clr_Screen_0(); /* 清屏程序 */
Clr_Screen_1();
Clr_Screen_2();
BlackLight = 1;
return;
}
else
BlackLight = 0; /* 非待机状态下,背光常开 */
if (status_buff == INITIAL)
{
if ((kaiji_3s_buff != 0)&&(power_key_flag == 1))
return; /* 开机画面3s显示时间未到返回 */
else if ((kaiji_3s_buff == 0)&&(power_key_flag == 1))
{
// power_key_flag = 0;
if (run_demo_flag == 1)
start_demo_flag = 1; /* 如果选择demo运行时,程序开始自动运行 */
if ((run_demo_flag != 1)&&(first_init_flag == 1)) /* 如果未选择demo运行时,程序显示0级菜单 */
{
first_init_flag = 0;
menu_level_buff = Menu_Level_0;
set_num = 0;
menu_buff_0 += set_num;
}
}
}
if (status_buff == RUN) /* 运行状态时,显示第4级菜单 */
{
menu_level_buff = Menu_Level_4;
}
if (status_buff == STOP) /* 停止状态时,显示第4级,0级或2级菜单 */
{
if (function_set_flag == 1)
{
menu_level_buff = Menu_Level_2;
}
if (program_set_flag == 1)
{
menu_level_buff = Menu_Level_0;
}
if (water_set_flag == 1)
{
menu_level_buff = Menu_Level_2;
}
if (run_save_water_flag == 1)
{
menu_level_buff = Menu_Level_4;
}
}
if (status_buff == TEST)
{
;
}
if (status_buff == PRESET)
{
menu_level_buff = Menu_Level_4; /* 预约运行时,显示第4级菜单 */
}
//--------------------------------------------------------------------------
j = set_num; // this is important
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -