求程序C语言LED开关 一个LED一个按钮按一下长开 再按一下关

如题所述

写一个给你把,51的吧
#include "at89c51.h"
//P1.0 为按键输入端,上拉电阻,按键接地
//P1.1 为按键输出端,低电平有效
//晶振频率为4M其他频率请调整延时
void main(void)
{
unsigned char a,b;
p1^0=1; //作为按键输入,在准双向IO口中应该置位
p1^1=1; //关闭LED
while(1)
{
if(p1^0==0)
{
for(a=20;a>0;a--) for(b=250;b>0;b--);//去抖
if(p1^0==0)
{
wait://按键已经按下
if(p1^0==1)
{
//按键放开
p1^1=~p1^1;//led状态取反,就一亮一灭的了
}
else goto wait;//等待放开按键
}
}
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-25
呵呵,以前还真做过一个。
是给朋友的电脑装机店用来展示空机箱的,把货架上的几十个空机箱点亮并且按开机键时有反应和客户互动。
可惜程序一时半会没找到

51单片机怎么用c语言写一个按钮控制一个led的闪烁,按一下开始闪烁,再按...
if(P02)\/\/再次确定按键按下 { while(P02){flash=flash}\/\/按住按键的动作 flash=~flash;\/\/按键按下后执行动作 } } } void ledflash(){ if(flash){ led=1;\/\/点亮 delay(100);\/\/延时100MS led=0;\/\/熄灭 } else led=0;} void delay(unsigned int i){自己根据单片机频率写个1MS带形参...

单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED...
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include<reg52.h> \/\/定义单片机的头文件sbit led=P2^0; \/\/定义单片机的管脚,void main(void) \/\/主函数{ while(1) \/\/无限循环 {led=0x1f; \/\/点亮前面三个灯。这里...

单片机 c语言 一个按键控制LED灯切换, 按一下按键花样一, 按下按键...
}}}void xianshi2(){ led=0xfe;if(temp==2){num=8;while(num--){ dat=led; delay(1000); delay(

...c语言呢编程问题:我要实现用一个按键控制一个LED的亮灭,按一次亮...
你没有松手监测呀!就是在按键处理程序后要加一个while(k1!=0);就是只有你松开按键后才认为本次按键执行完毕,不然就会一直重复执行按键按下的程序,那么你的d1一直就会执行亮灭操作!

汇编语言或C语言编写一个控制灯闪烁的程序
我写的这个程序应该可以,按一下灯亮,再按一下灯灭 include "REG52.H"sbit LED1_01 = P1^1; \/\/LED灯 sbit KEY0_01 = P1^2; \/\/按键 void Delay_1ms(unsigned int Time){ unsigned int x, y;for(x = Time; x > 0; x--)for(y = 120; y > 0; y--);} int ma...

...按一下按键,LED灯灭。再按一下,LED亮,用C语言编程该怎么写
按键按一次LED灯灭,在按一次按键LED灯亮。程序如下:\/ include "REG52.H"sbit LED1_01 = P1^1; \/\/LED灯 sbit KEY0_01 = P1^2; \/\/按键 void Delay_1ms(unsigned int Time){ unsigned int x, y;for(x = Time; x > 0; x--)for(y = 120; y > 0; y--);} int ...

用单片机c语言一个按键控制led的闪烁和熄灭,就是按一下闪烁,再按就熄灭...
首先你的贴出来的程序不完整,最好贴出完整代码!其次,如果你的程序没问题的话,你的LED闪烁是必须在你按住按键且不能弹起情况下才会发生的,你是一直按着吗?而且注意你n的类型,因为你这样一直加,会溢出的

AVR 单片机C语言怎样实现按键按一下led灯闪烁 再按一下led灯灭如此反复...
用状态机写:函数1:LED闪烁 main(){ while(1){ if(KEY)State = ~State;if(State)LED闪烁 else LED熄灭 } }

...C语言程序:两个按键控制两个LED KEY1按一下LED1亮 再按一下LED1灭...
\/\/KEY1按一下LED1亮 再按一下LED1灭 \/\/KEY2按下LED2亮 LED1灭 main(){ while(1) { if (!key2) { led1 = 1; led2 = 0;} else { if(!key1) { Delay(10);if(!key1) { while(!key1);led1 = ~led1;} } } } } \/\/--- include<reg51.h> sbit key1 = P1^...

请用一个按钮去控制一盏LED灯的点亮与熄灭。当按钮按下的时候灯亮,按钮...
以51为例子,假如低电平灯亮 include<reg51.h> sbit K1=P1^0 \/\/P^0接开关 sbit LED=P1^1;\/\/接LED void main(void){ P1=oxff;\/\/初始化P1 while(1){ LED=~K1;} }

相似回答