📄 operation_b.i
字号:
union{
struct{
char b0:1;
char b1:1;
char b2:1;
char b3:1;
char b4:1;
char b5:1;
char b6:1;
char b7:1;
char b8:1;
char b9:1;
char b10:1;
char b11:1;
char b12:1;
char b13:1;
char b14:1;
char b15:1;
char b16:1;
char b17:1;
char b18:1;
char b19:1;
} bit;
struct{
char low;
char mid;
char high;
char nc;
} byte;
unsigned long dword;
} rmad0_addr,rmad1_addr;
union{
struct{
char b0:1;
char b1:1;
char b2:1;
char b3:1;
char b4:1;
char b5:1;
char b6:1;
char b7:1;
char b8:1;
char b9:1;
char b10:1;
char b11:1;
char b12:1;
char b13:1;
char b14:1;
char b15:1;
} bit;
struct{
char low;
char high;
} byte;
unsigned int word;
} u0tb_addr, u1tb_addr, u2tb_addr, ad0_addr;
#line 3 "D:/Projects/Haier/General Washer/workspace/General_Washer/General_Washer/src/operation_b.c"
#line 1 "D:/Projects/Haier/General Washer/workspace/General_Washer/General_Washer/src/main.h"
extern void wash_init(void);
extern void init(void);
extern void key(void);
extern void buzz(void);
extern void buzz_power(void);
extern void led(void);
extern void inertial(void);
extern void key_led(void);
extern void key_logic(void);
extern void key_power(void);
extern void key_start(void);
extern void key_program(void);
extern void key_function(void);
extern void key_pro_fun(void);
extern void key_process(void);
extern void key_water(void);
extern void key_preset(void);
extern void key_preset_normal(void);
extern void key_preset_cont(void);
extern void logic(void);
extern void operation(void);
extern void status(void);
extern void inlet(unsigned char, unsigned char, unsigned char);
extern void soak(unsigned int);
extern void wash(unsigned int);
extern void drain(void);
extern void interm_spin(unsigned int);
extern void spin(unsigned int);
extern void run_stream(void);
extern void stream_moto(unsigned int, unsigned int);
extern void weight_test(void);
extern void texture_test(void);
extern void test_no_water(void);
extern void test_production(void);
extern void test_cycle(void);
extern void test_interm_spin(void);
extern void test_weight(void);
extern void cotton_program(void);
extern void tubedry_program(void);
extern void fiber_program(void);
extern void standard_program(void);
extern void jeans_program(void);
extern void fastest_program(void);
extern void speedy_program(void);
extern void common_program(void);
extern void input(void);
extern void output(void);
extern unsigned char program_time(unsigned char);
extern signed char scan_buff;
extern unsigned char scan_loop;
extern unsigned char scan_count;
extern signed char led_scan_buff;
extern unsigned char base_5ms_buff;
extern unsigned char base_500ms_buff;
extern unsigned char base_1s_buff;
extern unsigned char base_1m_buff;
extern unsigned char base_1h_buff;
extern unsigned char sys_1s_buff;
extern unsigned char sys_10s_buff;
extern unsigned char sys_1m_buff;
extern unsigned char sys_1h_buff;
extern unsigned char water_flash_0s5_buff;
extern unsigned char key_buff;
extern unsigned char status_buff;
extern signed char status_5m_buff;
extern signed char key_2ms_buff;
extern signed char key2_2s_buff;
extern unsigned char pro_led_buff;
extern unsigned char fun_led_buff;
extern unsigned char key2_switch_flag;
extern unsigned char process_key_falg;
extern unsigned char function_key_falg;
extern unsigned char key_preset_flag;
extern unsigned char preset_confirm_flag;
extern unsigned char key_debunce;
extern unsigned char old_key;
extern unsigned char program_count;
extern unsigned char program_buff;
extern unsigned char process_count;
extern unsigned char process_buff;
extern unsigned char function_count;
extern unsigned char function_buff;
extern unsigned char mode_buff_0;
extern unsigned char led_disp2;
extern unsigned char water_count;
extern unsigned char water_buff;
extern unsigned char select_tube_flag;
extern unsigned char select_fastest_flag;
extern unsigned char select_soak_flag;
extern unsigned char run_soak_flag;
extern unsigned char run_wash_flag;
extern unsigned char run_rinse_flag;
extern unsigned char run_spin_flag;
extern unsigned char key_water_flag;
extern unsigned char program_auto_flag;
extern unsigned char weight_finish_flag;
extern unsigned char texture_finish_flag;
extern unsigned char weight_buff;
extern unsigned char texture_buff;
extern unsigned char water_level;
extern signed char flash_500ms_buff;
extern unsigned char flash_off_flag;
extern unsigned char water_flash_flag;
extern unsigned char program_flash_flag;
extern unsigned char preset_flash_flag;
extern unsigned char led_flash_buff;
extern unsigned char led_flash_buff1;
extern unsigned char led_flash_buff3;
extern unsigned char led_flash_buff4;
extern unsigned char preset_count;
extern unsigned char preset_buff;
extern unsigned char display_buff;
extern unsigned char preset_1s5_buff;
extern signed char preset_500ms_buff;
extern unsigned char preset_3s_buff;
extern signed char key3_1s5_buff;
extern signed char preset_5s_buff;
extern unsigned char save_led_buff_0;
extern unsigned char save_led_buff_1;
extern unsigned char save_led_buff_2;
extern unsigned char operation_buff;
extern signed char operation_counter;
extern unsigned char pass_time_counter;
extern unsigned char table_rom_number;
extern unsigned char dependant_wash_time;
extern unsigned char water_full_flag;
extern unsigned char softener_flag;
extern unsigned char drain_empty_flag;
extern unsigned char unbalance_flag;
extern unsigned char stream_finish_flag;
extern unsigned char run_inlet_flag;
extern unsigned char t3_key_flag;
extern unsigned char test3_flag;
extern unsigned char t5_3key_flag;
extern unsigned char test5_flag;
extern unsigned char t5_2key_flag;
extern unsigned char t4_3key_flag;
extern unsigned char test4_flag;
extern unsigned char t4_2key_flag;
extern unsigned char t2_3key_flag;
extern unsigned char test2_flag;
extern unsigned char t2_2key_flag;
extern unsigned char t1_3key_flag;
extern unsigned char test1_flag;
extern unsigned char test_1_mode;
extern unsigned char test_1_start_flag;
extern unsigned char t1_2key_flag;
extern unsigned char test_buff;
extern unsigned char t_mode_switch_flag;
extern unsigned char test_inlet_flag;
extern unsigned char test_softner_flag;
extern unsigned char test2_spin_flag;
extern unsigned char default_flag;
extern signed char run_1s_buff;
extern unsigned char test_start_flag;
extern unsigned char t1_switch_3s_buff;
extern unsigned char test_1_3s_buff;
extern unsigned char all_led_flash_flag;
extern unsigned char buzz_buff;
extern unsigned char t1_end_3s_buff;
extern unsigned char t1_finish_flag;
extern unsigned char pro_flash_flag;
extern unsigned char stream_run;
extern unsigned char stream_stop;
extern unsigned char finish;
extern unsigned char key_release;
extern unsigned char test_2_3s_buff;
extern unsigned char test_2_7s_buff;
extern signed char inlet_10s_buff;
extern signed int inlet_20m_buff;
extern signed char inlet_2m_buff;
extern unsigned char cycle_start_flag;
extern signed int drain_8m_buff;
extern signed char drain_2m_buff;
extern signed char drain_60s_buff;
extern signed char drain_10s_buff;
extern signed char drain_20s_buff;
extern unsigned char main_soak_time;
extern unsigned char main_wash_time;
extern unsigned char soak_flash_flag;
extern unsigned char wash_flash_flag;
extern unsigned char rinse_flash_flag;
extern unsigned char spin_flash_flag;
extern signed int soak_10m_buff;
extern signed char soak_20m_buff;
extern signed char soak_30m_buff;
extern signed char soak_1m_buff;
extern signed char soak_2m_buff;
extern unsigned char soak_3m_buff;
extern unsigned char soak_4m_buff;
extern signed int soak_9m_buff;
extern unsigned char soak_1_cycle_buff;
extern unsigned char soak_2_cycle_buff;
extern unsigned char soak_3_cycle_buff;
extern unsigned int run_stream_time;
extern unsigned char balance_time_buff;
extern unsigned char wash_start_flag;
extern unsigned char wash_finish_flag;
extern unsigned char interm_spin_10s_buff;
extern unsigned char interm_spin_5s_buff;
extern unsigned char interm_spin_4s_buff;
extern unsigned char interm_spin_3s_buff;
extern unsigned char interm_spin_time;
extern unsigned char interm_spin_cycle;
extern unsigned char spin_balance_time_buff;
extern signed char inertial_30s_buff;
extern signed char break_5s_buff;
extern unsigned char output_buff;
extern unsigned char machine_type;
extern unsigned char err_buff;
extern unsigned char process_left_time;
extern unsigned char total_run_time;
extern unsigned char total_left_time;
extern unsigned char water_level_buff;
extern unsigned char status_buff;
extern unsigned char lid_open;
extern unsigned char running_process;
extern unsigned char manual_process_buff;
extern unsigned char ac_frequency;
extern unsigned char stream_table_row;
extern unsigned char ext_stream_table_row;
extern unsigned char main_stream_time;
extern unsigned char ext_stream_time;
extern unsigned char mot_cycle_buff;
extern unsigned char stream_buff;
extern signed char stream_100ms_buff;
extern signed char base_100ms_buff;
extern signed char stream_run_time_buff;
extern signed char stream_stop_time_buff;
extern unsigned char stream_start_flag;
extern unsigned char stream_stop_flag;
extern unsigned char pro_default_flag;
extern unsigned char program_left_time;
extern unsigned char key_buzz_flag;
extern signed char key_buzz_time;
extern union byte_def_1 {
volatile unsigned char byte;
struct{
unsigned char b0:1;
unsigned char b1:1;
unsigned char b2:1;
unsigned char b3:1;
unsigned char b4:1;
unsigned char b5:1;
unsigned char b6:1;
unsigned char b7:1;
}bi;
};
extern struct{
union byte_def_1 led_0;
union byte_def_1 led_1;
union byte_def_1 led_2;
union byte_def_1 led_3;
union byte_def_1 led_4;
}led_disp;
extern struct{
union byte_def_1 key_flag;
union byte_def_1 flash;
union byte_def_1 flag_2;
union byte_def_1 flag_3;
union byte_def_1 flag_4;
}flag;
extern struct struct_table{
unsigned int run;
unsigned int stop;
};
extern const struct struct_table Stream_Table_A[10][3];
extern const struct struct_table Stream_Table_B[12][3];
extern const struct struct_table Stream_Table_Ext_A[4][2];
extern const struct struct_table Stream_Table_Ext_B[4][2];
extern const struct struct_table Stream_Table_TEST[3][2];
extern const struct struct_table Balance_Stream_A[2];
extern const struct struct_table Speedy_Stream_A[4];
extern const struct struct_table Fastest_Stream_A[2];
extern const unsigned char Common_Time_Table[6][27];
extern const unsigned char Standard_Time_Table[6][17];
extern const unsigned char Jeans_Time_Table[6][25];
extern const unsigned char Fiber_Time_Table[4][23];
extern const unsigned char Cotton_Time_Table[4][33];
extern const unsigned char Speedy_Time_Table[21];
extern const unsigned char Fastest_Time_Table[16];
extern const unsigned char TubeDry_Time_Table[7];
extern const unsigned char Common_Soak_Time_Table[3][3];
extern const unsigned char Common_Wash_Time_Table[3][3];
extern const unsigned char Standard_Soak_Time_Table[3][3];
extern const unsigned char Standard_Wash_Time_Table[3][3];
extern const unsigned char Jeans_Soak_Time_Table[3];
extern const unsigned char Jeans_Wash_Time_Table[3];
extern const unsigned char Fiber_Soak_Time;
extern const unsigned char Fiber_Wash_Time;
extern const unsigned char Cotton_Soak_Time;
extern const unsigned char Cotton_Wash_Time;
extern const unsigned char seg_led_table[];
#line 4 "D:/Projects/Haier/General Washer/workspace/General_Washer/General_Washer/src/operation_b.c"
void operation(void)
{
unsigned char i;
unsigned char j;
i = operation_buff;
i &= 0xf7;
switch (i)
{
case 0:
j = operation_buff;
j >> 3;
j &= 0x03;
if (j == 1)
{
table_rom_number = 0;
j >> 2;
}
else if (j == 2)
{
table_rom_number = 1;
}
else if (j ==3)
{
table_rom_number = manual_process_buff + 2;
}
common_program();
break;
case 1:
speedy_program();
break;
case 2:
fastest_program();
break;
case 3:
j = operation_buff;
j >> 3;
j &= 0x03;
if (j == 1)
{
table_rom_number = 0;
j >> 2;
}
else if (j == 2)
{
table_rom_number = 1;
}
else if (j ==3)
{
table_rom_number = manual_process_buff + 2;
}
jeans_program();
break;
case 4:
j = operation_buff;
j >> 3;
j &= 0x03;
if (j == 1)
{
table_rom_number = 0;
j >> 2;
}
else if (j == 2)
{
table_rom_number = 1;
}
else if (j ==3)
{
table_rom_number = manual_process_buff + 2;
}
standard_program();
break;
case 5:
j = operation_buff;
j >> 3;
j &= 0x03;
if (j == 1)
{
table_rom_number = 0;
j >> 2;
}
else if (j == 2)
{
table_rom_number = 1;
}
else if (j ==3)
{
table_rom_number = manual_process_buff + 2;
}
fiber_program();
break;
case 6:
j = operation_buff;
j >> 3;
j &= 0x03;
if (j == 1)
{
table_rom_number = 0;
j >> 2;
}
else if (j == 2)
{
table_rom_number = 1;
}
else if (j ==3)
{
table_rom_number = manual_process_buff + 2;
}
cotton_program();
break;
case 7:
tubedry_program();
break;
};
return;
}
void common_program(void)
{
if (Common_Time_Table[table_rom_number][operation_counter])
{
switch (operation_counter)
{
case 0:
case 19: inlet(0, 0, 0xff );
break;
case 6: inlet(0, 0, 0xff );
break;
case 1: soak(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 2:
case 20: wash(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 4:
case 14:
case 22: drain();
break;
case 5:
case 15:
case 23: interm_spin(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 16:
case 24: spin(Common_Time_Table[table_rom_number][operation_counter]);
}
return;
}
else
operation_counter ++;
return;
}
void standard_program(void)
{
if (Standard_Time_Table[table_rom_number][operation_counter])
{
switch (operation_counter)
{
case 0: inlet(0, 0, 0xff );
break;
case 6: inlet(0, 0, 0xff );
break;
case 1: soak(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 2: wash(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 4: drain();
break;
case 5: interm_spin(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 14: spin(Common_Time_Table[table_rom_number][operation_counter]);
}
return;
}
else
operation_counter ++;
return;
}
void jeans_program(void)
{
if (Jeans_Time_Table[table_rom_number][operation_counter])
{
switch (operation_counter)
{
case 0:
case 9:
case 17: inlet(0, 0, 0xff );
break;
case 1: soak(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 2:
case 10:
case 18: wash(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 4:
case 12:
case 20: drain();
break;
case 5:
case 13:
case 21: interm_spin(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 6:
case 14:
case 22: spin(Common_Time_Table[table_rom_number][operation_counter]);
}
return;
}
else
operation_counter ++;
return;
}
void fiber_program(void)
{
if (Fiber_Time_Table[table_rom_number][operation_counter])
{
switch (operation_counter)
{
case 0:
case 9:
case 16: inlet(0, 0, 0xff );
break;
case 1: soak(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 2:
case 10:
case 17: wash(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 4:
case 11:
case 18: drain();
break;
case 5:
case 12:
case 19: interm_spin(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 6:
case 13:
case 20: spin(Common_Time_Table[table_rom_number][operation_counter]);
}
return;
}
else
operation_counter ++;
return;
}
void cotton_program(void)
{
if (Cotton_Time_Table[table_rom_number][operation_counter])
{
switch (operation_counter)
{
case 0:
case 9:
case 17:
case 25: inlet(0, 0, 0xff );
break;
case 1: soak(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 2:
case 10:
case 18:
case 26: wash(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 4:
case 12:
case 20:
case 28: drain();
break;
case 5:
case 13:
case 21:
case 29: interm_spin(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 6:
case 14:
case 22:
case 30: spin(Common_Time_Table[table_rom_number][operation_counter]);
}
return;
}
else
operation_counter ++;
return;
}
void speedy_program(void)
{
if (Speedy_Time_Table[operation_counter])
{
switch (operation_counter)
{
case 0: inlet(0, 0, 0x01 );
break;
case 9: inlet(0, 0, 0x01 );
break;
case 3:
case 4:
case 5: wash(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 7: drain();
break;
case 8: interm_spin(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 16: inertial();
break;
case 18: spin(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 21: buzz();
}
return;
}
else
operation_counter ++;
return;
}
void fastest_program(void)
{
if (Fastest_Time_Table[operation_counter])
{
switch (operation_counter)
{
case 0: inlet(0, 0, 0x02 );
break;
case 7: inlet(0, 0, 0x02 );
break;
case 3: wash(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 5:
case 12: drain();
break;
case 6: interm_spin(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 10: inertial();
break;
case 13: spin(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 16: buzz();
}
return;
}
else
operation_counter ++;
return;
}
void tubedry_program(void)
{
if (TubeDry_Time_Table[operation_counter])
{
switch (operation_counter)
{
case 0:
case 2:
case 4: interm_spin(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 1:
case 3:
case 5: spin(Common_Time_Table[table_rom_number][operation_counter]);
break;
case 6: buzz();
};
return;
}
else
operation_counter ++;
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -