单片机中怎样用一个按键按一下实现一种功能,连续按2下实现一种功能

如题所述

用计数器,每点一下计数器中加1,将计数器中的值转到另一个,再对这个处理。追问

但是怎样设定连续按两次的时间间隔呢。我现在遇到的问题是我按下按键一次能实现流水灯,当我连续按两次的时候还是先执行按一次的功能,然后再执行我设定的按两次的走马灯,我怎样写才能避免呢

追答

这个的原理和电脑里鼠标双击一样,鼠标双击的时间可以调,所以时间间隔自己定,为以防万一,定在功能全部结束之后。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-26
很简单,在检测按键程序加个 标志位,然后根据标志位判断。

请问单片机怎么用独立按键按一下实现一个功能,按另一个按键实现另一个...
if(key1==0) {延时消抖 功能1} if(key2==0) {延时消抖 功能2} }

51单片机如何设置同一个按键,按一下显示123456,再按一下显示321456
51单片机用一个按键,定义一个位变量,或一个8位的变量,按一下键变量为1,再按一下变量为0。然后显示时,再根据变量值来决定显示内容,变量为1,显示123456,变量为0显示321456。

单片机C语言如何实现按键按一下的时候加一,长按的时候连加。_百度知...
这个可以通过定时器来实现,比如当按键时间小于2秒时,按一次加1,当超过2秒时,没50毫秒加1实现连加功能。例程如下:include<reg51.h> unsigned int a;unsigned char times;sbit key=P1^0;void t0isr() interrupt 1 { TH0=(65536-50000)\/256;TL0=(65536-50000)%256;times++;if(times>40){...

51单片机如何用一个按键控制一段程序的运行与停止
1、创建项目文件。2、按键:S1=P3^2,点亮: led=P1^5。3、创建C语言主函数。4、创建循环效果,检测效果。while(1) {}。5、选择输出的效果。6、当按下一个按键时,关闭灯,整个程序运行,再按一次,程序停止。

51单片机 0-99计数器 一个按键 按一下加一 按两下减一 按三下清零 电...
51单片机 0-99计数器,一个按键,按一下加一,那只能是自动加1啦,不然再按一个就变成减1,再按3下清0了。按两下减一,也应该是自动减1啦。 按三下清零。仿真图

51单片机如何用一个按键控制一段程序的运行与停止
在51单片机编程中,通过一个按键实现程序的运行与停止功能,操作步骤如下:首先,你需要为你的项目创建一个新的文件,这是基础步骤,它将承载你的代码逻辑(1、在51单片机项目中,新建一个文件用于存放程序代码。)。接着,配置你的按键和LED。假设你选择的按键S1连接到P3的第2引脚,当按键按下时,...

如何用一个按键来控制LED不同的运行方式,有就是按一次一种运行方式...
方法有两种:设置一计数器:i,每按一次键,即调用显示程序,显示程序中用:i++;if(i=1){执行闪灯方式1;} elseif(i=2){执行闪灯方式2;} elseif(i=3){执行闪灯方式3;} ...elseif(i=4){执行闪灯方式n} 主程序判断按键方式("."为短按 “-”为长按)if(按键模式=“.”){...

单片机实现按键按一次输出动作保持,按第二次输出动作取消
程序如下:include <REG51.H> sbit KEY = P1^0;\/\/按键输入口 sbit RELAY= P1^1;\/\/比如是继电器输入口,按一次继电器闭合,再按则松开 void main()\/\/这里进入主函数 { while(1)\/\/一直循环 { if(KEY==0)\/\/如果有按键按下 { RELAY = ~ RELAY; \/\/继电器动作取反 while(!KEY);\/\/等待...

单片机程序问题:用1个按键去控制1个灯,此键每快速地按2下,灯的亮与...
if(ctr==1 || flag ==1) \/\/表示键在0.3S内松开了 { flag = 1;if(ctr==0) \/\/表示第二次按下键了 { delayS(10); \/\/延迟10mS,去除按键抖动 if(ctr==0){ flag =0;Lamp = !Lamp ; \/\/翻转灯 while(ctr==0); \/\/等待放开键 break; \/\/ 跳出循环 } } } ...

51单片机怎么用按键控制一个数码管,按一下显示一个数字,顺序显示
1、首先,要把代码写好,点亮数码管。2、代码写完后,要确认原先写好的代码是不是正确的。3、确认代码无误后,进入下一步,就是在这一行代码(箭头所指)的地方,将这四个字删去。4、然后如图所示,四个字已经删去,只要改成数字相应的代码即可。5、这里改成的是代表数字0的代码,如图所示。6、...

相似回答