基于51单片机的心形流水灯设计与实现

1、系统组成:单片机最小系统、32颗LED灯、电阻

2、系统功能:将32颗LED接到单片机的I/O口,编译40多种流水灯状态,实现花样流水灯,将流水灯按I/O口排列成心形,即实现心形流水灯。

3、单片机最小系统部分如下

4、花样流水灯(心形流水灯如下)

5、各种状态下的LED灯:(详细观看演示视频)

7、部分代码:

#include <reg52.H>
#define  uint  unsigned int
#define  uchar  unsigned char
void disp2()      //状态2 LED逆时针转一圈
{
  for(i=0;i<8;i++)
  {
    P0=table1[i];
    delay(100);
  }
  P0=0xff;
  for(i=0;i<8;i++)
  {
    P1=table0[i];
    delay(100);
  }
  P1=0xff;
  for(i=0;i<8;i++)
  {
    P3=table0[i];
    delay(100);
  }
  P3=0xff;
  for(i=0;i<8;i++)
  {
    P2=table0[i];
    delay(100);
  }
  P2=0xff;
}

void disp3()      //状态3 4个LED同时顺时、逆时针移动1/4圈
{
  for(i=0;i<8;i++)
  {
    P0=table1[i];
    P1=table1[i];
    P2=table1[i];
    P3=table0[i];
    delay(100);
  }
  for(i=0;i<8;i++)
  {
    P0=table0[i];
    P1=table0[i];
    P2=table0[i];
    P3=table1[i];
    delay(100);
  }
  P3=0xff; P0=0xff; 
}
#include <reg52.H>#define  uint  unsigned int#define  uchar  unsigned charvoid disp2()      //状态2 LED逆时针转一圈{  for(i=0;i<8;i++)  {    P0=table1[i];    delay(100);  }  P0=0xff;  for(i=0;i<8;i++)  {    P1=table0[i];    delay(100);  }  P1=0xff;  for(i=0;i<8;i++)  {    P3=table0[i];    delay(100);  }  P3=0xff;  for(i=0;i<8;i++)  {    P2=table0[i];    delay(100);  }  P2=0xff;}
void disp3()      //状态3 4个LED同时顺时、逆时针移动1/4圈{  for(i=0;i<8;i++)  {    P0=table1[i];    P1=table1[i];    P2=table1[i];    P3=table0[i];    delay(100);  }  for(i=0;i<8;i++)  {    P0=table0[i];    P1=table0[i];    P2=table0[i];    P3=table1[i];    delay(100);  }  P3=0xff; P0=0xff; }

8、仿真和代码下载链接:

http://链接:https://pan.baidu.com/s/1XArFojrLmmSVe8p72j45rg?pwd=m51i 提取码:m51i

物联沃分享整理
物联沃-IOTWORD物联网 » 基于51单片机的心形流水灯设计与实现

发表评论