| if(light_key_hold_time>80&&system_on==0)//表关的时候,按一下不会触发hold,而是开机//后期增大此时间,意味着,长按才能开表,在休眠下
			
				            {
			
				                power_ctrl=1;//开表
			
				                power_on=power_on_time;
			
				                system_on=system_on_time;
			
				                light_key_hold_time=0;
			
				                EX1 = 1;
			
				                WKTCL = 0xff;     //488us*(255+1) = 125ms    
			
				                WKTCH = 0x80; //开掉电定时器                  
			
				            }
			
				            if(light_key_hold_time>100)//长按开灯
			
				            {                
			
				                light_time=light_on_time;//灯倒计时
			
				                P3M0|=0x02;
			
				                P3M1&=0xfd;//推挽
			
				                led_ctrl=1;//开灯
			
				            }        
			
				            if(key2==1)//抬键
			
				            {
			
				                if(light_key_hold_time>2&&power_on>0&&light_key_hold_time<100)
			
				                {
			
				                        hold_ctrl=~hold_ctrl;//hold取反        
			
				                }
			
				                if(light_key_hold_time>5)//按键操作使时间归零重新计算,待机回到最长
			
				                {
			
				                    power_ctrl=1;//开表
			
				                    power_on=power_on_time;
			
				                    system_on=system_on_time;
			
				                    EX1 = 1;
			
				                    WKTCL = 0xff;     //488us*(255+1) = 125ms    
			
				                  WKTCH = 0x80; //开掉电定时器  
			
				                }
			
				 
			
				                light_key_hold_time=0;
			
				            }
			
				        }
			
				        else
			
				        {
			
				            if(power_on==0)
			
				            {
			
				                power_ctrl=0;//关表        
			
				                light_time=0;//关灯
			
				                led_ctrl=0;
			
				                P3M1|=0x02;
			
				                P3M0&=0xfd;//高阻
			
				                hold_ctrl=0;            
			
				                if(system_on==0)
			
				                {//彻底休眠// 0.03ua
			
				                    WKTCH = 0;//关定时器
			
				                    EX1 = 0;//关闭震荡中断,晃也不能亮表了,次状态下要开表,长按背光键,或者重新断电重启
			
				                }
			
				                else
			
				                {//关表但是还可以唤醒状态//3-4ua
			
				                    system_on--;
			
				                    WKTCL = 0xff;     //488us*(255+1) = 125ms    
			
				  (责任编辑:admin) |