找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机识别 "单击.双击.长按"-我写的代码相信你能读懂

查看数: 2497 | 评论数: 12 | 收藏 7
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-11-17 12:22

正文摘要:

//51单片机识别 "单击.双击.长按" 代码 //作者:Kxuan163 //程序功能:检测按钮的按下弹起次数,以识别"单击.双击.长按" //MCU: STC89c52RC        晶振 11.0592MHZ //Pr ...

回复

ID:1110944 发表于 2025-4-2 01:10
程序功能:检测按钮的按下弹起次数,以识别"单击.双击.长按"。。学习了
ID:858964 发表于 2024-11-22 12:15
dj3365191 发表于 2024-11-21 17:22
有时候按两次还是LED1亮,程序修改哪里才能避免这种情况发生

你是用proteus仿真吗?  晶振是否 11.0592MHZ?
我刚刚为解答你的问题,试修改代码,再次仿真成功。
原代码   if (read == 0) delayms(10);  //延时10毫秒消热抖动
修改为   if (read == 0) delayms(5);    //延时 5毫秒消热抖动
ID:143767 发表于 2024-11-21 17:22
有时候按两次还是LED1亮,程序修改哪里才能避免这种情况发生
ID:858964 发表于 2024-11-21 11:59
发表于 2024-11-20 21:16
你都用定时器,还搞个delay

定时器中断方式计时, delayms()软件方式计时,  各有各的用途。你未完全读懂。
ID:185461 发表于 2024-11-20 21:16
你都用定时器,还搞个delay 带坏朋友
ID:858964 发表于 2024-11-20 10:49
发表于 2024-11-19 16:52
你这个delay10ms不要这样写,你1ms近义词中断,20ms扫描一次就已经消抖了,

delayms(10); //延时10毫秒消热抖动   ------这行代码无问题。有 书为依据
ID:1123636 发表于 2024-11-19 16:52
你这个delay10ms不要这样写,你1ms近义词中断,20ms扫描一次就已经消抖了,
ID:858964 发表于 2024-11-19 11:39
STC庄伟 发表于 2024-11-19 08:51
你用AI8051U的 支持USB下载  兼容89C52的

谢谢庄伟先生建议,我亦正有此意。
ID:961114 发表于 2024-11-19 08:51
你用AI8051U的 支持USB下载  兼容89C52的  
ID:353115 发表于 2024-11-18 11:45
ID:858964 发表于 2024-11-17 23:50
lkc8210 发表于 2024-11-17 22:13
看到while+delayms就知道不用看懂也可以

谢谢跟帖!
我尝试过用此算法,将代码略加修改即可识别三击...
ID:161164 发表于 2024-11-17 22:13
看到while+delayms就知道不用看懂也可以

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

Powered by 单片机教程网

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