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

📄 key_prc.bak

📁 日本FAMILY按摩椅W-1用的配套操作器程序。带VFD显示
💻 BAK
📖 第 1 页 / 共 5 页
字号:
/****************************************************************/
/*																*/
/*	Massage Machine Controler System							*/
/*																*/
/****************************************************************/
/*	key process		 											*/
/****************************************************************/
#pragma		nop
#pragma		sfr
#pragma		ei
#pragma		di
#define		loop()		while( 1 )
#define     KEY_STOP    0x2d 
#define     CONTROLLER_TEST_CODE 0x38
#define     PACK_CODE            0x39

#define     TEMP_TIME 5

typedef struct{
               unsigned char time;
               unsigned char cmd_data;
               unsigned char *pt;
               
               }TEST;

#include	"tmr.h"
#include	"key_hl.h"
#include	"sound.h"
#include	"hsio.h"
#include	"cmd.h"
#include	"mode.h"
#include	"flag.h"
//#include"slcd.h"
#include	"dlcd.h"
#include	"disp.h"
#include	"trm.h"
//#include	"light.h"
#include	"text.h"					
#include    "iconprc.h"	
#include    "vfd.h"	
#include    "test.h"	
extern void Bright_all_vfd(void);
void	Key_prc( void )  ;         //date:2003-10-29
void	Kp_power( void ) ;         //date:2003-10-29
void	Kp_ft_up( void ) ;         //date:2003-10-29
void	Kp_ft_dn( void ) ;         //date:2003-10-29
void    Kp_leg_up(void)  ;         //date:2003-10-29
void    Kp_leg_dn(void)  ;         //date:2003-10-29
void	Kp_rcl_up( void ) ;        //date:2003-10-29
void	Kp_rcl_dn( void ) ;        //date:2003-10-29
void	Kp_sp_up( void ) ;         //date:2003-10-29
void	Kp_sp_dn( void ) ;         //date:2003-10-29
void	Kp_ac1( void ) ;           //date:2003-10-29
void	Kp_ac2( void ) ;           //date:2003-10-29
void	Kp_ac3( void ) ;           //date:2003-10-29
void	Kp_ac4( void ) ;           //date:2003-10-29
void	Kp_ac5( void ) ;           //date:2003-10-29
void	Kp_ac6( void ) ;           //date:2003-10-29
void	Kp_ac7( void ) ;           //date:2003-10-29
void	Kp_ac8( void ) ;           //date:2003-10-29
void	Kp_back_vib_cut( void ) ;  //date:2003-10-29
void    Kp_hand_vib_cut(void) ;    //date:2003-10-29
void	Kp_mm_mm1( void ) ;        //date:2003-10-29
void	Kp_mm_mm2( void ) ;        //date:2003-10-29
void	Kp_mm_mm3( void ) ;        //date:2003-10-29
void	Kp_mm_tt1( void ) ;        //date:2003-10-29
void	Kp_mm_tt2( void ) ;        //date:2003-10-29
void	Kp_mm_mt( void )  ;        //date:2003-10-29
void	Kp_mm_st1( void ) ;        //date:2003-10-29
void	Kp_mm_st2( void ) ;        //date:2003-10-29
void	Kp_mr_br( void ) ;         //date:2003-10-29
void	Kp_mr_pr( void ) ;         //date:2003-10-29
void	Kp_yn_up( void ) ;         //date:2003-10-29
void	Kp_yn_dn( void ) ;         //date:2003-10-29
void	Kp_spd_up( void ) ;        //date:2003-10-29
void	Kp_spd_dn( void ) ;        //date:2003-10-29
void	Kp_nar( void ) ;           //date:2003-10-29
void	Kp_mid( void ) ;           //date:2003-10-29
void	Kp_wid( void ) ;           //date:2003-10-29
//void	Kp_heater( void ) ;
void	Kp_mb( void ) ;            //date:2003-10-29
void	Kp_mh( void ) ;            //date:2003-10-29
void    Kp_mlh_air(void) ;         //date:2003-10-29
void    Kp_hand_air(void) ;        //date:2003-10-29
void    Kp_hand_air_ad(void) ;     //date:2003-10-29
void    Kp_hip_air_ad(void) ;      //date:2003-10-29
void    Kp_lleg_air_ad(void) ;     //date:2003-10-29
void	Kp_stop(void) ;            //date:2003-10-29
void	Kp_dummy( void ) ;         //date:2003-10-29
void    Kp_heater(void) ;
void    Kp_controller_test(void);
void    Kp_pack(void) ;
void    Key_vfd_test ( void );
void    Kp_ac9(void);
extern  char  Flash_rom_test ( void ) ;
extern void Sound_test (void ) ;
extern void Sound_prc (void ) ;

void Judge_clrscr(unsigned char step) ;  									
void Kp_auto_test (void) ;
void Judge_sound_out(unsigned char step) ;

void(*const key_tbl[])( void ) = {
            /* P1_KEY -- P8_KEY */
			Kp_dummy ,			/* key No  */                                              
			Kp_heater ,         /* keyvld = 0x01/0x39 P1_KEY */                             
			Kp_dummy ,          /* keyvld = 0x02/0x3a P2_KEY */                             
			Kp_power ,			/* keyvld = 0x03/0x3b P3_KEY */                             
			Kp_mm_mm1 ,	        /* keyvld = 0x04/0x3c P4_KEY */                             
			Kp_mm_st1 ,			/* keyvld = 0x05/0x3d P5_KEY */                             
			Kp_mr_pr ,			/* keyvld = 0x06/0x3e P6_KEY */                             
			Kp_nar ,			/* keyvld = 0x07/0x3f P7_KEY */                             
			Kp_spd_dn ,			/* keyvld = 0x08/0x40 P8_KEY */                             
			/* P9_KEY -- P16_KEY */
			Kp_dummy,           /* keyvld = 0x09             */                             
			Kp_dummy,           /* keyvld = 0x0a             */                            
			Kp_dummy ,          /* keyvld = 0x0b             */                               
			Kp_mm_mm3 ,         /* keyvld = 0x0c/0x44 P12_KEY */                            
			Kp_mm_tt1 ,	        /* keyvld = 0x0d/0x45 P13_KEY */                            
			Kp_mid ,            /* keyvld = 0x0e/0x46 P14_KEY */                            
			Kp_spd_up ,         /* keyvld = 0x0f/0x47 P15_KEY */                            
			Kp_yn_dn,           /* keyvld = 0x10/0x48 P16_KEY */                            
			/* P17_KEY -- P24_KEY */
			Kp_dummy,           /* keyvld = 0x11              */                             
			Kp_leg_up,       	/* keyvld = 0x12 /0x4a P18_KEY */                
			Kp_dummy,           /* keyvld = 0x13              */                             
			Kp_mm_mm2 ,         /* keyvld = 0x14/0x4c  P20_KEY */                
			Kp_mm_st2 ,         /* keyvld = 0x15/0x4d  P21_KEY */                             
			Kp_mr_br,           /* keyvld = 0x16/0x4e  P22_KEY */                             
			Kp_yn_up,           /* keyvld = 0x17/0x4f  P23_KEY */                             
			Kp_dummy,           /* keyvld = 0x18 */
			/* P25_KEY -- P32_KEY */
			Kp_lleg_air_ad,     /* keyvld = 0x19/0x51 P25_KEY */  //leg air strength change                              //
			Kp_leg_dn,         	/* keyvld = 0x1a/0x52 P26_KEY */                             
			Kp_dummy,           /* keyvld = 0x1b              */                              
			Kp_mm_mt,           /* keyvld = 0x1c/0x54 P28_KEY */                              
			Kp_mm_tt2,          /* keyvld = 0x1d/0x55 P29_KEY */                              
			Kp_wid ,            /* keyvld = 0x1e/0x56 P30_KEY */                              
			Kp_dummy,           /* keyvld = 0x1f              */                             
			Kp_mh,              /* keyvld = 0x20/0x58 P32_KEY */ //hang vib                           
			/* P33_KEY -- P38_KEY */
			Kp_hip_air_ad,      /* keyvld = 0x21/0x59 P33_KEY */ //seat air strength change                                  //
			Kp_dummy,           /* keyvld = 0x22              */                                   
			Kp_dummy ,			/* keyvld = 0x23              */                                  
			Kp_rcl_up ,         /* keyvld = 0x24/0x5c P34_KEY */                                  
			Kp_ft_up ,			/* keyvld = 0x25/0x5d P35_KEY */                                  
			Kp_dummy ,          /* keyvld = 0x26      P36_KEY */	                              
			/* P39_KEY--P45_KEY */
			Kp_mlh_air,         /* keyvld = 0x27/0x5f P37_KEY */    //little leg and hip air                                 //
			Kp_mb,              /* keyvld = 0x28/0x60 P38_KEY */  //back vib                               
			Kp_hand_air_ad,     /* keyvld = 0x29/0x61 P39_KEY */  //hand  air strength change                                 //
			Kp_dummy,           /* keyvld = 0x2a         */                                  
			Kp_dummy,           /* keyvld = 0x2b         */                                   
			Kp_rcl_dn,          /* keyvld = 0x2c/0x63 P40_KEY */                                   
			Kp_ft_dn,           /* keyvld = 0x2d/0x64 P41_KEY */                                   
			Kp_dummy,           /* keyvld = 0x2e      P42_KEY */                                   
			Kp_hand_air,        /* keyvld = 0x2f/0x66 P43_KEY */                                    
			Kp_dummy,           /* keyvld = 0x30/0x67 P44_KEY */                                     
			Kp_dummy,           /* keyvld = 0x31              */
			Kp_dummy,           /* keyvld = 0x32              */
			Kp_dummy,           /* keyvld = 0x33              */
			Kp_dummy,           /* keyvld = 0x34              */
			Kp_dummy,           /* keyvld = 0x35              */
			Kp_dummy,           /* keyvld = 0x36              */
			Kp_dummy,           /* keyvld = 0x37              */
			Kp_dummy ,          /* keyvld = 0x38/0x6f         */
			/* DOOR CLOSE /keyvld+=0x38 */
			
			Kp_dummy,           /* keyvld = 0x39/0x01 P1_KEY */
			Kp_dummy,           /* keyvld = 0x3a/0x02 P2_KEY */
			Kp_power ,          /* keyvld = 0x3b/0x03 P3_EKY */                     
			Kp_dummy,           /* keyvld = 0x3c/0x04 P4_KEY */
			Kp_dummy,           /* keyvld = 0x3d/0x05 P5_KEY */
			Kp_dummy,           /* keyvld = 0x3e/0x06 P6_KEY */
			Kp_dummy,           /* keyvld = 0x3f/0x07 P7_KEY */
			Kp_dummy,           /* keyvld = 0x40/0x08 P8_KEY */
			Kp_dummy,           /* keyvld = 0x41/0x09 P9_KEY */
			Kp_dummy,           /* keyvld = 0x42/0x0a P10_KEY */
			Kp_sp_up,           /* keyvld = 0x43/0x0b P11_KEY */                        
			Kp_dummy,           /* keyvld = 0x44/0x0c P12_KEY */                        
			Kp_dummy,           /* keyvld = 0x45/0x0d P13_KEY */                        
			Kp_ac6,             /* keyvld = 0x46/0x0e P14_KEY */                        
			Kp_dummy,           /* keyvld = 0x47/0x0f P15_KEY */                        
			Kp_ac8,             /* keyvld = 0x48/0x10 P16_KEY */                        
			Kp_dummy,           /* keyvld = 0x49/0x11 P17_KEY */                        
			Kp_leg_up,          /* keyvld = 0x4a/0x12 P18_KEY */                        
			Kp_sp_dn,           /* keyvld = 0x4b/0x13 P19_KEY */                        
			Kp_ac1,             /* keyvld = 0x4c/0x14 P20_KEY */                        
			Kp_ac3,             /* keyvld = 0x4d/0x15 P21_KEY */                        
			Kp_ac5,             /* keyvld = 0x4e/0x16 P22_KEY */                        
			Kp_ac7,             /* keyvld = 0x4f/0x17 P23_KEY */                        
			Kp_dummy,           /* keyvld = 0x50/0x18 P24_KEY */                        
			Kp_lleg_air_ad,     /* keyvld = 0x51/0x19 P25_KEY */                        
			Kp_leg_dn,          /* keyvld = 0x52/0x1a P26_KEY */                        
			Kp_dummy,           /* keyvld = 0x53/0x1b P27_KEY */                        
			Kp_ac2,             /* keyvld = 0x54/0x1c P28_KEY */                        
			Kp_ac4 ,            /* keyvld = 0x55/0x1d P29_KEY */                        
			Kp_dummy,           /* keyvld = 0x56/0x1e P30_KEY */                        
			Kp_dummy,           /* keyvld = 0x57/0x1f P31_KEY */                        
			Kp_hand_vib_cut,    /* keyvld = 0x58/0x20 P32_KEY */                        
			Kp_hip_air_ad,      /* keyvld = 0x59/0x21 P33_KEY */                        
			Kp_dummy,           /* keyvld = 0x5a/0x22         */
			Kp_stop,            /* keyvld = 0x5b      P45_KEY */                            
			Kp_rcl_up,          /* keyvld = 0x5c/0x24 P34_KEY */                            
			Kp_ft_up,           /* keyvld = 0x5d/0x25 P35_KEY */                            
			Kp_dummy,          /* keyvld = 0x5e/0x26  P36_KEY */                            
			Kp_dummy,           /* keyvld = 0x5f/0x27 P37_KEY */
			Kp_back_vib_cut,    /* keyvld = 0x60/0x28 P38_KEY */                            
			Kp_hand_air_ad,     /* keyvld = 0x61/0x29 P39_KEY */                            
			Kp_dummy,           /* keyvld = 0x62/0x2a         */
			Kp_dummy,           /* keyvld = 0x63/0x2b         */
			Kp_rcl_dn,          /* keyvld = 0x64/0x2c P40_KEY */                           
			Kp_ft_dn,           /* keyvld = 0x65/0x2d P41_KEY */                            
			Kp_dummy,           /* keyvld = 0x66/0x2e P42_KEY */
			Kp_dummy,           /* keyvld = 0x67/0x2f P43_KEY */
			Kp_dummy,           /* keyvld = 0x68/0x30 P44_KEY */
			Kp_dummy,           /* keyvld = 0x69 */
			Kp_dummy,           /* keyvld = 0x6a */
			Kp_dummy,           /* keyvld = 0x6b */
			Kp_dummy,           /* keyvld = 0x6c */
			Kp_dummy,           /* keyvld = 0x6d */
			Kp_dummy,           /* keyvld = 0x6e */
			Kp_ac9,           /* keyvld =  0x6f */
			Kp_controller_test, /* keyvld = 0x70 */
			Kp_auto_test        /* keyvld = 0x71 */
		
			
} ;
  
/*  unsigned char auto_test_step_time[]={
                                       0,150,120,1,20,20,20,1,20,20,20,TEMP_TIME,1,70,50,50,20,20,20,20,TEMP_TIME,
                                       20,20,
                                       210,20,20,50,50,20,20,30,30,30,30,30,30,50,30,30,30,
                                       50,30,30,30,30,100
                                      }; */
/********************************************************/
/********************************************************/
/*  unsigned char auto_test_step_cmd[]={
                                      0x02,0x0a,0x0c,0x01,0x20,0x51,0x52,0x53,0x21,0x54,0x55,0x56,0x2e,
                                      0x29,0x5c,0x5d,0x5e,0x51,0x52,0x53,0x54,0x2e,0x9c,0x9d,0x9f,0x18,
                                      0x19,0x90,0x91,0x9f,0x80,0x8f,0x81,0x8f,0x96,0x97,0x9f,0x98,0x99,
                                      0x9f,0x82,0x8f,0x83,0x8f,0x84,0x8f,0x85,0x8f,0x86,0x8f,0x87,0x8f,
                                      0xa9,0x88,0x8f,0x89,0x8f,0x8a,0x8f,0xaa,0x8b,0x8f,0x8c,0x8f,
                                      0x8d,0x8f,0xab,0xac,0xdd
                                      };*/
const TEST auto_test_arry[]={
                        {0,0x02,""},{150,0x0a,""},{120,0x0c,""},{0,0x01,""},
                        
                        {0,0x20,""},{20,0x51,"侾俙"},{20,0x52,"侾俛"},{20,0x53,"侾俠"},{0,0x21,""},
                        {20,0x54,"侾俢"},{20,0x55,"侾俤"},{20,0x56,"侾俥"},{0,0x2e,""},
                        
                        {0,0x29,""},{70,0x5c,"俀俙"},{50,0x5d,"俀俛"},{50,0x5e,"俀俠"},
                        
                        {20,0x51,"俁俙"},{20,0x52,"俁俛"},{20,0x53,"俁俠"},{20,0x54,"俁俢"},{0,0x2e,""},
                        
                        {20,0x9c,"係"},{20,0x9d,"係"},{0,0x9f,""},
                        
                        {210,0x18,"俆"},{0,0x19,""},
                        
                        {20,0x90,"俇"},{20,0x91,"俇"},{0,0x9f,""},
                        
                        {50,0x80,"俈"},{0,0x8f,""},
                        
                        {50,0x81,"俉"},{0,0x8f,""},
                        
                        {20,0x96,"俋"},{20,0x97,""},{0,0x9f,""},
                        
                        {20,0x98,""},{20,0x99,""},{0,0x9f,""},
                        
                        {30,0x82,"俋"},{0,0x8f,""},
                        
                        {30,0x83,""},{0,0x8f,""},
                        
                        {30,0x84,""},{0,0x8f,""},
                        
                        {30,0x85,"俋"},{0,0x8f,""},{30,0x86,""},{0,0x8f,""},{30,0x87,""},{0,0x8f,""},
                        
                        {50,0xa9,"侾侽"},
                        
                        {30,0x88,"侾侾"},{0,0x8f,"侾侾"},{30,0x89,"侾侾"},{0,0x8f,"侾侾"},{30,0x8a,"侾侾"},{0,0x8f,""},
                        
                        {50,0xaa,"侾俀"},
                        
                        {30,0x8b,"侾俁"},{0,0x8f,"侾俁"},{30,0x8c,"侾俁"},{0,0x8f,"侾俁"},{30,0x8d,"侾俁"},{0,0x8f,""},
                        
                        {30,0xab,"侾係"},{0,0xac,""},
                        
                        {100,0x0d,""},
                        
                        {0,0x00,""}
                        };
/********************************************************/
/*		Key process main							    */
/*  date:2003-10-29                                     */
/********************************************************/
void	Key_prc( void )
{
	unsigned char str_cmd;									
	str_cmd = cmd_dt[1];									
	cmd_dt[0] = CD_STX ;									/*  start code    */
	cmd_dt[1] = CD_DUMMY ;                                  /*  CD_DUMMY 0xf0 */
	if((ac_mode == 9)&&(old_ac_mode != 9)&&(POWER_F== 1))
	{
	   KEYREQF = ON ;
	   keyvld = 0x6f;                                       /* ac9 */
	}
	if(COMERR_F == OFF)                                    /* communication is right */
	{	
	    if(com_step == 0)
	       KEYREQF = OFF ;		
		else if(receive_err >= 1)    //接收出现错误需重发信息
		
			cmd_dt[1] = str_cmd;
  		
//		if(( KEYREQF == ON )&&(err_no == 0))               //err_no !=0 mask key
		else if(KEYREQF == ON)                                  //err_no != 0 ,enable key
		{
			
			KEYREQF = OFF ;
			if((stop_step == 0)
				|| ((stop_step == 1) && (keyvld == KEY_STOP))
				|| ((stop_step == 2) && (keyvld == KEY_STOP))
				|| ((stop_step == 3) && ((keyvld == KEY_POWER) || (keyvld == KEY_POWER2))))
					key_tbl[keyvld]( ) ;	
			
							
		}
/*   judge  clear screen or dont clear screen */
		if((command_data != cmd_dt[1])&&(KREPTF != 1)) 
		{    
			if(ac_mode != 9)   
		     	   command_data = cmd_dt[1] ;
		    else if((ac_mode==9)&&(old_ac_mode == 9))
		           command_data = CD_DUMMY;	
		}	   
		else                           //REPEAT KEY NO CLEAR SCREEN
		    command_data = CD_DUMMY ;
		
		if( (POWER_F == ON) && (sb_tmr_h == 0) && (cmd_dt[1] == CD_DUMMY) )   //stanby time up,close 
		                                                      
			cmd_dt[1] = CD_PW_OFF ;
/* under couse mode, when shoulder is checking, masked leg_up key and leg_dn key 	*/		
		if((ac_mode != 0)&&(yn_mode < 3)&&((cmd_dt[1] == CD_LEG_UP)||(cmd_dt[1] == CD_LEG_DN)))
		    cmd_dt[1] = CD_DUMMY ;          
		    
		cmd_dt[2] = cmd_dt[1] ^ 0xff ;
		Hputs( (char *) &cmd_dt , sizeof(cmd_dt) ) ;     /* send cmd_dt code */
	}
}


/********************************************************/
/*	POWER Key process									*/
/*  date:2003-10-29                                     */
/********************************************************/
void	Kp_power( void )
{

	if( stp_mode == MD_STP_NULL)       //0
	{
		stp_mode = MD_HOME ;            //define MD_HOME (unsigned char)1
		ac_mode = MD_AC_NULL ;
		mm_mode = MD_MM_NULL ;
		mr_mode = MD_MR_NULL ;
		mb_mode = MD_MB_NULL ;         /* back vibrator mode */
		mh_mode = MD_MH_NULL ;         /* hand vibrator mode */
		hand_ma_mode = MD_MARM_NULL ;
		leg_hip_ma_mode = MD_MLH_NULL ;		
		mn_width = MD_MID ;            //define MD_MID (unsigned char)2
		mn_speed = MD_SPD4 ;           //4
		mn_strength = MD_NORMAL ;      //2
		sts_flag1 = 0 ;
		trm_flag = 0 ;
		
		cmd_over = 0 ;
		if(stop_step == 3)
		
		{
			stop_step = 2;
//			off_tmr = OFFTMR;          //10
		}
		
		if(( POWER_F == OFF ) && (stop_step == 0))
		{
			UBD_F = ON ;
			LBD_F = ON ;
			BVIB_F = ON ;
			POWER_F = ON ;			    /* power on */
			cmd_dt[1] = CD_PW_ON ;      //define cd_pw_on 0x1
	  		Snd_out(START_SOUND) ;    
//			play_sound_no = PLAY_SOUND_START ;
			Tsb_set(TM5M);
			
		}
		else
		{
			UBD_F = ON ;
			LBD_F = ON ;
			BVIB_F = ON ;
			POWER_F = OFF ;						/* power off */
			cmd_dt[1] = CD_PW_OFF ;
			br_pr_prc_flag = 0 ;                   // CLEAR br pr finger check  flag
	  		Snd_out(KEY_SOUND) ;  
		}
		
	}
}


/********************************************************/
/*	FooTrest UP Key process								*/
/*  date:2003-10-29                                     */
/********************************************************/
void	Kp_ft_up( void )
{

	KRPREQF = ON ;
	kreptmr = TM100MS ;							/* 100ms */
	cmd_dt[1] = CD_FT_UP ;
	if( KREPTF == OFF )
	{
		Snd_out(KEY_SOUND) ;
	}
}

/********************************************************/
/*     leg side rise process                            */
/*   date: 2003-10-29                                   */
/********************************************************/
void    Kp_leg_up(void)
{
    if((POWER_F == ON)&&(stp_mode == MD_STP_NULL))
	{
		KRPREQF = ON ;

⌨️ 快捷键说明

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