‘壹’ 51单片机1按键切换3种不同状态的c程序
主程序大致是这样的
flag=0;//记录按键次数
While(1)
{
if(key==0){delayms(20);if(key==0)flag++;}//按键检测
if(flag==3)flag=0;
if(flag==0){正向流水}
else if(flag==1){反向流水}
else {间隔流水}
}存在问题,由于流水灯执行时间较长,因此对按键响应缓慢,可以在流水灯之间加入按键检测语句,当检测到按键按下时,用break语句退出当前循环
‘贰’ 单片机中怎样定义一个按键控制转换三个模式
参考如下: 假设按键按下为低电平; if(key1==0) { while(key1==0);//弹起后执行 { 按键1需要执行的功能; } } if(key2==0) { while(key2==0);//弹起后执行 { 按键2需要执行的功能; } }
‘叁’ 单片机如何实现一个按键切换两个程序
#include<reg51.h>
sbitkey=P1^0;
bitflag=0;
voidA(void)
{
.....
}
voidB(void)
{
......
}
main()
{
while(1)
{
if(key==0)
{
while(key==0);
flag=~flag;
}
if(flag)B();
elseA();
}
}
‘肆’ 单片机 C语言 一键切换模式如何实现谢谢
这个简单啊:
unsigned char dataCount = 0;
void Key()
{
if (你的按键 == 0)
{
if (dataCout++ >= 2) dataCount = 0;
}
switch(dataCount)
{
case 0: 执行A模式;break
case 1:
case 2:
default:
break;
}
}
‘伍’ avr单片机 一个按键切换LED显示模式,如何跳出循环!
1.申明变量int a=0要放在最前面
2.到了while(1)中一般就跳不出来了,但有两种方法可以出来:
2.1中断的方式,你将你的按键扫描放在中断里,定个1us的定时就可以了
2.2在while(1)里面加入break;就可以跳出循环
不知道你要实现什么具体功能,我也没法给你改,有问题可以问我,mail:[email protected]
‘陆’ 求解:单片机一个按键切换几个模式,实现不了
中断里面的 i 判断不要写错 i ==,写错i>= 试试 还有就是中断中你对 j 的判断不要用同 i 相与(&&)的关系,这样没执行一句 if 都要判断一下 j,你可以先判断 j,然后再在在 j 的目录下判断 i ,就是
if( j == 0 )
{
if((i >= 0)&&(i <10))
{
更改LED状态
}
esle if((i >= 10)&&(i<20))
{
更改LED状态
}
else
{
更改LED状态
if(i >=30)
{
更改 i 的只
}
}
}
还有就是中断程序不要写的太大,要么进入中断后就先把中断允许关掉,结束后再打开,防止这个中还没结束,又来了一个中断,陷入中断程序跳出或等待的情况
‘柒’ 单片机用一个按键随意切换控制三种模式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar time,sec,keyval;
sbit D1=P3^3;
sbit D2=P3^4;
sbit KEY=P3^5;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time++;
if(time>=20)sec++;
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
EA=1;
keyval=0;
while(1)
{
switch(keyval)
{
case 0: TR0=1;sec=0;
if(sec<30){D1=0;D2=1;}
else {D1=1;D2=1;}
break;
case 1: TR0=1;sec=0;
if(sec<30){D1=1;D2=0;}
else {D1=1;D2=1;}
break;
case 2: TR0=1;sec=0;
if(sec<30){D1=0;D2=1;}
if(sec>=30 && sec<60){D1=1;D2=0;}
else {D1=1;D2=1;}
break;
default:break;
}
}
}
‘捌’ 单片机用一个按键随意切换控制三种状态
按键程序你会吧 判断你说的要用定时器 刚按下时启动定时器 定时1秒 同时记住按键次数松开加一次 一秒后检测如果次数为1 那么是状态1 如果次数为3 那么是状态3 如果按键仍然是按下的 那么再启动一次定时器 定时一秒 一秒后自动切换到状态2
‘玖’ 如何通过单片机配置进入或切换到某种工作模式
首先,要看你用的单片机有没有模式选择,没有那我也没办法!有的话,看一下资料,看它是什么触发方式的!然后在编写程序设置触发脚!然后写一个触发子程序(通常为WAKEUP:......)看你的资料而定!如果还不明白,可以把资料发到我的邮箱:[email protected] 我看看能不能帮你一下!
‘拾’ 单片机中如何用按键进行模式切换
参考如下:
假设按键按下为低电平;
if(key1==0)
{
while(key1==0);//弹起后执行
{
按键1需要执行的功能;
}
}
if(key2==0)
{
while(key2==0);//弹起后执行
{
按键2需要执行的功能;
}
}