魔改UT33D万用表--锂电供电+自动休眠+摇晃唤醒+背光控制(3)
时间:2017-07-09 15:37来源:数码之家 作者:2545889167 点击:
次
P3M0=0xfd;//高阻 hold_ctrl=0; Delay_ms(10); //WKTCL = 49; //488us*(49+1) = 24.4ms //WKTCH = 0x80; //开掉电定时器 INT_CLKO |= 0x40;//开中断4 EA = 1; EX1 = 1;//开中断1,震动开关 IT1 = 1;//仅下降沿 EX0 =
P3M0&=0xfd;//高阻
hold_ctrl=0;
Delay_ms(10);
//WKTCL = 49; //488us*(49+1) = 24.4ms
//WKTCH = 0x80; //开掉电定时器
INT_CLKO |= 0x40;//开中断4
EA = 1;
EX1 = 1;//开中断1,震动开关
IT1 = 1;//仅下降沿
EX0 = 1;//开中断0,点动开关
IT0 = 1;//仅下降沿
while(1)
{
if(light_key_hold_time)
{
WKTCL = 0x09; //488us*(9+1) = 4.8ms
WKTCH = 0x80; //开掉电定时器 每隔4.8ms检测一次按键。检测之间掉电休眠
light_key_hold_time++;
if(light_key_hold_time==65535)light_key_hold_time=101;
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)//抬键
{
(责任编辑:admin) |
织梦二维码生成器
------分隔线----------------------------