51单片机 独立按键按下去 再放开才算按键一次 计算按键次数 程序应该怎么写?
展开全部
追问
具体给个例程看看
追答
#define p_key1 P24//定义P2.4为按键口
#define value_key1 1
#define value_scannum 100 //短 防抖时间设置寄存器
void main(void)
{
unsigned char r_scannum=0;
unsigned char r_key_new=0;
int r_key_count=0; //按键计次
.....//芯片寄存器配置程序
while(1)
{
p_key1=1;
while(p_key1==0) //如果key1按键按下,这里是低电平触发
{
r_scannum++;
if(r_scannum>=value_scannum)
{
r_scannum=0;
r_key_new=value_key1;
break;
}
}
if( r_key_new==value_key1)
{
while(p_key1==1) //如果key1按键释放
{
r_scannum++;
if(r_scannum>=value_scannum)
{
r_key_new=0;
r_key_count++;
break;
}
}
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询