‘壹’ 单片机C语言按键控制LED灯
其实是一样的,也没什么哪个规范这一说,这个看个人习惯了
首先if(SW13==0)是判断此引脚是否为0 (按键按下)
然后一个delay用于按键防抖动
没被注释的那部分是靠if在次判断是否为0按下按下后执行LED_ON函数使LED亮
然后通过while判断按键是否松开,如果松开的话就继续执行LED_OFF将LED关闭
而注释掉的那段是依靠while函数直接判断按键是否处于按下状态
是的话就循环执行LED_ON函数直至判断按键松开(SW13=1)后在继续执行到LED_OFF函数使LED 关闭
不过这两种写法的有个共同缺点就是按键判断是while死循环,如果你这个按键按下后,单片机就只是在判断这个条件成立与否,期间不在进行其他工作
‘贰’ 单片机怎么用简单按键控制LED
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
sbit led =P1^0;//假设灯在P1.0
sbit key1=P2^0;//假设按键在P2.0和P2.1
sbit key2=P2^1;//
void delay_1s(uint x)//延时
{
uint y;
uint z; //如果延时不够长可以把z的值加大
while(x--)
{
for(y=0;y<50000;y++)
{
z=200;;
while(z--);
}
}
}
void main(void)
{
led=1; //不亮
while(1)
{
if(key1==0 && key2==1)//按键1按下,按键2没按
{
led=0; //亮
}
else if(key1==1 ) //按键1释放或未按时,灯灭
{
led=1; //灭
}
if(key2==0 && key1==1) //按键2按下,按键1没按
{
led=0; //先亮
delay_1s(30); //等30秒
led =1 ; //30秒后灭
}
}
}
‘叁’ 单片机通过按钮控制一个LED小灯的亮灭,请问这个程序怎么写
led应该是一个变量,是代表led灯 亮或者灭的一个变量。 当你按下开关后,s1==0,就执行 led=!led 这条语句。 led=!led
的意思就是取反的意思,即原来led灯亮的话 执行该条语句后就变成灭;原来灭的话 执行该条语句后
就变成亮。按键按下就打控制灯的io取反就可以了。如:if(key1==1){while(key1==1); //
等待按键放开led1=~led1;}
‘肆’ 请教一下STC单片机1秒钟内按2下按钮开关LED灯亮代码怎样写啊
很简单的。
循环(1){
检测按键,等待按下;
发现按下后,延时消抖,等待释放,然后执行下面的循环;
循环(1){ //循环检测1秒钟
发现按下后,灯亮,等待释放,然后就跳出循环;
延时10ms;
次数加一;
次数不到100,继续循环
到了100(即1s了),关灯,然后就跳出循环;
}
}
‘伍’ 单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED暗!循环
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。
‘陆’ 51单片机用1个按键点亮LED灯,另1个按键关
//假设按键输入P1.0,P1.1,LED控制P2.0,都是低电平有效
#include "reg51.h"
sbit KEY0=P1^0;关灯按键
sbit KEY1=P1^1;开灯按键
sbit LED=P2^0;灯
void main(void)
{
LED=1;
while(1)
{
if(KEY0==0)LED=1;
if(KEY1==0)LED=0;
}
}
‘柒’ 单片机控制LED灯开关按键不灵可通过什么解决
不应该不领,可以检查下IO输出波形和外部电路。