找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2067|回复: 4
收起左侧

单片机按键扫描,怎么捕捉按键电平的下降沿?

[复制链接]
ID:407680 发表于 2020-3-29 20:35 | 显示全部楼层 |阅读模式
8黑币
如题

最佳答案

查看完整内容

1. 弄1个标记位,跟随按键状态变化, 2. 按键变为高,就把标记也变为高(1), 3. 按键变为低,把标记也标记为低(0), 现在,在2和3之间,插入一个判断,如果按键为低,而标记为1,恭喜,就说明现在捕获到了下降沿。
回复

使用道具 举报

ID:10947 发表于 2020-3-29 20:35 | 显示全部楼层
1. 弄1个标记位,跟随按键状态变化,
2. 按键变为高,就把标记也变为高(1),
3. 按键变为低,把标记也标记为低(0),
现在,在2和3之间,插入一个判断,如果按键为低,而标记为1,恭喜,就说明现在捕获到了下降沿。
回复

使用道具 举报

ID:282850 发表于 2020-3-30 01:18 | 显示全部楼层
IO口线电阻拉高,也许你已经这样做了
while(1){
  if(!key)  ..... //按键已按下  
}
为可靠并消抖,加延时100ms,再if一次,OK
回复

使用道具 举报

ID:235200 发表于 2020-3-30 01:37 | 显示全部楼层
按键按下至少要时间100ms以上,程序循环检测时间在100ms内去判断端口电平就可捕捉到,或者采用外部中断下降沿触发捕捉更好
回复

使用道具 举报

ID:367369 发表于 2020-3-30 15:26 | 显示全部楼层
电平触发也行啊,想要出现稳定的下降沿需要在按键串联一个电容,这样上升沿和下降沿都很明显
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表