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

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

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

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

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

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

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

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

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

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

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

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

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

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

if(!key)
{
  if(!flag)  { led=!led;  flag=1;  }
}
else  flag=0;
这样按键反应速度最快了,
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个