📄 operation_a.i
字号:
extern signed char t1_switch_3s_buff;
extern unsigned char test_1_3s_buff;
extern unsigned char buzz_buff;
extern unsigned char t1_end_3s_buff;
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 check_2s_buff;
extern signed char kaiji_3s_buff;
extern signed char inlet_10s_buff;
extern signed int inlet_20m_buff;
extern signed char inlet_2m_buff;
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 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 spin_balance_time_buff;
extern signed char inertial_30s_buff;
extern signed char break_5s_buff;
extern unsigned char output_buff;
extern unsigned char save_output_buff;
extern unsigned char machine_type;
extern unsigned char err_buff;
extern signed int 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 save_lid_status;
extern unsigned char manual_process_buff;
extern unsigned char ac_frequency;
extern signed char mesure_time_buff;
extern unsigned char frequency_tmp;
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 unsigned char program_left_time;
extern signed char buzz_24ms_buff;
extern signed char buzz_15m_buff;
extern signed char buzz_500ms_buff;
extern signed char buzz_time;
extern unsigned char unbalance_count;
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[18][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 Standard_Time_Table[21];
extern const unsigned char Memo_Time_Table[25];
extern const unsigned char Strong_Time_Table[23];
extern const unsigned char Silk_Time_Table[21];
extern const unsigned char Soft_Time_Table[33];
extern const unsigned char Child_Time_Table[33];
extern const unsigned char Wool_Time_Table[25];
extern const unsigned char Speedy_Time_Table[14];
extern const unsigned char Fastest_Time_Table[16];
extern const unsigned char TubeDry_Time_Table[7];
extern const unsigned char Single_Wash_Time_Table[];
extern const unsigned char Rinse_Time_Table[];
extern const unsigned char Single_Spin_Time_Table[];
extern const unsigned char Woven_Time_Table[33];
extern const unsigned char Maotan_Time_Table[33];
extern const unsigned char Memo_Soak_Time_Table[3][3];
extern const unsigned char Memo_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 Strong_Soak_Time_Table[3];
extern const unsigned char Strong_Wash_Time_Table[3];
extern const unsigned char Soft_Soak_Time;
extern const unsigned char Soft_Wash_Time;
extern const unsigned char Child_Soak_Time;
extern const unsigned char Child_Wash_Time;
extern const unsigned char Wool_Soak_Time;
extern const unsigned char Wool_Wash_Time;
extern const unsigned char Silk_Wash_Time;
extern const unsigned char Speedy_Wash_Time;
extern const unsigned char seg_led_table[];
extern const unsigned char OPT_Table[];
extern const unsigned char Left_time_Colum_Table[];
#line 4 "D:/Projects/Haier/General Washer/workspace/General_Washer/General_Washer/src/operation_a.c"
#line 1 "D:/Projects/Haier/General Washer/workspace/General_Washer/General_Washer/src/disp_definel.h"
extern void cpu_init(void);
extern void sfr_ref(void);
extern void sfr_init(void);
extern void ram_init(void);
extern void disp_key_power(void);
extern void disp_key_start(void);
extern void disp_key_setup(void);
extern void disp_key_confirm(void);
extern void disp_key_function(void);
extern void disp_key_program(void);
extern void disp_key_water(void);
extern void key_scan(void);
extern void key_judge(void);
extern void menu_display(void);
extern void display_status_judge (void);
extern void process_flash(unsigned char, signed char, signed char, unsigned char, unsigned char, unsigned char);
extern void lcd_flash(unsigned char, unsigned char, unsigned char, unsigned char far *, unsigned char far *);
extern void menu_page_shift(unsigned char, unsigned char, unsigned char);
extern unsigned char power_down_byte;
union lcd_byte_def{
unsigned char lcd_byte;
struct{
unsigned char lb0:1;
unsigned char lb1:1;
unsigned char lb2:1;
unsigned char lb3:1;
unsigned char lb4:1;
unsigned char lb5:1;
unsigned char lb6:1;
unsigned char lb7:1;
}lcd_bit;
};
extern union lcd_byte_def Lcd_Byte_0;
extern union lcd_byte_def Lcd_Byte_1;
extern union lcd_byte_def Lcd_Byte_2;
typedef union flag_word_def{
unsigned int f_word;
struct{
unsigned char fb0:1;
unsigned char fb1:1;
unsigned char fb2:1;
unsigned char fb3:1;
unsigned char fb4:1;
unsigned char fb5:1;
unsigned char fb6:1;
unsigned char fb7:1;
unsigned char fb8:1;
unsigned char fb9_15:7;
}f_bit;
}Word_Flag;
extern Word_Flag first_key_press;
extern Word_Flag confirm_key_press;
extern Word_Flag once_set_key_press;
extern Word_Flag display_flag_1;
extern Word_Flag process_flag_1;
extern Word_Flag process_flag_2;
typedef union flag_byte_def{
unsigned int f_byte;
struct{
unsigned char fb0:1;
unsigned char fb1:1;
unsigned char fb2:1;
unsigned char fb3:1;
unsigned char fb4:1;
unsigned char fb5:1;
unsigned char fb6:1;
unsigned char fb7:1;
}f_bit;
}Byte_Flag;
extern Byte_Flag key_flag_1;
extern Byte_Flag key_flag_2;
extern Byte_Flag operation_flag_1;
extern Byte_Flag operation_flag_2;
extern Byte_Flag operation_flag_3;
extern Byte_Flag operation_flag_4;
extern Byte_Flag operation_flag_5;
extern Byte_Flag save_water_flag_1;
extern Byte_Flag test1_flag_1;
extern Byte_Flag test1_key_flag;
extern Byte_Flag test2_key_flag;
extern Byte_Flag test3_key_flag;
extern Byte_Flag test4_key_flag;
extern Byte_Flag test5_key_flag;
extern Byte_Flag buzz_flag_1;
extern signed char epprom_4ms_buff;
extern unsigned char key_4ms_buff;
extern unsigned char Tflash;
extern unsigned char Pflash;
extern signed char scan_buff;
extern unsigned char scan_count;
extern unsigned char flash_flag;
extern unsigned char flash_switch_flag;
extern unsigned char Pflash_switch_flag;
extern signed char confirm_num;
extern signed char set_num;
extern signed char set_num_lev_0;
extern signed char set_num_lev_1;
extern signed char set_num_lev_2;
extern signed char set_num_lev_3;
extern unsigned char menu_level_buff;
extern unsigned char menu_buff_0;
extern unsigned char menu_buff_1;
extern unsigned char menu_buff_2;
extern unsigned char menu_buff_3;
extern unsigned char menu_buff_4;
extern unsigned char menu_buff_5;
extern unsigned char menu_buff_6;
extern unsigned char key_debunce_0;
extern unsigned char key_debunce_1;
extern unsigned char key_buff_0;
extern unsigned char key_buff_1;
extern unsigned int key_buff_2;
extern unsigned char key_buff_3;
extern unsigned char key_buff_4;
extern unsigned int save_key_1;
extern unsigned char save_key_2;
extern unsigned char left_time_buff;
extern unsigned char save_program_buff;
extern unsigned char program_buff_0;
extern unsigned char water_level_buff_0;
extern unsigned char soak_time_buff_0;
extern unsigned char wash_time_buff_0;
extern unsigned char rinse_time_buff_0;
extern unsigned char spin_time_buff_0;
extern unsigned char save_water_num_buff_0;
extern unsigned char winddry_time_buff_0;
extern signed char preset_time_buff_0;
extern unsigned char function_set_buff_0;
extern unsigned char soak_time_buff;
extern unsigned char wash_time_buff;
extern unsigned char rinse_time_buff;
extern unsigned char spin_time_buff;
extern unsigned char save_water_num_buff;
extern unsigned char winddry_time_buff;
extern signed char preset_time_buff;
extern unsigned char function_set_buff;
#line 5 "D:/Projects/Haier/General Washer/workspace/General_Washer/General_Washer/src/operation_a.c"
void power_down(void);
void logic(void)
{
unsigned char i;
run_stream();
if (water_level_buff <= 4)
water_level = 0;
else if ((water_level_buff > 4)&&(water_level_buff < 8))
water_level = 1;
if (water_level_buff >= 8)
water_level = 2;
if (save_water_flag_1.f_bit.fb1 == 1)
status_buff = 0x03 ;
if (process_flag_2.f_bit.fb5 == 1)
status_buff = 0x03 ;
if ((status_buff == 0x04 )&&(test1_flag_1.f_bit.fb1 == 1))
{
run_1s_buff = 0;
test1_flag_1.f_bit.fb1 = 0;
}
else if ((status_buff == 0x04 )&&(test1_flag_1.f_bit.fb0 == 1))
{
run_1s_buff = 0;
test1_key_flag.f_bit.fb3 = 0;
}
else if ((status_buff == 0x04 )&&(test1_flag_1.f_bit.fb2 == 1))
{
run_1s_buff = 0;
test1_key_flag.f_bit.fb3 = 0;
}
if (run_1s_buff == 0)
{
run_1s_buff = 1;
if (status_buff == 0x00 )
{
output_buff = 0x00;
if ((operation_flag_1.f_bit.fb5 == 1)&&(operation_flag_2.f_bit.fb1 == 1))
{
demo_judge();
status_buff = 0x01 ;
kaiji_3s_buff = 3;
}
return;
}
if (status_buff == 0x03 )
{
output_buff = 0x00;
display_flag_1.f_bit.fb6 = 0;
display_flag_1.f_bit.fb7 = 1;
if (save_water_flag_1.f_bit.fb1 == 1)
save_water();
if (save_water_flag_1.f_bit.fb3 == 1)
{
status_buff = 0x02 ;
save_water_flag_1.f_bit.fb3 = 0;
}
return;
}
if (status_buff == 0x01 )
{
output_buff |= 0x40 ;
if (operation_flag_1.f_bit.fb0 == 1)
{
operation_flag_1.f_bit.fb0 = 0;
water_level_buff = 6;
operation_buff = 0x00;
}
if (status_5m_buff == 0)
{
status_buff = 0x00 ;
status_5m_buff = 5;
p3_addr.bit.b7 = 1;
}
if(operation_flag_1.f_bit.fb6 == 1)
{
display_flag_1.f_bit.fb6 = 1;
display_flag_1.f_bit.fb7 = 0;
output_buff = save_output_buff;
run_1s_buff = 0;
status_buff = 0x02 ;
set_num = 0;
check_2s_buff = 0;
confirm_num = 0;
menu_level_buff = 0x04 ;
key_flag_1.f_bit.fb0 = 0;
key_flag_1.f_bit.fb1 = 0;
key_flag_1.f_bit.fb2 = 0;
Pflash = 0;
Tflash = 0;
Pflash_switch_flag = 0x00;
display_flag_1.f_bit.fb0 = 0;
}
return;
}
if (status_buff == 0x02 )
{
output_buff |= 0x40 ;
display_flag_1.f_bit.fb6 = 1;
display_flag_1.f_bit.fb7 = 0;
operation();
}
if (status_buff == 0x04 )
{
if (test_buff == 0x10 )
test_no_water();
if (test_buff == 0x11 )
test_production();
if (test_buff == 0x12 )
test_cycle();
if (test_buff == 0x13 )
test_interm_spin();
if (test_buff == 0x14 )
test_weight();
}
if (status_buff == 0x05 )
{
output_buff = 0x00;
if (preset_time_buff == 0)
{
display_flag_1.f_bit.fb8 = 0;
status_buff = 0x02 ;
return;
}
if (operation_flag_2.f_bit.fb4 == 0)
{
process_flag_1.f_bit.fb0 = 0;
process_flag_1.f_bit.fb1 = 0;
}
if (operation_flag_2.f_bit.fb4 == 1)
{
process_flag_1.f_bit.fb0 = 1;
if (preset_5s_buff == 0)
{
operation_flag_2.f_bit.fb4 = 0;
process_flag_1.f_bit.fb2 = 1;
return;
}
}
}
else
return;
}
}
void operation(void)
{
unsigned char i;
unsigned char j;
switch (program_buff)
{
case 0x00 :
if (ac_frequency == 50)
stream_table_row = 0;
else if (ac_frequency == 60)
stream_table_row = 1;
ext_stream_table_row = 0;
if (operation_flag_4.f_bit.fb1 == 1)
{
main_soak_time = Memo_Soak_Time_Table[water_level][texture_buff];
main_wash_time = Memo_Wash_Time_Table[water_level][texture_buff];
}
else if (operation_flag_4.f_bit.fb1 != 1)
{
main_soak_time = Memo_Soak_Time_Table[water_level][1];
main_wash_time = Memo_Wash_Time_Table[water_level][1];
}
if (soak_time_buff != 0)
main_soak_time = soak_time_buff * 10;
if (wash_time_buff != 12)
main_wash_time = wash_time_buff;
memo_program();
if (process_left_time != 0)
program_left_time = program_time(Memo_Time_Table, Left_time_Colum_Table[program_buff]);
break;
case 0x01 :
if (ac_frequency == 50)
stream_table_row = 2;
else if (ac_frequency == 60)
stream_table_row = 3;
ext_stream_table_row = 0;
main_soak_time = Strong_Soak_Time_Table[water_level];
main_wash_time = Strong_Wash_Time_Table[water_level];
if (soak_time_buff != 0)
main_soak_time = soak_time_buff * 10;
if (wash_time_buff != 12)
main_wash_time = wash_time_buff;
strong_program();
if (process_left_time != 0)
program_left_time = program_time(Strong_Time_Table, Left_time_Colum_Table[program_buff]);
break;
case 0x02 :
if (ac_frequency == 50)
stream_table_row = 4;
else if (ac_frequency == 60)
stream_table_row = 5;
ext_stream_table_row = 1;
main_soak_time = Soft_Soak_Time;
main_wash_time = Soft_Wash_Time;
if (soak_time_buff != 0)
main_soak_time = soak_time_buff * 10;
if (wash_time_buff != 12)
main_wash_time = wash_time_buff;
soft_wash_program();
if (process_left_time != 0)
program_left_time = program_time(Soft_Time_Table, Left_time_Colum_Table[program_buff]);
break;
case 0x03 :
if (ac_frequency == 50)
stream_table_row = 14;
else if (ac_frequency == 60)
stream_table_row = 15;
ext_stream_table_row = 1;
main_wash_time = Speedy_Wash_Time;
speedy_program();
if (process_left_time != 0)
program_left_time = program_time(Speedy_Time_Table, Left_time_Colum_Table[program_buff]);
break;
case 0x04 :
if (ac_frequency == 50)
stream_table_row = 8;
else if (ac_frequency == 60)
stream_table_row = 9;
ext_stream_table_row = 0;
main_soak_time = Standard_Soak_Time_Table[water_level][1];
main_wash_time = Standard_Soak_Time_Table[water_level][1];
if (soak_time_buff != 0)
main_soak_time = soak_time_buff * 10;
if (wash_time_buff != 12)
main_wash_time = wash_time_buff;
standard_program();
if (process_left_time != 0)
program_left_time = program_time(Standard_Time_Table, Left_time_Colum_Table[program_buff]);
break;
case 0x05 :
if (ac_frequency == 50)
stream_table_row = 10;
else if (ac_frequency == 60)
stream_table_row = 11;
ext_stream_table_row = 0;
table_rom_number = j;
main_soak_time = Child_Soak_Time;
main_wash_time = Child_Wash_Time;
if (soak_time_buff != 0)
main_soak_time = soak_time_buff * 10;
if (wash_time_buff != 12)
main_wash_time = wash_time_buff;
child_program();
if (process_left_time != 0)
program_left_time = program_time(Child_Time_Table, Left_time_Colum_Table[program_buff]);
break;
case 0x06 :
if (ac_frequency == 50)
stream_table_row = 12;
else if (ac_frequency == 60)
stream_table_row = 13;
ext_stream_table_row = 1;
table_rom_number = j;
main_soak_time = Wool_Soak_Time;
main_wash_time = Wool_Wash_Time;
if (soak_time_buff != 0)
main_soak_time = soak_time_buff * 10;
if (wash_time_buff != 12)
main_wash_time = wash_time_buff;
wool_program();
if (process_left_time != 0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -