📄 key_io.c
字号:
break;
default:
program_buff = COMMON;
led_disp.led_0.byte = 0xfe;
};
}
else if (process_buff != SWRS)
{
if (select_soak_flag != 0)
{
program_count = 0;
select_soak_flag = 0;
}
program_count ++;
if (program_count == 8)
program_count = 0;
switch(program_count)
{
case 0:
program_buff = COMMON;
led_disp.led_0.byte = 0xfe;
break;
case 1:
program_buff = SPEEDY;
led_disp.led_0.byte = 0xfd;
break;
case 2:
program_buff = FASTEST;
led_disp.led_0.byte = 0xfb;
break;
case 3:
program_buff = JEANS;
led_disp.led_0.byte = 0xf7;
break;
case 4:
program_buff = STANDARD;
led_disp.led_0.byte = 0xfe;
break;
case 5:
program_buff = FIBER;
led_disp.led_0.byte = 0xfd;
break;
case 6:
program_buff = COTTON;
led_disp.led_0.byte = 0xfb;
break;
case 7:
program_buff = TUBE_DRY;
led_disp.led_0.byte = 0xf7;
break;
default:
program_buff = COMMON;
led_disp.led_0.byte = 0xfe;
};
}
if (program_buff > 3)
{
program_flash_flag = 1;
led_flash_buff1 = led_disp.led_0.byte;
}
else
program_flash_flag = 0;
if (program_buff == SPEEDY)
{
process_buff = WRS;
pro_led_buff = 0x1f;
led_disp.led_2.byte = pro_led_buff;
return;
}
if (program_buff == FASTEST)
{
select_fastest_flag = 1;
water_level_buff = 3;
water_count = water_level_buff;
led_disp.led_1.byte = 0xf7;
water_flash_flag = 0;
process_buff = WRS;
pro_led_buff = 0x1f;
led_disp.led_2.byte = pro_led_buff;
return;
}
if ((select_fastest_flag == 1)&&(program_buff != FASTEST))
{
select_fastest_flag = 0;
water_level_buff = 6;
water_count = water_level_buff;
led_disp.led_1.byte = 0xfb;
led_flash_buff = led_disp.led_1.byte;
water_flash_flag = 1;
return;
}
if (program_buff == TUBE_DRY)
{
select_tube_flag = 1;
led_disp.led_1.byte = 0xff;
water_flash_flag = 0;
process_buff = WRS;
pro_led_buff = 0x1f;
led_disp.led_2.byte = pro_led_buff;
return;
}
if ((select_tube_flag == 1)&&(program_buff != TUBE_DRY))
{
select_tube_flag = 0;
water_level_buff = 6;
water_count = water_level_buff;
led_disp.led_1.byte = 0xfb;
led_flash_buff = led_disp.led_1.byte;
water_flash_flag = 1;
return;
}
return;
}
void key_pro_fun(void)
{
if ((program_buff == SPEEDY)||(program_buff == FASTEST)||(program_buff == TUBE_DRY))
return;
if (process_key_falg == 1)
key_process();
else if (function_key_falg == 1)
key_function();
pro_led_buff &= 0xf0;
fun_led_buff &= 0x0f;
led_disp.led_2.byte = pro_led_buff + fun_led_buff;
}
void key_process(void)
{
if ((program_buff == FIBER)||(program_buff == COTTON))
{
process_count ++;
if (process_count == 4)
process_count = 0;
switch(process_count)
{
case 0:
process_buff = SWRS;
pro_led_buff = 0x0f;
break;
case 1:
process_buff = WASH;
pro_led_buff = 0xdf;
break;
case 2:
process_buff = RINSE;
pro_led_buff = 0xbf;
break;
case 3:
process_buff = SPIN;
pro_led_buff = 0x7f;
break;
};
}
else
{
process_count ++;
if (process_count == 6)
process_count = 0;
switch(process_count)
{
case 0:
process_buff = WRS;
pro_led_buff = 0x1f;
break;
case 1:
process_buff = WASH;
pro_led_buff = 0xdf;
break;
case 2:
process_buff = WR;
pro_led_buff = 0x9f;
break;
case 3:
process_buff = RS;
pro_led_buff = 0x3f;
break;
case 4:
process_buff = SPIN;
pro_led_buff = 0x7f;
break;
case 5:
process_buff = SWRS;
pro_led_buff = 0x0f;
break;
};
}
}
void key_function(void)
{
function_count ++;
if (function_count == 12)
function_count = 0;
switch(function_count)
{
case 0:
function_buff = EXT_WASH;
fun_led_buff = 0xfe;
break;
case 1:
function_buff = EXT_RINSE;
fun_led_buff = 0xfd;
break;
case 2:
function_buff = EXT_SPIN;
fun_led_buff = 0xfb;
break;
case 3:
function_buff = SOFT_SPIN;
fun_led_buff = 0xf7;
break;
case 4:
function_buff = EXT_W_R;
fun_led_buff = 0xfc;
break;
case 5:
function_buff = EXT_W_S;
fun_led_buff = 0xfa;
break;
case 6:
function_buff = EXT_W_SS;
fun_led_buff = 0xf6;
break;
case 7:
function_buff = EXT_R_S;
fun_led_buff = 0xf9;
break;
case 8:
function_buff = EXT_R_SS;
fun_led_buff = 0xf5;
break;
case 9:
function_buff = EXT_W_R_S;
fun_led_buff = 0xf8;
break;
case 10:
function_buff = EXT_W_R_SS;
fun_led_buff = 0xf4;
break;
case 11:
fun_led_buff = 0xff; /* function LED off */
break;
default:
function_buff = EXT_WASH;
fun_led_buff = 0xfe;
};
return;
}
void key_water(void)
{
if (program_buff == FASTEST)
{
water_level_buff = 3;
water_count = water_level_buff;
led_disp.led_1.byte = 0xf7;
water_flash_flag = 0;
return;
}
else if (program_buff == TUBE_DRY)
{
led_disp.led_1.byte = 0xff;
return;
}
else if (run_spin_flag == 1)
return;
water_count ++; //should be initialized as 5
if (water_count == 11)
water_count = 1;
switch(water_count)
{
case 1:
case 2:
water_level_buff = water_count;
led_disp.led_1.byte = 0xef;
break;
case 3:
case 4:
water_level_buff = water_count;
led_disp.led_1.byte = 0xf7;
break;
case 5:
case 6:
water_level_buff = water_count;
led_disp.led_1.byte = 0xfb;
break;
case 7:
case 8:
water_level_buff = water_count;
led_disp.led_1.byte = 0xfd;
break;
case 9:
case 10:
water_level_buff = water_count;
led_disp.led_1.byte = 0xfe;
break;
};
if (!(water_count%2))
{
water_flash_flag = 1;
led_flash_buff = led_disp.led_1.byte;
}
else
water_flash_flag = 0;
return;
}
void key_preset(void)
{
key_preset_normal();
}
void key_preset_normal(void)
{
preset_count ++; //should be initialized as 2 ??????
if (preset_count == 25)
{
preset_count = 0;
preset_3s_buff = 3;
}
if (preset_count == 1)
preset_count = 2;
preset_buff = preset_count;
/*
if (preset_buff == 0)
{
if (preset_3s_buff ==0)
{
preset_3s_buff = 3;
led_disp.led_3.byte = seg_led_table[10];
led_disp.led_4.byte = seg_led_table[10];
}
else
{
// preset_3s_buff = 0x00;
led_disp.led_3.byte = seg_led_table[preset_count];
led_disp.led_4.byte = seg_led_table[preset_count];
}
}
else
{
preset_3s_buff = 0x00;
*/
if (preset_count < 10)
{
led_disp.led_3.byte = seg_led_table[preset_count];
led_disp.led_4.byte = seg_led_table[0];
}
if ((preset_count >= 10)&&(preset_count < 20))
{
led_disp.led_3.byte = seg_led_table[preset_count-10];
led_disp.led_4.byte = seg_led_table[0x01];
}
if (preset_count >= 20)
{
led_disp.led_3.byte = seg_led_table[preset_count-20];
led_disp.led_4.byte = seg_led_table[0x02];
}
led_flash_buff3 = led_disp.led_3.byte;
led_flash_buff4 = led_disp.led_4.byte;
// }
return;
}
void key_preset_cont(void)
{
// if (key_release != 1)
// {
if (preset_500ms_buff == 0)
{
preset_500ms_buff = 1;
preset_count ++; //should be initialized as 2 ??????
if (preset_count == 25)
{
preset_count = 0;
// preset_3s_buff = 3;
}
if (preset_count == 1)
preset_count = 2;
preset_buff = preset_count;
}
if (preset_count < 10)
{
led_disp.led_3.byte = seg_led_table[preset_count];
led_disp.led_4.byte = seg_led_table[0];
}
if ((preset_count >= 10)&&(preset_count < 20))
{
led_disp.led_3.byte = seg_led_table[preset_count-10];
led_disp.led_4.byte = seg_led_table[0x01];
}
if (preset_count >= 20)
{
led_disp.led_3.byte = seg_led_table[preset_count-20];
led_disp.led_4.byte = seg_led_table[0x02];
}
led_flash_buff3 = led_disp.led_3.byte;
led_flash_buff4 = led_disp.led_4.byte;
// }
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -