魔改UT33D万用表--锂电供电+自动休眠+摇晃唤醒+背光控制(3)
时间:2017-07-22 22:02来源:数码之家 作者:在线2545889167 点击:
次
if(light_key_hold_time80system_on==0)//表关的时候,按一下不会触发hold,而是开机//后期增大此时间,意味着,长按才能开表,在休眠下 { power_ctrl=1;//开表 power_on=power_on_time; system_on=system_on_time;
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) |
织梦二维码生成器
------分隔线----------------------------