切换到宽版
  • 9596阅读
  • 19回复

[C51]按键的20ms消抖,你们是用硬件定时器还是用软件延时? [复制链接]

上一主题 下一主题
离线旧宅毛毛

发帖
655
M币
663
专家
3
粉丝
65
只看该作者 10楼 发表于: 2016-10-08
为什么不用硬件电路消抖
离线lxa0

发帖
1128
M币
352
专家
10
粉丝
44
只看该作者 11楼 发表于: 01-13
我都是用软件解决~
离线smzj10315655

发帖
2089
M币
1591
专家
0
粉丝
19
只看该作者 12楼 发表于: 01-14
网上还有一个超级简单的按键处理程序,核心语句只有三条,可以判断长按,和点按
离线likun1234567

发帖
133
M币
288
专家
1
粉丝
2
只看该作者 13楼 发表于: 01-14
我是加104,软件的话,我一般用定时器中断看,轮询等待太浪费资源了什么都干不了
离线liang118038

发帖
76
M币
621
专家
0
粉丝
4
只看该作者 14楼 发表于: 01-14
用中断浪费硬件资源,用延时浪费时间,一般用状态机直接计数搞定!
离线liang118038

发帖
76
M币
621
专家
0
粉丝
4
只看该作者 15楼 发表于: 01-14
用中断浪费硬件资源,用延时浪费时间,一般用状态机直接计数搞定!
离线liang118038

发帖
76
M币
621
专家
0
粉丝
4
只看该作者 16楼 发表于: 01-15
网络抽筋了,居然重发了这么多遍
[ 此帖被liang118038在2018-01-15 20:43重新编辑 ]
离线dianziguan52

发帖
1811
M币
3318
专家
2
粉丝
47
只看该作者 17楼 发表于: 01-15
回 桃源客 的帖子
桃源客:分时复用的,用一个定时器就可以所有子程序函数共用。我喜欢套用EFAN论坛中一个吴坚鸿大神的读键函数,写得真的很好!看似复杂,其实套用很简单。应用请注明出处。
#include "REG52.H"  
  
....... (2016-10-07 15:43) 回 桃源客 的帖子

差不多就是这个意思。
离线springvirus

发帖
374
M币
849
专家
3
粉丝
11
只看该作者 18楼 发表于: 02-12
通常的做法是10ms的定时器溢出时间+状态机完成  按键扫描
离线mckk520

发帖
112
M币
1336
专家
8
粉丝
16
只看该作者 19楼 发表于: 02-12
入只要轻触开关功能不要长按什么的,
用标志位就可以了,

if(!key)
{
  if(!flag)  { led=!led;  flag=1;  }
}
else  flag=0;
这样按键反应速度最快了,