⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wash.c

📁 电表解决方案概要power_meter_r8c2g_source_code
💻 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 + -