爱心灯源码,51单片机音乐相册爱心灯DIY

来源:互联网 发布:java 源值1.5已过时 编辑:程序博客网 时间:2024/04/27 14:22

这不女友快生日了吗,所以就打算送他一份非常精美的,且有心意的礼物,所以就做了个非常有爱的心形LED灯
这里写图片描述

这里写图片描述

1.灯:采用32颗高透明5mm七彩LED设计
2.音乐:自带靓音蜂鸣器,4首歌曲轮流播放,声音清脆靓丽,后期还会增加的哦
3.红色:大红色PCB更艳丽,尽显自己的心意,作为礼品赠送更大气
4.心形:心形底板,PCB就代表我的心
5.照片:还能在中间放上心仪者的照片哦!!超有爱
6.电路:电路通过计算省略很多元件,电路更简洁,焊接容易,看着更舒服
7.焊接:多处焊接点进行优化,大焊盘更易焊接,miniUSB口也特殊处理了哦,人性化设计
8.外壳:高品质亚克力外壳更精美,透亮,
9.结构:外壳结构精心设计,只用几颗螺丝就能做到严丝合缝,抛弃有毒的胶水
10.动画:50个动画,看的眼花撩轮,心花怒放
这里写图片描述

部分源代码

#include<reg52.h> #include<intrins.h> #define uchar unsigned char void delays(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } void main() {     uint i,j,n; uchar a,b,c,d;      for(i=0;i<1;i++)       //                                                               所有灯闪1下     {           P0=P1=P2=P3=0x00;delays(1000);           P0=P1=P2=P3=0xff;delays(1000);       }                                                P3=P2=0xff;                                                        //两边一起向下流水                         for(j=0;j<=8;j++)                         {                             P1=0xff<<j;P0=0xff<<j;delays(40);                         }                         for(j=0;j<=8;j++)                         {                             P3=0xff<<j; P2=0xff>>j;delays(40);                         }                         P0=P1=P2=P3=0x00;delays(500);                         for(j=0;j<8;j++)                         {P3=0xff<<(7-j);P2=0xff>>(7-j);delays(40);                         }                        for(j=0;j<8;j++)                         {                             P0=0xff<<(7-j);P1=0xff<<(7-j);delays(40);                         }                                                                     P3=P2=0xff;           //两边 杂乱 闪烁                                      for(j=0;j<=8;j++)                                      {P1=0xff<<j; P0=0xff<<j; delays(40);                                      }                                      for(j=0;j<=8;j++)                                      {P3=0xff>>j;P2=0xff<<j; delays(40);                                      }                                      P0=P1=P2=P3=0x00;delays(500);                                      for(j=0;j<8;j++)                                      {P1=0xff>>(7-j);P0=0xff>>(7-j);delays(40);                                      }                                      for(j=0;j<8;j++)                                      {P2=0xff>>(7-j);P3=0xff<<(7-j);delays(40);                                      }                                           P0=P1=P2=P3=0xff;    //一边向下流水          for(j=0;j<=8;j++)          { P1=0xff<<j;delays(30);          }                for(j=0;j<=8;j++)          {                P3=0xff<<j;delays(30);          }          for(j=0;j<=8;j++)          {                P2=0xff<<j;delays(30);          }          for(j=0;j<=8;j++)          {                P0=0xff>>j;delays(30);          }            P0=P1=P2=P3=0x00;          delays(500)  ;          for(j=0;j<8;j++)          {                 P0=0xff>>(7-j);delays(30);          }          for(j=0;j<8;j++)          {                 P2=0xff<<(7-j);delays(30);          }          for(j=0;j<8;j++)          {                 P3=0xff<<(7-j);delays(30);          }          for(j=0;j<8;j++)          {                 P1=0xff<<(7-j);delays(30);          }          P0=P1=P2=P3=0xff;          for(j=0;j<=8;j++)          {                P0=0xff<<j; delays(30);          }                for(j=0;j<=8;j++)          {                P2=0xff>>j; delays(30);          }          for(j=0;j<=8;j++)          {                P3=0xff>>j;delays(30);          }          for(j=0;j<=8;j++)          {                P1=0xff>>j;delays(30);          }            P0=P1=P2=P3=0x00;          delays(500)  ;          for(j=0;j<8;j++)          {                 P1=0xff>>(7-j);delays(30);          }          for(j=0;j<8;j++)          {                 P3=0xff>>(7-j);delays(30);          }          for(j=0;j<8;j++)          {                 P2=0xff>>(7-j);delays(30);          }          for(j=0;j<8;j++)          {                 P0=0xff<<(7-j);delays(30);          }  //2                                         P0=P2=P3=0xff ;                         for(i=0;i<=8;i++)           {   P1=0xff<<i;delays(50);           } delays(800);           for(i=0;i<8;i++)           {   P1=0xff>>(7-i);delays(50);           }  P0=P1=P2=0xff;                for(i=0;i<=8;i++)                {  P3=0xff<<i;delays(50);                }   delays(800);                for(i=0;i<8;i++)                {   P3=0xff>>(7-i);delays(50);                }P0=P1=P3=0xff;            for(i=0;i<=8;i++)           {  P2=0xff<<i;delays(50);                                         }   delays(800);           for(i=0;i<8;i++)                                         {   P2=0xff>>(7-i);delays(50);                                         } P1=P2=P3=0xff;                for(i=0;i<=8;i++)                {  P0=0xff>>i;delays(50);                }      delays(800);                for(i=0;i<8;i++)                {  P0=0xff<<(7-i);delays(50);                }           P2=P3=0xff;for(i=0;i<=8;i++)                     {           P0=0xff<<i;P1=0xff<<i;delays(50);      }delays(800);      for(i=0;i<8;i++)      {           P0=0xff>>(7-i);P1=0xff>>(7-i);delays(50);           }P0=P1=0xff;           for(i=0;i<=8;i++)           {               P3=0xff<<i;P2=0xff>>i;delays(50);           }delays(800);           for(i=0;i<8;i++)           {               P3=0xff>>(7-i);P2=0xff<<(7-i);delays(50);           }           for(i=0;i<3;i++)           {               P1=P3=P2=0xcc;P0=0x33;delays(500);P1=P3=P2=0x33;P0=0xcc;delays(500);           }                            P1=P3=P2=0xcc;   P0=0x33;           //首先逆时针                                                          for(i=0;i<120;i++)                                                          {                                                                     delays(100);P0=_cror_(P0,1);P1=_crol_(P1,1);P3=_crol_(P3,1);P2=_crol_(P2,1);                                                          }                                                          delays(1500) ;                                                          for(i=0;i<120;i++)                                                          {                                                                     delays(100); P0=_crol_(P0,1);P1=_cror_(P1,1);P3=_cror_(P3,1);P2=_cror_(P2,1);                                                           } delays(1000);      P1=P3=P2=0x0f;   P0=0xf0;           //首先逆时针      for(i=0;i<80;i++)       {              delays(120);P0=_cror_(P0,1);P1=_crol_(P1,1);P3=_crol_(P3,1);P2=_crol_(P2,1);       }       delays(1500) ;        for(i=0;i<80;i++)       {              delays(120); P0=_crol_(P0,1);P1=_cror_(P1,1);P3=_cror_(P3,1);P2=_cror_(P2,1);       }                    P1=P3=P0=0x77;P2=0xee;                  for(i=0;i<50;i++)    //四口来回转                  {                              delays(100);P0=_crol_(P0,1);P1=_crol_(P1,1);P3=_crol_(P3,1);P2=_cror_(P2,1);                  }         P0=P3=0xff;P1=P2=0xfe;                          for(i=0;i<8;i++)           {      delays(30);                  P1=_crol_(P1,1);P2=_crol_(P2,1);            }P1=P2=0xff;P3=0xfe;P0=0x7f;           for(i=0;i<8;i++)           {      delays(30);                  P3=_crol_(P3,1);P0=_cror_(P0,1);           }P0=0xfe;P3=0x7f;a=0x7f;  b=0xfe;        for(j=1;j<8;j++)        {  c=0xff<<j;d=0xff>>j;           P1=P2=0xfe;                          for(i=0;i<=7;i++)           {      delays(30);                  P1=_crol_(P1,1);P2=_crol_(P2,1);           }P1=P2=0xff;                                                                       for(i=0;i<7;i++)                                                        {                      P0=a&c;P3=b&d;delays(30);                                                               a=_cror_(a,1);b=_crol_(b,1);                                                                                                                        }         } P0=P3=0x00;b=0xfe;       for(j=1;j<8;j++)       {  d=0xff>>j;             for(i=0;i<7;i++)             {                P1=b&d;P2=b&d;delays(30);b=_crol_(b,1);             }                  }    n=2;     while(n)            {               P1=P2=P3=0x7f;P0=0xfe;               for(i=0;i<7;i++)               {   delays(100);P1=_cror_(P1,1);P2=_cror_(P2,1);P3=_cror_(P3,1);P0=_crol_(P0,1);               } delays(100);               c=0xfe;d=0x7f;a=0x7f;b=0xfe;               for(j=0;j<9;j++)              {                                for(i=0;i<=8;i++)                 {                      P1=P2=P3=c&a;P0=b&d;delays(100);     a=_cror_(a,1);b=_crol_(b,1);                                     } c=_cror_(c,1);d=_crol_(d,1); a=c;b=d;              }n--;            }                                       P3=P2=0xff;        //两边一起向下亮                                       for(j=0;j<=8;j++)                                       {                                             P1=0xff<<j;P0=0xff<<j;delays(40);                                       }                                       for(j=0;j<=8;j++)                                       {                                             P3=0xff<<j; P2=0xff>>j;delays(40);                                       }  while(1)                                                       //一心调频率接近的跳动  {      P0=P1=P2=P3=0x00;delays(800);      P0=P1=P2=P3=0xff;delays(800);  }   }    

如果喜欢的话可以直接在淘宝里面搜索“成长路DIY” 还有更多的新奇DIY套件哦,MP3广州塔,单片机游戏机

这里写图片描述

这里写图片描述

这里写图片描述
这里写图片描述

0 0
原创粉丝点击