在51单片机中,按一下按键1,执行一个程序功能1,按按键2,执行程序功能2

在51单片机中,按一下按键1,执行一个程序功能1,按按键2,执行程序功能2,按键3,执行功能3怎用C语言编程,说说大致思路

#include<reg51.h>
#include<intrins.h>
unsigned char fun,led1=0xfe,led2=0x55;
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
void t0isr() interrupt 1
{
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
switch(fun)
{
case 1:P0=led1;led=_crol_(led1,1);break;
case 2:P0=led1;led=_cror_(led1,1);break;
case 3:P0=~led2;break;
default: break;
}
}
main()
{
TMOD=0x01;
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(key1==0)
{
while(key1==0);
fun=1;
}

if(key2==0)
{
while(key2==0);
fun=2;
}
if(key3==0)
{
while(key3==0);
fun=3;
}
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

求助51单片机编程,按一下KEY1,LED常亮,按一下KEY2,LED灭
P1.0 接KEY1 到地 ,P1.1接KEY2到地,P0.0接LED到高电平。我还附带给你加了按键防抖,程序如下:include<reg51.h> sbit key1=P1^0;sbit key2=P1^1;sbit led=P0^0;void delay(m){ int i,j;for(i=0;i<m;i++){ for(j=0;j<125;j++){ } } } void main(){ while(1)...

51单片机按一下显示1,再按一下同一个按键显示2
while(1){ if(key==0)\/\/按键按下 { delayms(10);\/\/延时消抖 if(key==0) {a++;while(key==0);}\/\/变量加1 } display(a);\/\/显示 }

求51单片机的C程序,就是键盘控制这个一位七段数码管,按键按1按下数码管...
void scan() \/\/要是按键了,扫描键盘编码值 { P1=0xF0;delay(1);temp=P1;switch(temp){ case 0xe0: key1=0;break;case 0xd0: key1=1;break;case 0xb0: key1=2;break;case 0x70: key1=3;break;} P1=0x0f;delay(1);temp=P1;switch(temp){ case 0x0E: key=key1+0;break...

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

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

单片机51按下按键key1流水灯从上到下亮3次代码怎么写
可以采用以下步骤:1、要定义按键输入口和流水灯输出口。使用单片机51的P1和P2口,分别定义按键输入口和流水灯输出口。2、要初始化按键输入口为低电平。当按键没有被按下时,按键输入口就处于低电平状态。3、在主函数中,使用一个无限循环,不断检查按键输入口是否被按下。按下按键,则点亮第一个灯...

51单片机怎么用按键控制一个数码管,按一下显示一
\/*---名称:单个共阳数码管动态显示变化数字内容:通过循环检测P1口按键输入值,然后用数码管输出,没有按键按下时原值不变---*\/#include\/\/包

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

51单片机独立按键中,按一下和一直按的区别
按一下松开这个LED一直亮:if(key==0) { while(key==0); led=0; }按一下松开就亮一下:if(key==0) { led=0; while(key==0); led=1; }

51单片机 按键按下去 计数一次 程序应该怎么写?
在按键按下后,用循环语句,等待抬起计数 if(按键按下){ 延时; if(按键按下) { while(按键没有松开); \/\/如果按键没有松开,程序会停在这里 count++; \/\/按键松开后,程序会运行到这里,计数值加1 }}

相似回答