📄 wash.c
字号:
#include "sfr_r82b.h"
#include "main_define.h"
#include "disp_definel.h"
unsigned char * clear_ram(void);
void key_led(void)
{
;
}
void init(void)
{
;
}
void wash_init(void)
{
BlackLight = 1;
key_4ms_buff = 1;
Tflash = 125;
Pflash = 125;
scan_buff=0x10;
scan_count =0x00;
set_num = 0; /* 设置按键加减次数变量 */
set_num_lev_0 = 0; /* 0 级菜单时加减次数保存变量 */
set_num_lev_1 = 0; /* 1 级菜单时加减次数保存变量 */
set_num_lev_2 = 0; /* 2 级菜单时加减次数保存变量 */
set_num_lev_3 = 0; /* 3 级菜单时加减次数保存变量 */
menu_level_buff = 0x00; /* 菜单级变量 */
menu_buff_0 = 0x00; /* 0 级菜单变量 */
menu_buff_1 = 0x10; /* 1 级菜单 */
menu_buff_2 = 0x20; /* 2 级菜单 */
menu_buff_3 = 0x30; /* 3 级菜单 */
menu_buff_4 = 0x40; /* 4 级菜单 */
menu_buff_5 = 0x50; /* 5 级菜单 */
menu_buff_6 = 0x60; /* 6 级菜单 */
key_buff_0 = 0x00; /* 键缓存 0 */
key_buff_1 = 0x00; /* 键缓存 1 */
key_buff_2 = 0x0000; /* 键缓存 2, 用于和洗衣功能模块接口 */
key_buff_3 = 0x00; /* 键缓存 3 */
key_buff_4 = 0x00; /* 键缓存 4 */
save_key_1 = 0x0000; /* 键值保存变量 1,相当于 old key 变量 */
save_key_2 = 0x00; /* 键值保存变量 2 */
status_buff = 0x00; /* 洗衣机运行状态变量 */
/*--------------------- buffer init -----------------------------*/
flash_flag = 0x00;
flash_switch_flag =0x00;
Pflash_switch_flag = 0x00;
function_set_flag = 0; /* 功能键按下标志 */
program_set_flag = 0; /* 程序键按下标志 */
water_set_flag = 0; /* 水位键按下标志 */
power_flag = 0; /* 电源键按下标志 */
key_press_flag = 0;
run_page3_flag = 0;
menu_level_3_back_flag = 0; /* 3 级菜单返回标志 */
menu_0_flag = 1; /* 当前为 0 级菜单标志 */
num_overflow_flag = 0;
rinse_three_time_flag = 0;
rinse_one_time_flag = 0;
program_start_flag = 0; /* 程序启动标志 */
program_pause_flag = 0; /* 程序暂停标志 */
preset_set_flag = 0;
first_water_flag = 1; /* 这些第一次设定标志在菜单级别更换时要置位,但不是所以级别更换都需要置位 */
first_soak_flag = 1;
first_wash_flag = 1;
first_rinse_flag = 1;
first_spin_flag = 1;
first_save_water_flag = 1;
first_wind_dry_flag = 1;
first_preset_flag = 1;
first_function_flag = 1;
confirm_water_flag = 0;
confirm_soak_flag = 0;
confirm_wash_flag = 0;
confirm_rinse_flag = 0;
confirm_spin_flag = 0;
confirm_save_water_flag = 0;
confirm_wind_dry_flag = 0;
confirm_preset_flag = 0;
confirm_function_flag = 0;
once_set_water_flag = 1;
once_set_soak_flag = 0;
once_set_wash_flag = 1;
once_set_rinse_flag = 1;
once_set_spin_flag = 1;
once_set_save_water_flag = 0;
once_set_wind_dry_flag = 0;
once_set_preset_flag = 1;
once_set_function_flag = 0; //??????????
default_flag = 0;
pro_default_flag = 1;
cycle_start_flag = 0;
stream_start_flag = 0;
stream_stop_flag = 0;
// run_demo_flag = 0;
start_demo_flag = 0;
flag_power = 1;
power_key_flag = 0;
run_water_key_flag = 0;
key_preset_flag = 0;
preset_confirm_flag = 0;
frequency_flag = 0;
balance_inlet_flag = 0;
balance_stream_flag = 0;
water_set_change_flag = 0;
program_set_change_flag = 0;
key2_switch_flag = 0;
recover_flag = 0;
first_count_flag = 1;
first_init_flag = 0;
balance_drain_flag = 0;
start_save_water_flag = 0;
run_save_water_flag = 0;
save_water_once_flag = 0;
release_save_water_flag = 0;
lid_open_close_flag = 0;
water_flash_flag = 0;
program_flash_flag = 0;
preset_flash_flag = 0;
soak_flash_flag = 0;
wash_flash_flag = 0;
rinse_flash_flag = 0;
spin_flash_flag = 0;
pro_flash_flag = 0;
select_tube_flag = 0;
select_fastest_flag = 0; // key logic may need use this part of define
select_soak_flag = 0;
save_water_enable_flag = 0;
tube_dry_enable_flag = 0;
run_inlet_flag = 0;
run_soak_flag = 0;
run_wash_flag = 0;
run_rinse_flag = 0;
run_spin_flag = 0;
run_err_flag = 0;
key_water_flag = 0;
program_auto_flag = 0; //??????????? need check default setting more
weight_finish_flag = 0;
texture_finish_flag = 0;
water_full_flag = 0;
softener_flag = 0;
drain_empty_flag = 0;
unbalance_flag = 0;
test1_flag = 0;
t1_2key_flag = 0;
t1_3key_flag = 0;
test_1_start_flag = 0;
t1_finish_flag = 0;
test2_flag = 0;
t2_2key_flag = 0;
t2_3key_flag = 0;
test2_spin_flag = 0;
test3_flag = 0;
t3_key_flag = 0;
test4_flag = 0;
t4_2key_flag = 0;
t4_3key_flag = 0;
test5_flag = 0;
t5_2key_flag = 0;
t5_3key_flag = 0;
test_start_flag = 0;
t_mode_switch_flag = 0;
test_inlet_flag = 0;
test_softner_flag = 0;
key_buzz_flag = 0;
buzz_flag = 0;
buzz_switch_flag = 0;
//-----------------------------------------------------------------
//-----------------------------------------------------------------
key_debunce_0 = 0;
key_debunce_1 = 0;
left_time_buff = 0; //??????????
program_buff_0 = 0; /* 程序存储变量 0 */
water_level_buff_0 = 6; /* 水位存储变量 0 */
soak_time_buff_0 = 0;
wash_time_buff_0 = 12;
rinse_time_buff_0 = 1;
spin_time_buff_0 = 6;
save_water_num_buff_0 = 0;
winddry_time_buff_0 = 0;
preset_time_buff_0 = 2;
function_set_buff_0 = 0;
program_buff = 0;
water_level_buff = 6; /* 水位存储变量 0 */
soak_time_buff = 0;
wash_time_buff = 12;
rinse_time_buff = 1;
spin_time_buff = 6;
save_water_num_buff = 0;
winddry_time_buff = 0;
preset_time_buff = 2;
function_set_buff = 0;
//-----------------------------------------------------------------
process_buff = Inlet; //???????????????????
function_buff = 0;
water_count = 6;
water_buff = 0;
save_program_buff = 0;
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
buzz_buff = 0;
sys_1s_buff = 0;
sys_10s_buff = 0;
sys_1m_buff = 0;
sys_1h_buff = 0;
run_1s_buff = 0;
status_5m_buff = 5;
preset_3s_buff = 3;
preset_5s_buff = 0;
preset_1s5_buff = 0;
preset_500ms_buff = 0;
key3_1s5_buff = 0;
old_key = 0;
operation_buff = 0;
operation_counter = 0;
pass_time_counter = 0;
table_rom_number = 0;
dependant_wash_time = 0;
output_buff = 0;
save_output_buff = 0;
weight_buff = WEIGHT_2;
texture_buff = COMMON_TXT;
water_level = W_MIDDLE;
key2_2s_buff = 0;
test_1_mode = 0;
test_buff = 0;
t1_switch_3s_buff = 0;
test_1_3s_buff = 0;
t1_end_3s_buff = 0;
test_2_3s_buff = 0;
test_2_7s_buff = 0;
kaiji_3s_buff = 0;
finish = 0;
key_release = 1;
status_buff = STAND_BY;
flag.key_flag.byte = 0x00;
flag.key_flag.bi.b0 = 1;
// flag.key_flag.bi.b1 = 0;
water_level_buff = 6;
inlet_20m_buff = 1200;
inlet_10s_buff = 10;
inlet_2m_buff = 120;
drain_8m_buff = 480;
drain_2m_buff = 120;
drain_60s_buff = 60;
drain_10s_buff = 10;
drain_20s_buff = 20;
soak_1m_buff = 60;
soak_2m_buff = 120;
soak_3m_buff = 180;
soak_4m_buff = 240;
soak_9m_buff = 540;
soak_1_cycle_buff = 0;
soak_2_cycle_buff = 0;
soak_3_cycle_buff = 0;
interm_spin_10s_buff = 10;
interm_spin_5s_buff = 5;
interm_spin_4s_buff = 4;
interm_spin_3s_buff = 3;
run_stream_time = 0;
balance_time_buff = 0;
main_soak_time = 20;
main_wash_time = 12;
wash_start_flag = 0;
wash_finish_flag = 0;
stream_buff = STREAM_STOP;
mot_cycle_buff &= MOT_STOP;
output_buff &= (~CW);
output_buff &= (~CCW);
machine_type = MACHINE_A;
mesure_time_buff = 125;
frequency_tmp = 0;
ac_frequency = 50;
stream_table_row = 0;
ext_stream_table_row = 0;
main_stream_time = 170;
ext_stream_time = 10;
spin_balance_time_buff = 0;
lid_open = 0;
save_lid_status = 1;
err_buff = 0;
process_left_time = 0;
total_run_time = 0;
total_left_time = 0;
manual_process_buff = 0;
program_left_time = 0;
inertial_30s_buff = 30;
break_5s_buff = 5;
buzz_24ms_buff = 0;
buzz_500ms_buff = 5;
confirm_num = 0;
check_2s_buff = 0;
save_water_4hour_buff = 0;
save_water_number = 0;
unbalance_count = 0;
}
/********************************************************************
********************************************************************/
/*
unsigned char * clear_ram(void)
{
unsigned char *pointer;
unsigned char *i;
unsigned char *j;
i = (unsigned char *)0x0040;
j = (unsigned char *)0x043f;
for (pointer = i; pointer <= j; pointer ++)
{
// if (pointer == (unsigned int *)0xff)
// i = (unsigned int *)(i + 0xff);
// if (*pointer)
*pointer = 0x00;
if (pointer == (unsigned char *)0x43f)
break;
}
return pointer;
}
*/
/********************************************************************
need check the operation under different status:
1, stand by mode,
2, initial mode,
3, run mode
4, stop mode
5, test mode
********************************************************************/
/*
void I_Timer1(void) // need change to r8c/interrupt application
{
if (key_2ms_buff > 0)
key_2ms_buff --;
key_led();
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -