一直以来,单片机松手检测用的都是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();
自写单片机按键松手检测思路
最新推荐文章于 2024-07-15 10:26:03 发布
本文介绍了一种单片机按键松手检测的优化方法,避免了使用while(key==0)浪费CPU资源的问题。通过特定的程序设计,实现了按键的单独检测,适用于多个按键同时存在的场景。在检测到按键松手后会发送一个数据,提高程序效率和响应速度。
摘要由CSDN通过智能技术生成