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

📄 lcd_display.i

📁 电表解决方案概要power_meter_r8c2g_source_code
💻 I
📖 第 1 页 / 共 5 页
字号:
extern void menu_page_shift(unsigned char, unsigned char, unsigned char);



 



extern 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;

 


 
 

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 unsigned char run_page3_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_level_3_back_flag;	 

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 menu_0_flag;				 

 
 
 
 
 
 

extern unsigned char function_set_flag;			 
extern unsigned char program_set_flag;				 
extern unsigned char water_set_flag;				 
extern unsigned char power_flag;					 
extern unsigned char key_press_flag;				 

extern unsigned char first_water_flag;			 	
extern unsigned char first_soak_flag;			 
extern unsigned char first_wash_flag;			 
extern unsigned char first_rinse_flag;			 
extern unsigned char first_spin_flag;			 
extern unsigned char first_save_water_flag;			 
extern unsigned char first_wind_dry_flag;			 
extern unsigned char first_preset_flag;			 
extern unsigned char first_function_flag;

extern unsigned char confirm_water_flag;
extern unsigned char confirm_soak_flag;
extern unsigned char confirm_wash_flag;
extern unsigned char confirm_rinse_flag;
extern unsigned char confirm_spin_flag;
extern unsigned char confirm_save_water_flag;
extern unsigned char confirm_wind_dry_flag;
extern unsigned char confirm_preset_flag;
extern unsigned char confirm_function_flag;

extern unsigned char once_set_water_flag;
extern unsigned char once_set_soak_flag;
extern unsigned char once_set_wash_flag;
extern unsigned char once_set_rinse_flag;
extern unsigned char once_set_spin_flag;
extern unsigned char once_set_save_water_flag;
extern unsigned char once_set_wind_dry_flag;
extern unsigned char once_set_preset_flag;
extern unsigned char once_set_function_flag;

extern unsigned char num_overflow_flag;

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 rinse_three_time_flag;
extern unsigned char rinse_one_time_flag;

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 unsigned 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 unsigned char preset_time_buff;
extern unsigned char function_set_buff;


extern unsigned char program_start_flag;		 
extern unsigned char program_pause_flag;		 

extern unsigned char preset_set_flag;





#line 19 "D:/Projects/Haier/General Washer/workspace/General_Washer/General_Washer/src/lcd_display.c"

#line 1 "D:/Projects/Haier/General Washer/workspace/General_Washer/General_Washer/src/main_define.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 alarm(void);
extern	void save_water(void);

extern	void led(void);

extern	void inertial(void);

extern	void key_led(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 memo_program(void);		 
extern	void strong_program(void);
extern	void soft_wash_program(void);
extern	void speedy_program(void);
extern	void standard_program(void);	  
extern	void child_program(void);
extern	void wool_program(void);
extern	void silk_program(void);
extern	void single_wash_program(void);
extern	void rinse_program(void);		 
extern	void single_spin_program(void);
extern	void special_program(void);

 

extern	void	key_buzz(void);              
extern	void	eoc_buzz(void);              
extern	void	err_buzz(void);         
extern	void	buzz_on(unsigned char);      
extern	void	buzz_st(void);  

extern	void    enable(void);                   
extern	void    disable(void);    

 

extern	void input(void);
extern	void output(void);

extern	unsigned char program_time(unsigned char * table_adr, unsigned char table_colum);


extern	void	eeprom_read(void);
extern	void 	eeprom_write(void);

extern	void	i2c_write(unsigned char,unsigned char);
extern	void	i2c_send8bit(unsigned char);

extern	void	i2c_start(void);
extern	void	i2c_stop(void);
  
extern	unsigned char	i2c_ack(void);
extern	unsigned char	i2c_read(unsigned char);
extern	unsigned char	i2c_receive8bit(void);
    
extern	unsigned char dd;

 

 






















 
 
















































 









 





 


	





















 
 
 

 
 
 

























 

 








			









 


























 
















 

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 20 "D:/Projects/Haier/General Washer/workspace/General_Washer/General_Washer/src/lcd_display.c"

 

   











void key_scan(void)
{
  unsigned char i;
  unsigned char j;
  unsigned char k;
	
  if (key_4ms_buff == 0)
   {
	   key_4ms_buff = 1;
	   
	   i = scan_buff;
	   scan_buff = scan_buff >> 1;
	   if (scan_buff == 0 )
	    {
			scan_buff = 0x10;
			scan_count ++;
		}
	
	   p2_addr.byte &=  0xe0;
	   
	   asm("nop");

	   p2_addr.byte |=  i;
	   
	   asm("nop");
  
	   j = p2_addr.byte ;
	   
	   asm("nop");

	   j &= 0x60;
	   
	   j = j << 1;
	   
	   if  (i > 0x02)
	    {
	   		key_buff_0 += j;
	   		key_buff_0 = key_buff_0 >> 2;	
	    }   
	     
	   else if (i == 0x02)
	    {
		   key_buff_0 += j;
 		   key_buff_4 = key_buff_0;
	    }	   	
		
	   else if (i == 0x01)
	    {
		   if (j != 0)
		   key_buff_1 = 0xc0 ;	
		   else 
		   key_buff_1 = 0;
		   	   
		   key_buff_0 = 0x00;
	    }  

	   if ((key_debunce_0 != key_buff_4)||(key_debunce_1 != key_buff_1))
		{
			key_debunce_0 = key_buff_4;
			key_debunce_1 = key_buff_1;		 
			scan_count = 0;
		}
	   else if (scan_count == 2)				 
		{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -