自写单片机按键松手检测思路

本文介绍了一种单片机按键松手检测的优化方法,避免了使用while(key==0)浪费CPU资源的问题。通过特定的程序设计,实现了按键的单独检测,适用于多个按键同时存在的场景。在检测到按键松手后会发送一个数据,提高程序效率和响应速度。
摘要由CSDN通过智能技术生成

一直以来,单片机松手检测用的都是while(key==0); 这样,不但浪费CPU 资源,还。。。所以,用松手检测 是非常好的,很时髦的。
下面是我晚上做了个小车总结出来的,可以单独的按键,不影响其他按键,几通道都可以。 贴上程序,最后分析整个程序意思。。

/*----------------------------------------------------------------
* 文 件 名:KEY.C
* 芯 片:STC12C5A60S2
* 晶 振:11.0592MHz
* 创 建 者:小强
* 创建日期:2012.3.23
* 修 改 者:
* 修改日期:
* 联系作者:lyg407@126.com QQ:5163-806-35
* 功能描述:按键扫描
-------------------------------------------------------------*/
//按键扫描
uchar key_scan()
{
//前进后退左转右转 按键
if(key_up&&(key1==0||key2==0||key3==0||key4==0)) //第一次 key_up=1 那么如果其它按键有按下,则为真 执行下面程序
{
delay_10ms();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值