当前位置:首页 » 编程语言 » 2个按键控制2个灯c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

2个按键控制2个灯c语言

发布时间: 2023-05-20 13:29:02

❶ 51单片机c语言对键控双向流水灯编程。用两个按键,中端来做。

#include<reg51.h>
#define uchar unsigned char
uchar num,temp,times,led;
t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
times++;
if(times>=10)
{
times=0;
P0=led;
if(key1==0){
num++;
num&=0x07;
}
else if(key2==0)
{
if(num>0)num--;
else(num=7;
}
led>>=num;
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
LED=0x0xfe;
num=0;
times=0;
while(1);
}

❷ C语言两个开关控制两个灯,两开关全部闭合灯都不亮,一开一关只有一个灯亮(开关相联

if a=1&b=1
c =0 d= 0
else if a|b=1
c=0 d=1 (c=1 d=0)
else c=1 d= 1
switch((a<<1)|b)
case 00:
case 01:
case 10:
case 11:

❸ 用c语言控制两个灯的闪烁

delay()这个函数在哪?你没写啊,开头也没有声明。然后 如果你是想实现两个灯闪烁,你写的内容都要放在第一个while(1){} 里,因为while(1)这循环没有break语句,除了你调用子函数,其他的不会被执行到的。

❹ 求一单片机c语言程序:两个按键控制两个led,按键按住不放led闪烁,松手led熄灭

一个按键时程序如下:
while(1)
{
if(key==0)//按键按下
{ delayms(20);//延时消抖
if(key==0)//再次判断按键是否按下
{
while(key==0)//按键没有凳乎隐抬起
{ led=!led; delayms(200);}/顷明/LED闪烁枣厅
}
}
else led=0;
}

❺ 两个按键怎么实现两个Led灯切换,单片机c语言怎么写

whiIe(1)
{if(key1==0)
{deIayms(首世罩20);
if(者闹key1==0){led1=1;led2=1;}
}
if(key2=0)
{deIayms(返姿20);
if(key2=0){led1=0;led2=0;}
}
}

❻ 单片机编写两个按键控制两个LED灯的程序,要求当按下任何一个按键并松开后,两个LED灯的亮灭状态同时改变

#include"reg51.h"
#define K p0^7
#define LED_BLUE p0^0
#define LED_RED p0^4
void scan_key(void);//用来控制誉段祥燃闷LED_RED
void DelayMS(unsigned int x);
void main()
{
while(1)
{
if(K==0)
LED_BLUE=1;
scan_key();
else
LED_BLUE=0;
}
}
void scan_key(void)
{
unsigned int i;
for(i=0;i<10000;i++);
LED_RED=0;
DelayMS(50);
}
//庆搏延时
void DelayMS(unsigned int x)

{

uchar i;

while(x--) for(i=0;i<120;i++);

}

❼ 求一单片机C语言程序:两个按键控制两个LED KEY1按一下LED1亮 再按一下LED1灭 KEY2按下LED2亮 LED1灭

#include<reg51.h>

sbit key1 = P1^0;
sbit key2 = P1^1;
sbit led1 = P1^2;
sbit led2 = P1^3;

void Delay(unsigned int x)
{
unsigned int i, j;
for(i = 0; i < x; i++) for(j = 0; j <= 148; j++);
}

//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^0;
sbit key2 = P1^1;
sbit led1 = P1^2;
sbit led2 = P1^3;

void Delay(unsigned int x)
{
unsigned int i, j;
for(i = 0; i < x; i++) for(j = 0; j <= 148; j++);
}

main()
{
while(1) {
if(!key1) {
Delay(10);
if(!key1) {
while(!key1);
led1 = ~led1;//KEY1按一下LED1亮 再按一下LED1灭
} }
if(!key2) {
Delay(10);
if(!key2) {
while(!key2) led1 = 1; //按下KEY2时LED1灭
led2 = ~led2;//KEY2也是这样
} }
}
}

❽ 51单片机 C语言 如何写代码。控制2个LED的亮和灭。

比如你的8个灯连在 P0口,如果是阴极的
你消态只要先定义
sbit P0^0=LED0;
.....一定定义下去
然后再定义岁桥腔一个按钮
比如P1.1
sbit P1^1=key;
代码里写
123456789while(true){if(key==1){LED0=0;LED1=0;..//把你要亮的乎衫灯置0就行了。阳极的话置1}}

❾ 求一个程序,两个独立按键控制流水灯左右循环的程序,谢谢

#include<reg51.h>
#defineucharunsignedchar
ucharled=0xfe;
sbitkr=P3^2;
sbitkl=P3^3;
ucharkey;
voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
voidext0()interrupt0
{
key=1;
while(kr==0);
}
voidext1()interrupt2
{
key=2;
while(kl==0);
}
main()
{
EX0=1;
EX1=1;
IT0=1;
IT1=1;
EA=1;
while(1)
{
if(key==1){P1=led;led=_cror_(led,1);}
elseif(key==2){P1=led;led=_crol_(led,1);}
念搜返elseP1=0xff;
漏凯delay(200);
仔饥}
}