导航:首页 > 操作系统 > 利用单片机控制4个led灯

利用单片机控制4个led灯

发布时间:2025-09-28 21:12:51

‘壹’ 51单片机按键控制按下K1四个led灯循环亮,再按一下全灭,c程序怎么写

在四个灯循环点亮的状态下,每点亮一个灯需要延时,如果调用延时子程序,按键就显示不灵敏了,所以,采用定时器中断的方式控制延时,就不影响按键了。

#include<reg51.h>

#include<intrins.h>

仿真图效果。

‘贰’ 单片机编程题:开关控制四盏灯

昨天就看到有人问了,不会还是你吧,呵呵,你要说清楚啊,想怎么控制,一起亮,一起灭?一个按键开,一个按键关?说具体点,要不怎么帮你

呵呵,今天晚上上线晚了,明天上班抽时间给你写吧,一会儿就搞定了,要不要留个邮箱啊,电路图也给你吧

还有,一定要按这个顺序吗?如果我乱按会出现什么情况,直接无效??

算了,直接贴上来吧

#include"reg52.h"

#defineuintunsignedint

#defineucharunsignedchar

sbitLED_R=P2^0;

sbitLED_Y=P2^1;

sbitLED_B=P2^2;

sbitLED_G=P2^3;

sbitKey1=P1^0;

sbitKey2=P1^1;

ucharKey1_Times=0,Key2_Times=0,Key_Flag=0;

voidDelay(uintx)

{

uinta,b;

for(a=x;a>0;a--)

for(b=110;b>0;b--);

}

voidKeyScan()

{

if(Key1==0)

{

Delay(10);

if(Key1==0)

{

Key_Flag=1;

Key1_Times++;

if(Key1_Times==3)

Key1_Times=2;

}

while(!Key1);

}

if(Key2==0)

{

Delay(10);

if(Key2==0)

{

Key_Flag=1;

Key2_Times++;

if(Key2_Times==3)

Key2_Times=2;

}

while(!Key2);

}

}

voidmain()

{

P2=0xff;

LED_R=0;

while(1)

{

KeyScan();

if(Key_Flag==1)

{

Key_Flag=0;

if((Key1_Times==1)&&(Key2_Times==0))

{

LED_R=1;

LED_Y=0;

}

elseif((Key1_Times==1)&&(Key2_Times==1))

{

LED_R=1;

LED_Y=1;

LED_B=0;

}

elseif((Key1_Times==1)&&(Key2_Times==2))

{

Key2_Times--;

}

elseif((Key1_Times==2)&&(Key2_Times==0))

{

Key1_Times--;

}

elseif((Key1_Times==2)&&(Key2_Times==1))

{

LED_R=1;

LED_Y=1;

LED_B=1;

LED_G=0;

}

elseif((Key1_Times==2)&&(Key2_Times==2))

{

LED_Y=1;

LED_B=1;

LED_G=1;

LED_R=0;

Key1_Times=0;

Key2_Times=0;

}

}

}

}

阅读全文

与利用单片机控制4个led灯相关的资料

热点内容
java拼接url 浏览:590
什么网站app可以看书 浏览:540
Aes256加密结果不一样 浏览:483
centos7ssh命令 浏览:576
手机如何把扫描件做成文件夹形式 浏览:822
视频加密通过什么形式 浏览:985
柳州空气压缩机总厂 浏览:295
python编写小工具 浏览:799
sql建立视图的命令 浏览:690
mfc客户端设计源码 浏览:274
单片机vl 浏览:627
phputf8utf16 浏览:308
文件夹如何自动修改 浏览:299
我的世界秋月之光服务器地址18 浏览:716
linux下进程与线程 浏览:993
phpconsume 浏览:975
利用单片机控制4个led灯 浏览:218
pdf文件在电脑怎么打开 浏览:867
芝麻分算法 浏览:489
c语言常用滤波算法 浏览:458