① 单片机一个按键控制一个程序

^这个简单了。
给你一个程序框架
sbit key1=P0^0;
sbit key2=P0^1;
sbit key3=P0^2;
//还可以多写几个键
void main(){
unsigned char zt=0;//程序运行状态变量内,用它来标定程容序运行在哪个段
while(1){
//按键扫描没加滤波这个如果有需要你自己加吧
if(~key1){zt=0;}//当按键1按下时运行程序段0;
if(~key2){zt=1;}//当按键2按下时运行程序段1;
if(~key3){zt=2;}//当按键3按下时运行程序段2;
//状态机程序
switch(zt){
case 0://程序段0
//在这里添加相应的功能程序,如点阵,LED,等等
break;

case 1://程序段1
//在这里添加相应的功能程序,如点阵,LED,等等
break;

case 2://程序段2
//在这里添加相应的功能程序,如点阵,LED,等等
break;
}
}
}
希望能帮到你。

② 单片机如何实现一个按键切换两个程序

#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();
}
}

③ 单片机实现按键切换两个程序

主函数main少了个 },括号没有完全配对。你自己数一下。

④ 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语句退出当前循环

⑤ 单片机用一个按键随意切换控制三种模式

#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;
}

}
}

⑥ stm32单片机如何实现一个按键切换两个程序

定义一个标志位 bit flag=0;
主各序结构:
while(1)
{
if(flag==0)
{.......
.程序1
}
if(flag==1)
{.......
程序2
}
}
按键检测可用中断,中断程序中改变flag的值

⑦ 单片机用一个按键随意切换控制三种状态

按键程序你会吧
判断你说的要用定时器
刚按下时启动定时器
定时1秒
同时记住按键次数松开加一次
一秒后检测如果次数为1
那么是状态1
如果次数为3
那么是状态3
如果按键仍然是按下的
那么再启动一次定时器
定时一秒
一秒后自动切换到状态2

⑧ 51单片机用一个独立按键切换2个程序

那叫做一键双功能,还有一键多功能呢,简明扼要,设备体积非常小,是现在非常流行的。
像那个闪光棒,就是一键三功能!