📄 general_washer.i
字号:
extern void _WaitTime0us(void);
extern void _WaitTime1us(void);
extern void _WaitTime2us(void);
extern unsigned char base_4ms_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 lid_open_close_flag;
extern signed char status_5m_buff;
extern signed char save_water_4hour_buff;
extern signed char key2_2s_buff;
extern unsigned char water_set_change_flag;
extern unsigned char program_set_change_flag;
extern unsigned char key2_switch_flag;
extern unsigned char key_preset_flag;
extern unsigned char preset_confirm_flag;
extern unsigned char start_save_water_flag;
extern unsigned char save_water_once_flag;
extern unsigned char release_save_water_flag;
extern unsigned char run_save_water_flag;
extern unsigned char save_water_number;
extern unsigned char run_err_flag;
extern unsigned char old_key;
extern unsigned char program_buff;
extern unsigned char process_buff;
extern unsigned char function_buff;
extern unsigned char save_water_enable_flag;
extern unsigned char tube_dry_enable_flag;
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_inlet_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 unsigned char water_flash_flag;
extern unsigned char program_flash_flag;
extern unsigned char preset_flash_flag;
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 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 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 test2_spin_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 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 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 check_2s_buff;
extern signed char kaiji_3s_buff;
extern unsigned char power_key_flag;
extern unsigned char run_water_key_flag;
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 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 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 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 unsigned char buzz_flag;
extern signed char buzz_24ms_buff;
extern signed char buzz_15m_buff;
extern signed char buzz_switch_flag;
extern signed char buzz_500ms_buff;
extern signed char 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[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 21 "D:/Projects/Haier/General Washer/workspace/General_Washer/General_Washer/General_Washer.c"
unsigned char pro_select;
unsigned char mkg;
unsigned char zht;
unsigned int ad_rst;
unsigned char flag_power;
void main(void)
{
cpu_init();
p3_addr.bit.b7 = 1;
sfr_init();
ram_init();
asm("nop");
Init_0108();
Clr_Screen_0();
Clr_Screen_1();
Clr_Screen_2();
flash_switch_flag =0x00;
wash_init();
process_buff = 0x00 ;
program_left_time = program_time(Memo_Time_Table, Left_time_Colum_Table[program_buff]);
p2_addr.bit.b7 = 0;
asm("nop");
pro_select = p3_addr.bit.b5 ;
mkg = p3_addr.bit.b3 ;
zht = p3_addr.bit.b4 ;
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
while(1)
{
sfr_ref();
ad_rst = ad0_addr.word ;
key_judge();
input();
menu_display();
logic();
output();
alarm();
eeprom_write();
}
}
void sfr_ref(void){
prcr_addr.bit.b2 = 1;
pd0_addr.byte |= 0x3f;
prcr_addr.bit.b2 = 0;
pd1_addr.byte = 0x3f;
pd2_addr.byte = 0x9f;
pd3_addr.byte = 0xc3;
traioc_addr.bit.b2 = 0;
trecr1_addr.bit.b2 = 0;
pd4_addr.byte = 0x27;
pd5_addr.byte = 0xff;
pd6_addr.byte = 0x6f;
pd8_addr.byte = 0xff;
pur0_addr.bit.b4 = 0xff;
pur0_addr.bit.b5 = 0xff;
pur1_addr.bit.b0 = 1;
pur1_addr.bit.b1 = 1;
pur1_addr.bit.b2 = 1;
u0mr_addr.bit.ckdir = 0;
pmr_addr.bit.b4 = 0;
u0mr_addr.bit.smd0 = 0;
pmr_addr.bit.b7 = 0;
ssmr2_addr.bit.b2 = 0;
ssmr2_addr.bit.b0 = 0;
sscrh_addr.bit.b5 = 1;
sser_addr.bit.b4 = 0;
sser_addr.bit.b3 = 1;
adcon2_addr.byte = 0x01;
adcon0_addr.byte = 0x89;
adcon1_addr.byte = 0x20;
asm("nop");
asm("nop");
adcon0_addr.bit.b6 = 1;
prcr_addr.bit.b3 = 1;
vca2_addr.byte = 0x80;
asm("nop");
asm("nop");
vw2c_addr.byte = 0xc2;
vw2c_addr.byte |= 0x01;
prcr_addr.bit.b3 = 0;
pmr_addr.byte = 0x02;
inten_addr.byte = 0x10;
int2ic_addr.byte = 0x12;
}
void sfr_init(void)
{
sfr_ref();
}
void cpu_init(void)
{
asm("FCLR I");
prcr_addr.byte = 1;
cm1_addr.bit.b3 = 1;
cm1_addr.bit.b5 = 1;
cm1_addr.bit.b2 = 1;
cm0_addr.bit.b5 = 0;
cm1_addr.bit.b6 = 0;
cm1_addr.bit.b7 = 0;
cm0_addr.bit.b6 = 0;
asm("nop");
asm("nop");
asm("nop");
asm("nop");
ocd_addr.bit.b2 = 0;
prcr_addr.byte = 0;
tracr_addr.byte = 0;
traioc_addr.byte = 0;
traic_addr.byte = 0x05;
tramr_addr.byte = 0x10;
trapre_addr.byte = 29;
tra_addr.byte = 199;
tracr_addr.byte = 0x03;
trbcr_addr.byte = 0;
trbioc_addr.byte = 0;
trbic_addr.byte = 0x01;
trbmr_addr.byte = 0x10;
trbpre_addr.byte = 19;
trbsc_addr.byte = 249;
trbpr_addr.byte = 249;
trbcr_addr.byte = 0x03;
asm("FSET I");
traioc_addr.bit.b2 = 0;
}
void ram_init(void)
{
key_4ms_buff = 1;
Tflash = 125;
Pflash = 125;
scan_buff=0x10;
scan_count =0x00;
set_num = 0;
set_num_lev_0 = 0;
set_num_lev_1 = 0;
set_num_lev_2 = 0;
set_num_lev_3 = 0;
menu_level_buff = 0x00;
menu_level_3_back_flag = 0;
menu_buff_0 = 0x00;
menu_buff_1 = 0x10;
menu_buff_2 = 0x20;
menu_buff_3 = 0x30;
menu_buff_4 = 0x40;
menu_buff_5 = 0x50;
menu_buff_6 = 0x60;
menu_0_flag = 1;
first_water_flag = 1;
first_wash_flag = 1;
first_rinse_flag = 1;
first_spin_flag = 1;
first_preset_flag =1;
key_buff_0 = 0x00;
key_buff_1 = 0x00;
key_buff_2 = 0x0000;
key_buff_3 = 0x00;
key_buff_4 = 0x00;
save_key_1 = 0x0000;
save_key_2 = 0x00;
status_buff = 0x00;
program_start_flag = 0;
program_pause_flag = 0;
run_page3_flag = 0;
}
void Timer_RA(void)
{
key_scan();
asm ("nop");
if (Tflash >0)
Tflash --;
if ((Pflash >0)&&(check_2s_buff == 0))
Pflash --;
if (key_4ms_buff>0)
key_4ms_buff --;
if (epprom_4ms_buff>0)
epprom_4ms_buff --;
base_4ms_buff ++;
if (buzz_24ms_buff > 0)
{
buzz_24ms_buff --;
p3_addr.bit.b1 = 1;
}
if (buzz_24ms_buff == 0)
{
p3_addr.bit.b1 = 0;
key_buzz_flag = 0;
}
if (base_4ms_buff== 25)
{
base_4ms_buff = 0;
base_100ms_buff ++;
if (buzz_500ms_buff > 0)
buzz_500ms_buff --;
if ((stream_100ms_buff > 0)&&(status_buff == 0x02 ))
stream_100ms_buff --;
if (base_100ms_buff == 5)
{
base_100ms_buff = 0;
base_500ms_buff ++;
if (key3_1s5_buff > 0)
key3_1s5_buff --;
if (preset_500ms_buff > 0)
preset_500ms_buff --;
if (base_500ms_buff == 2)
{
base_500ms_buff = 0;
base_1s_buff ++;
if (base_1s_buff == 60)
{
base_1s_buff = 0;
base_1m_buff ++;
if (base_1m_buff == 60)
{
base_1m_buff = 0;
base_1h_buff ++;
if (base_1h_buff == 24)
base_1h_buff = 0;
if (sys_1h_buff > 0)
sys_1h_buff --;
if (save_water_4hour_buff > 0)
save_water_4hour_buff --;
}
if (status_5m_buff > 0)
status_5m_buff --;
if (sys_1m_buff > 0)
sys_1m_buff--;
}
sys_1s_buff ++;
if (!(base_1s_buff % 10))
{
sys_1s_buff = 0;
sys_10s_buff ++;
if (sys_10s_buff == 6)
sys_10s_buff = 0;
}
if (kaiji_3s_buff >0)
kaiji_3s_buff --;
if (check_2s_buff >0)
check_2s_buff --;
if (run_1s_buff > 0)
run_1s_buff --;
if (key2_2s_buff > 0)
key2_2s_buff--;
if (preset_3s_buff > 0)
preset_3s_buff --;
if (preset_5s_buff > 0)
preset_5s_buff --;
}
}
}
}
void cut_off_power(void)
{
unsigned char *i;
unsigned char *j;
eeprom_write();
if (flag_power == 0)
{
asm("nop");
}
else if (flag_power == 1)
{
asm("nop");
}
}
void INT2(void)
{
;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -