标题:
如何编写51单片机长按加时的程序?
[打印本页]
作者:
EVELYN51
时间:
2022-5-22 15:25
标题:
如何编写51单片机长按加时的程序?
设置计时时间时,长按INC键可以持续增加计时时间
作者:
lkc8210
时间:
2022-5-22 17:44
u8 KeyVal = 0;//全局变量,用完清零
void key_Proc()//单键长按,1ms中断内运行
{
static u16 Delay_XD=0; //消抖计数
if(!INC)
{
if(Delay_XD<0xFFFF)Delay_XD++;
if(Delay_XD>=2000) //2000ms
{
KeyVal = 10;
}
}
else //按键抬起
Delay_XD=0; //Delay_XD清0
}
void Key_Proc()//键码处理,1ms中断内运行
{
static u16 Delay=0; //消抖计数
if(KeyVal == 10)
{
KeyVal = 0;
if(Delay++>500)//500ms累加
{
Delay=0;
num++;
}
}else{
Delay = 0;
}
}
复制代码
作者:
君工创
时间:
2022-5-22 20:11
if(INC==0){T++;}
作者:
angmall
时间:
2022-5-22 21:17
论坛有一堆可参考
http://www.51hei.com/bbs/dpj-217350-1.html
作者:
zgrfox110
时间:
2022-5-22 22:33
1ms中断中判断按下就计数,没按下就清零!松手之后判断时长功能,试一下
作者:
STCSTC
时间:
2022-5-22 22:41
就是写按键长按检测程序,检测到按键没有抬起,即为长按,然后变量持续增加,如果连续变化太快,加上延时间隔。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1