;
while(KEY != 0x0f);//松手检测
break;
}
}
}
}
}
void main()
{
while(1)
{
key_scan();
P3=j;
}
}
作者: zl2168 时间: 2018-9-30 06:44
什么叫单片机松手检测?
作者: yousunny 时间: 2018-9-30 09:17
其实想问的应该是 怎么检查按键是否弹起吧?(上升沿)而不是松手检测?
作者: mrhan1992 时间: 2018-9-30 09:28
这个和物理按键消抖原理不是一样的么?如果松开按键为高电平的话,那就判断1秒钟,如果还是高电平的话不就是松手了?同理按下为低电平的话,那判断1秒,如果还是低电平不就是松手了?
作者: ljh2688 时间: 2018-9-30 11:13
主程序做检测,做好标记,用定时器测量时间和释放即可
作者: LPY_1997 时间: 2018-9-30 21:14
数组好像写的有点问题,仿真结果确定正确吗
作者: zl2168 时间: 2018-10-1 11:59
实例5 4种不同方式键控信号灯
作者: zl2168 时间: 2018-10-1 12:00
本帖最后由 zl2168 于 2018-10-1 16:07 编辑
给你介绍上升沿、上升沿延迟、下降沿、下降沿延迟等多种按键触发状态
单片机应用系统中,根据按键闭合和释放状态,有多种不同的键控方式,可编写不同的程序予以实现。
本例要求按以下4种不同方式分别键控VD0~ VD3。
① 无锁按键:S0按下,VD0亮;S0释放,VD0暗;
② 无锁按键(前沿有效):S1按下,VD1亮;S1释放,VD1延时2s后暗。
③ 无锁按键(后沿有效):S2按下,VD2不亮;S2释放,VD2亮,并延时2s后暗。
④ 模拟有锁按键:S3按第一次,VD3亮,并继续保持;按第二次,VD3才暗。
先Proteus仿真一下,确认有效。
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1.书中电路和程序设计有详细说明,程序语句条条有注解。
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |