找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3052|回复: 12
打印 上一主题 下一主题
收起左侧

这个单片机程序中 delay_ms(50);//这个延时的作用是什么?

  [复制链接]
跳转到指定楼层
楼主
ID:894870 发表于 2021-4-14 14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
delay的作用?
if (Key_2 == 0)
    {
        delay_ms(50);//这个延时的作用是什么
        if (Key_2 == 0)//重新判断一次时间
        {
            while (Key_2 == 0);   
            beep();
            status++;
            if (Menu == 1 && status > 6)
            {
                status = 0;
            }
            else if (Menu == 2 && status > 1)
            {
                status = 0;
            }
        }
    }

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:271144 发表于 2021-4-14 15:57 | 只看该作者
是为了消除按键抖动的
回复

使用道具 举报

板凳
ID:892596 发表于 2021-4-14 16:21 | 只看该作者
按键防抖,这种处理方法不怎么好,一直在占用MCU时间。
回复

使用道具 举报

地板
ID:390416 发表于 2021-4-14 16:28 | 只看该作者
回复

使用道具 举报

5#
ID:894154 发表于 2021-4-14 16:44 | 只看该作者
delayms(50)为按键抖动时间 while (Key_2 == 0); 为防抖后等待松开按键
回复

使用道具 举报

6#
ID:900662 发表于 2021-4-14 20:01 | 只看该作者
防抖动的,就是怕你不小心手哆嗦了一下子按下去了,本来不需要按得
回复

使用道具 举报

7#
ID:906759 发表于 2021-4-17 10:47 | 只看该作者
消除抖动的,用时间片来做会好一些,开个定时器
回复

使用道具 举报

8#
ID:907264 发表于 2021-4-17 11:47 | 只看该作者
为了消除按键抖动,如果人按按键,时间肯定会超过50ms ,50ms后再检测是否被按下,可以防止按键抖动造成的问题
回复

使用道具 举报

9#
ID:596729 发表于 2021-4-17 11:59 | 只看该作者
按键去抖动
回复

使用道具 举报

10#
ID:900684 发表于 2021-4-17 14:23 | 只看该作者
消除按键抖动,按键刚按下瞬间会产生噪声即抖动不稳定,延时50ms待按键状态稳定后后再进行二次判断按键是否按下若按下则执行程序
回复

使用道具 举报

11#
ID:907378 发表于 2021-4-17 16:15 来自手机 | 只看该作者
是消除按键抖动的作用。如果人按按键,时间肯定会超过50ms ,50ms后再检测是否被按下,可以防止按键抖动造成的问题
回复

使用道具 举报

12#
ID:907378 发表于 2021-4-17 16:17 来自手机 | 只看该作者
是消除按键抖动的作用。当人按下按键,时间一般大于50ms ,50ms后再次检测按键状态。
回复

使用道具 举报

13#
ID:879926 发表于 2021-4-17 21:28 | 只看该作者
按键有抖动,通过延迟时间来消除抖动,先检测按键是否按下,延时之后有检测,如果检测到按键还是按下,就可以确定按下了。这是消抖中的软件消抖
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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