51单片机如何实现按键的长按与短按功能,尝试过很多方法都不行,请高手多赐教,多谢了(想是简单,做是难)

 我来答
zk5437
推荐于2017-08-24 · TA获得超过201个赞
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:218万
展开全部
这个真心不难,就是简单的c语言判定就返慎行了,《C程序设计语言》,实在看不了就看谭总写的那本c语言。给你写过伪代码,
if(key=ReadKey())//读取按拆世余键,判断有无按键按下去,没按键按下,这里返回0值是不进入这个函数的
{
delay(x);//延时一段时间,写过循环就行了
if(!ReadKey())//在次读取按键值,实际上按下去按键是低电平(原理图一般都是这样做的)
{
return 已旅滚经松手了( 这里是高电平了返回0了)
石狮蔡刀
2012-05-11 · TA获得超过192个赞
知道答主
回答量:199
采纳率:0%
帮助的人:173万
展开全部
设置一定时器,比如定时0.5s加一,再设置一个标志位,当加数达到一个标准值者虚如时,定时器定时改为更短时间。
关键是设置定时器,首启标志位,在中端程序检验按键的电位。
试过没誉颂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jhlwq
2012-05-11 · TA获得超过411个赞
知道小有建树答主
回答量:1048
采纳率:0%
帮助的人:405万
展开全部
给你个思路,按下仿尺没以后进入一个循环备纳,再定一个变量短按的时候是1如果按的时间久了就让变0这样判断这个变量就能判断它的1和0就知道是长按还是段困老按
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友84be164ada
2017-08-24 · TA获得超过574个赞
知道小有建树答主
回答量:652
采纳率:57%
帮助的人:242万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式