求一个一个开关控制一个灯亮灭的C语言程序

要求1:按一下灯亮,再按一下灯灭。
如有能力再帮忙写一个:按下开关1,灯闪烁150Hz;按下开关2灯闪烁100Hz;开关3是50Hz。
谢谢各位
为什么浏览的人那么多,没人回答呢?只是编一个很简单的,按一下灯亮,再按一下灯灭的程序而已啊

第1个回答  推荐于2017-05-20
#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 main(void)
{
LED1_01 = 1; //打开LED灯点亮

while(1)
{
if(KEY0_01 == 0) //检测按键是否按下
{
Delay_1ms(10); //延时去抖动
if(KEY0_01 == 0) //确定按键按下
{
LED1_01 = ~ LED1_01; //取反LED灯 [ 亮 . 灭 ]
}
while(KEY0_01 == 0); //检测松手
}
}
}本回答被网友采纳

求一个一个开关控制一个灯亮灭的C语言程序
LED1_01 = ~ LED1_01; \/\/取反LED灯 [ 亮 . 灭 ]} while(KEY0_01 == 0); \/\/检测松手 } } }

51单片机的按键控制小灯亮灭的问题(程序类型:c语言)怎么解决?
当松手时,KEY1 = 1,不满足if语句不 进入循环,LED继续保持当前状态即LED = 0,如果再次按下按键,此时检测到KEY1 = 0,进入循环,LED取反得到LED = 0,灯亮。*\/ delay(500); \/*此处延迟,保证连续两次按键动作处在程序的延时过程中,不进行其他程序从而不会影响小灯。*\/ } }}v...

...当按钮按下的时候灯亮,按钮松开的时候灯灭。用C语言编写...
void main(void){ P1=oxff;\/\/初始化P1 while(1){ LED=~K1;} }

需要一个用按键控制一个LED灯亮度的C语言程序
else KeyDownFlag=FALSE;\/\/若按键Key1 无按下,则清空 按键按下标志 if(!KeyDownFlag && KeyReadyFlag)\/\/若 按键已准备,且按键无按下(即 松手状态){ DutyNume++;\/\/占空比分子 加1 if(DutyNume==DutyDeno) DutyNume=1;\/\/若 占空比分子=分母,则返回 1 KeyReadyFlag=FALSE;\/\/按键处理完毕,...

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

51单片机怎么用c语言写一个按钮控制一个led的闪烁,按一下开始闪烁,再按...
P01=1;\/\/行线给1 if(P02)\/\/如果P02也是1则说明接通 { delay(10);\/\/去抖动10MS if(P02)\/\/再次确定按键按下 { while(P02){flash=flash}\/\/按住按键的动作 flash=~flash;\/\/按键按下后执行动作 } } } void ledflash(){ if(flash){ led=1;\/\/点亮 delay(100);\/\/延时100MS led=0;\/\/...

...上编写一个用一个开关控制一个灯亮和灭的程序
电路有问题啊,电源怎么能直接接到GPIO,这样大电流会损坏IC。P1口好像没有外部中断,那只有轮询了。这个就是按键检测嘛,网上一堆代码,so easy!

C语言中单按键控制流水灯亮灭
enum{ 按着,松开,};std::vector<int> light,把你的灯仿佛light 然后判断当前的状况,每次触发按着的时候就让 light当前的状态变成关灯,light的下一个灯变成开起

用单片机C语言怎么写用状态机实现按键控制LED灯闪烁这个程序
p1_6 = 1;delay(20);} } } void main(){ WDT_CONTR = 0x3C;while(1){ keyscan();WDT_CONTR = 0x3C;} } 这个功能可以用中断来实现,当然,现在我写的这个也可以实现。由于你用的晶振频率不知道,所以你自己修改一下延时时间,再把头文件改一下,就可以了,我试验了,可以实现改功能。

用c语言编写代码,控制led灯1357 2468 循环灯亮
以51为例子,假如低电平灯亮#includesbitK1=P1^0\/\/P^0接开关sbitLED=P1^1;\/\/接LEDvoidmain(void){P1=oxff;\/\/初始化P1while(1){LED=~K1;}}

相似回答