找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求大神帮忙看下这个单片机节日彩灯控制器怎么设计 求思路

[复制链接]
回帖奖励 40 黑币 回复本帖可获得 2 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
ID:761226 发表于 2021-1-8 15:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现

以单片机为核心,设计一个节日彩灯(至少15个灯)控制器:
  P1.2—开始,按此键则灯开始流动(由上而下)。
  P1.3—停止,按此键则停止流动,所有灯为暗。
  P1.4—上,按此键则灯由上向下流动。
  P1.5—下,按此键则灯由下向上流动。
  P1.6—隔一个亮一个,循环5次,以后每隔两个亮两个,循环3次。


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

使用道具 举报

沙发
ID:390416 发表于 2021-1-8 16:40 | 只看该作者
可以用WS2812这种灯珠。开辟一个数组。修改数组里面的数值调节RGB亮度值显示不同的颜色
可以参考我的贴子,建议你更换成STC12\STC15\STC8系列的增强型单片机。
成功挑战 89C52驱动WS2812 http://www.51hei.com/bbs/dpj-170855-1.html
WS2812做的全彩RGB挂钟程序 http://www.51hei.com/bbs/dpj-200965-1.html
回复

使用道具 举报

板凳
ID:761226 发表于 2021-1-8 18:38 | 只看该作者
用51单片机来实现
回复

使用道具 举报

地板
ID:56002 发表于 2021-1-9 10:03 | 只看该作者
  用这个改一下,想怎么闪都行。for (r=0;r<5;r++)             {                   for(l=0;l<5;l++)               //模式1:顺序点亮           {                      for (i = 0; i < 8; i++)     //顺序单个点亮LED                 LED_01(i);              for (i = 6; i > 0; i--)     //逆序单个点亮LED                 LED_01(i);                   }                   LED_off();                                              for(m=0;m<5;m++)               //模式2:顺序单个间隔点亮                   {              for (i = 0; i < 8; i += 2)  //顺序间隔点亮LED               LED_01(i);              for (i = 7; i > 0; i -= 2)  //逆序间隔点亮LED               LED_01(i);                   }                   LED_off();                                                      for(n=0;n<5;n++)               //模式3:间隔点亮                   {                      for (i = 2; i < 8; i++)     //间隔顺序同时点亮                             LED_02(i);                          for (i = 6; i > 2; i--)         //间隔逆序同时点亮                             LED_02(i);                   }                   LED_off();                                              for(o=0;o<5;o++)               //模式4:相临点亮                   {                      for (i = 1; i < 8; i++)     //相临顺序同时点亮                             LED_03(i);                          for (i = 6; i > 1; i--)         //相临逆序同时点亮                             LED_03(i);                   }                   LED_off();                                      for(p=0;p<5;p++)               //模式5:发散聚集点亮                   {                      for(i=0;i<4;i++)            //发散点亮                            LED_04(i);                      for(i=2;i>0;i--)            //聚集点亮                            LED_04(i);                                      }                   LED_off();                    for(q=0;q<5;q++)               //模式6:四四点亮                   {                      for(i=0;i<4;i++)            //四四顺序点亮                            LED_05(i);                      for(i=2;i>0;i--)            //四四逆序点亮                            LED_05(i);                                      }                   LED_off();                                      for(s=0;s<5;s++)               //模式7:四四点亮                   {                      for(i=0;i<2;i++)            //四四顺序点亮                            LED_06(i);                              }                   LED_off();                                      for(j=0;j<10;j++)              //模式8:全部点亮熄灭                   {                     LED_on();                         LED_off();                   }  
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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