微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 电子工程师杂谈 > 简单的控制电路,你不一定会!

简单的控制电路,你不一定会!

时间:10-02 整理:3721RD 点击:
各位大侠,小弟请教一下:
现有3个LED灯L1 L2 L3,怎么用1个开关控制?具体要求如下:
按一次L1 L2 亮
按二次L1 L2 L3都亮
按三次全部熄灭
以上用什么电路可以完成呢?不甚感谢!

谢谢!

时序逻辑电路就可完成

单片机

对,用时序逻辑芯片,类似于计数器那种,用单片机也可以

用PLC就可以完成,不过归根结缔还是单片可以

硬件嘛,最小系统一个,外接P1口占用三个就够了。参考以下代码
#include<reg51.h>
sbit key0=P1^3;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;

void delay(unsigned char z)
{
  unsigned char x,y;
  for(x=z;x<0;x--)
  for(y=110;y>0;y--);
}

void keyscan()
{
  P1=0XFF;
  if(key0==0)
   {
          delay(5);
          if(key0==0)
           {
                 led1=0;
                 led2=0;
                 if(key0==0)
                 {
                        delay(5);
                        if(key0==0)
                        {
                                led1=0;
                                led2=0;
                                led3=0;
                                if(key0==0)
                                        delay(5);
                                        if(key0==0)
                                        {
                                                led1=1;
                                                led2=1;
                                                led3=1;
                                        }
                        }
                 }
                }
}
void main()
{
  while(1)
    {
           keyscan();
         }
}
   

路过学习

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top