找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 13639|回复: 9
打印 上一主题 下一主题
收起左侧

32位心形流水灯原理图+PCB文件+单片机程序全套资料

  [复制链接]
跳转到指定楼层
楼主
32位心形流水灯电路
一、电路原理
由原理图可知,单片机P0、P1、P2、P3口一对一直接控制LED灯,32个电阻起到限流作用,为了保险起见,再加一个排阻作为上拉电阻,防止烧坏元器件。在P1口给一个低电平即可点亮LED灯。相反,如果要LED灯熄灭,就要把P1口的低电平变为高电平即可。要实现流水灯功能,我们只要将LED1~LED32依次点亮、熄灭,依此类推,32个LED灯便会一亮一灭的成为流水灯了。
二、电路原理图

三、PCB图

四、电路实物照片与实测性能

电路实测性能:在线路没有问题的情况下连接电源调试,加入电源以后,由51单片机控制32个LED灯可以循环点亮、依次熄灭,可以达到预期的效果。

单片机源程序:




全部资料51hei下载地址:
心形流水灯原理图 PCB 源程序.zip (9.52 MB, 下载次数: 185)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏8 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:684762 发表于 2020-1-11 13:49 | 只看该作者
怎样让心形摆的更好看呢
回复

使用道具 举报

板凳
ID:685827 发表于 2020-1-14 14:56 来自手机 | 只看该作者
打不开
回复

使用道具 举报

地板
ID:302913 发表于 2020-1-31 21:41 | 只看该作者
确实是好东西
回复

使用道具 举报

5#
ID:519388 发表于 2020-4-21 21:06 | 只看该作者
真是不错啊,程序很简洁哦
回复

使用道具 举报

6#
ID:727210 发表于 2020-6-1 10:02 | 只看该作者
请问这个单面板是可以不用敷铜的吗
回复

使用道具 举报

7#
ID:979163 发表于 2021-11-9 10:49 来自手机 | 只看该作者
做实物需要什么元件啊?这个是烧代码的吗
回复

使用道具 举报

8#
ID:979922 发表于 2021-11-11 13:10 | 只看该作者
Z这和个可以自己去白其他形状吗
回复

使用道具 举报

9#
ID:979922 发表于 2021-11-11 13:11 | 只看该作者
蓝色信仰 发表于 2020-1-11 13:49
怎样让心形摆的更好看呢

可以先摆一下看看  不行了可以拆 灯很便宜的
回复

使用道具 举报

10#
ID:471297 发表于 2021-12-21 19:34 | 只看该作者
这个程序很好,我下载了,改成我需要的24LED 。我需要P3口加2个按键控制调速,我试过失败了,求高人指点
程序如下:
  1. #include <reg52.h>
  2. #define        uint        unsigned int
  3. #define        uchar        unsigned char
  4. uchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED从低位往高位移
  5. uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED从高位往低位移
  6. uchar i,j;                //定义循环变量
  7. uint tt=70;                //定义时间指数
  8. void delay(uint time)        //延时函数
  9. {
  10.         uint x,y;
  11.         for(x=time;x>0;x--)
  12.         for(y=50;y>0;y--);//速度设置
  13. }

  14. void disp1()                        //状态1 LED顺时针转一圈
  15. {
  16.         for(i=0;i<8;i++)
  17.         {
  18.                 P2=table1[i];
  19.                 delay(100);
  20.         }
  21.         P2=0xff;
  22.        
  23.         for(i=0;i<8;i++)
  24.         {
  25.                 P1=table1[i];        
  26.                 delay(100);
  27.         }
  28.         P1=0xff;
  29.         for(i=0;i<8;i++)
  30.         {
  31.                 P0=table1[i];
  32.                 delay(100);
  33.         }
  34.         P0=0xff;
  35. }

  36. void disp2()                        //状态2 LED逆时针转一圈
  37. {
  38.         for(i=0;i<8;i++)
  39.         {
  40.                 P0=table0[i];
  41.                 delay(100);
  42.         }
  43.         P0=0xff;
  44.         for(i=0;i<8;i++)
  45.         {
  46.                 P1=table0[i];
  47.                 delay(100);
  48.         }
  49.         P1=0xff;
  50.         for(i=0;i<8;i++)
  51.         {
  52.                 P2=table0[i];
  53.                 delay(100);
  54.         }
  55.         P2=0xff;
  56. }

  57. void main()
  58. {       
  59.         while(1)
  60.         {               

  61.                 disp1();                //状态1 LED顺时针转一圈
  62.                 disp2();                //状态2 LED逆时针转一圈
  63.    

  64.         }
  65. }
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表