导航:首页 > 操作系统 > 单片机交互灯

单片机交互灯

发布时间:2025-06-22 20:07:58

❶ 一个按键怎么实现两个Led灯切换,就是按下第一个灯亮松手灯灭,再按一下第二个灯亮松平灯灭。单片机C

/*
按键位置:P0.1;
功能:1,当第一次按键按下,第一个灯亮,按键放开灯灭
2,当第二次按键按下,第二个灯亮,按键放开灯灭
3,重复执行前面两个步骤
灯的位置:P2口;
*/
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit BUTTON=P0^1;//按键的位置
void DELAY(uint x)
{
uchar s,j;
for(s=0;s<x;s++)
for(j=0;j<114;j++);
}
void main()
{
uint led=0;
while(1)
{
if(BUTTON==0)
{
led++;
if(led==1)//第一次按键按下
{
P2=0XFE;//1111 1110 第一个灯亮
DELAY(500);//延时
while(BUTTON!=0)//等待按键放开
{
P2=0xff;/1111 1111灯灭
DELAY(500)//延时
}

}
if(led==2)//第二次按键按下
{
led=0;//要给次数初始化
P2=0XFC;//1111 1101第二个灯亮
DELAY(500);//延时
while(BUTTON!=0)//等待按键放开
{
P2=0xff;//1111 1111第二个灯灭
DELAY(500)//延时
}

}
}
}

❷ 求C51单片机 按键切换三种样式流水灯代码

#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
ucharled,tm,key;
sbitK=P1^0;
voidt0isr()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tm++;
if(tm>=10)
{
tm=0;
switch(key)
{
case0:led=_crol_(led,1);P0=led;break;
念搜返case1:led=_cror_(led,1);P0=led;break;
case2:led=~led;P0=led;break;
漏凯default:break;
仔饥}
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
led=0xfe;
key=0;
while(1)
{
if(K==0)
{
while(K==0);
key++;
key%=3;
if(key==0)led=0xfe;
elseif(key==1)led=0x7f;
elseled=0x55;
}
}
}

❸ 基于51单片机的自动路灯控制,需要哪几部分组成能实现

首先肯定是要有单片机最小系统,晶振电路复位电路啥的。
再就是需要检测天黑不黑,所以需要光敏电阻,但光敏电阻的值需要再经比较器处理成高低电平触发信号然后再给单片机。这是信号输入部分
然后还需要控制输出,也就是能让单片机对路灯通断电控制,这就是需要接继电器

阅读全文

与单片机交互灯相关的资料

热点内容
php正则最后 浏览:616
android用户量 浏览:129
游戏排解压力 浏览:321
如何快速辨认服务器 浏览:82
道路铺砖算法 浏览:226
ros编译时电脑卡住 浏览:972
当身心疲惫的时候如何解压 浏览:922
怎样保存解压文档 浏览:215
omron编程教程 浏览:150
程序员一般睡多久 浏览:408
java抽象类与接口区别是什么 浏览:171
如何架设网游服务器 浏览:327
javawmf 浏览:614
程序员穿搭画中画 浏览:455
python3问题 浏览:507
虚拟服务器租用需要什么资质 浏览:813
现在安卓也有方舟编译器 浏览:169
程序员那么可爱全剧 浏览:383
怎么弄快捷命令 浏览:415
我的世界如何发展自己的服务器 浏览:946