找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机diy心形led灯 视频+程序

[复制链接]
跳转到指定楼层
楼主
ID:70941 发表于 2015-4-5 22:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

视频:


avr单片机心形led灯程序源码如下:
  1. #include "iom16v.h"
  2. #include "macros.h"
  3. void Delay(int i) //
  4. {
  5.    long x=5000;

  6.    while(x--);
  7. }
  8. void main()
  9. {
  10.    char i=0,j=3,k=3;  
  11.      DDRB=0xff;
  12. while(1)
  13. {
  14.    while(j>0)
  15.    {
  16.       for(i=0;i<8;i++)
  17.       {
  18.         PORTB=~BIT(i)&~BIT(i-1);
  19.   
  20.            Delay(2);        }
  21.    j--;
  22. }
  23. for(j=0;j<2;j++)
  24. for(i=0;i<8;i++)
  25. {
  26.         PORTB=~BIT(i);
  27.   
  28.             Delay(2);     }
  29. for(j=0;j<4;j++)
  30. for(i=0;i<8;i++)
  31. {
  32.         PORTB=~BIT(7-i);
  33.   
  34.             Delay(0);     }

  35. for(i=0;i<8;i++)
  36. {
  37.         PORTB=~BIT(i)&~BIT(7);
  38.   
  39.             Delay(2);     }
  40.    for(i=0;i<8;i++)
  41. {
  42.         PORTB=~BIT(i)&~BIT(7)&~BIT(6);
  43.   
  44.            Delay(2);      }
  45.   for(i=0;i<8;i++)
  46. {
  47.         PORTB=~BIT(i)&~BIT(7)&~BIT(6)&~BIT(5);
  48.   
  49.            Delay(2);     }
  50.    for(i=0;i<8;i++)
  51. {
  52.         PORTB=~BIT(i)&~BIT(7)&~BIT(6)&~BIT(5)&~BIT(4);
  53.         Delay(2);     }
  54.   for(i=0;i<8;i++)
  55. {
  56.         PORTB=~BIT(i)&~BIT(7)&~BIT(6)&~BIT(5)&~BIT(4)&~BIT(3);
  57.   
  58.              Delay(2);     }
  59.   for(i=0;i<8;i++)
  60. {
  61.         PORTB=~BIT(i)&~BIT(7)&~BIT(6)&~BIT(5)&~BIT(4)&~BIT(3)&~BIT(2);
  62.   
  63.            Delay(2);      }
  64.   for(i=0;i<8;i++)
  65. {
  66.         PORTB=~BIT(i)&~BIT(7)&~BIT(6)&~BIT(5)&~BIT(4)&~BIT(3)&~BIT(2)&~BIT(1);
  67.   
  68.             Delay(2);      }
  69. for(i=0;i<8;i++)
  70. {
  71.         PORTB=~BIT(i)&~BIT(7)&~BIT(6)&~BIT(5)&~BIT(4)&~BIT(3)&~BIT(2)&~BIT(1)&~BIT(0);
  72.   
  73.            Delay(2);     }
  74. for(j=0;j<5;j++)
  75. for(i=0;i<8;i++)
  76. {
  77. PORTB=~BIT(i+1)&~BIT(7-i);
  78. Delay(2);     }
  79. for(i=0;i<20;i++)
  80. {PORTB=~BIT(0)&~BIT(1)&~BIT(2)&~BIT(3)&~BIT(4)&~BIT(5)&~BIT(6)&~BIT(7);
  81. Delay(2);  }

  82. for(j=0;j<4;j++)
  83. for(i=0;i<8;i++)
  84. {
  85. if(i%2==0)
  86. {PORTB=~BIT(1)&~BIT(3)&~BIT(5)&~BIT(7);
  87.      Delay(2);    }
  88.    if(i%2==1)
  89. {PORTB=~BIT(2)&~BIT(4)&~BIT(6)&~BIT(0);
  90.      Delay(2);    }
  91.   }
  92.   for(i=0;i<8;i++)
  93.       {
  94.         PORTB=~BIT(i)&~BIT(i-1);
  95.   
  96.              Delay(2);      }

  97. for(i=0;i<8;i++)
  98.       {
  99.         PORTB=~BIT(i)&~BIT(i-1)&~BIT(i-2);
  100.   
  101.             Delay(2);        }
  102. for(i=0;i<8;i++)
  103.       {
  104.         PORTB=~BIT(i)&~BIT(i-1)&~BIT(i-2)&~BIT(i-3);
  105.   
  106.            Delay(2);  
  107.       }
  108. for(i=0;i<8;i++)
  109.       {
  110.         PORTB=~BIT(i)&~BIT(i-1)&~BIT(i-2)&~BIT(i-3)&~BIT(i-4);
  111.   
  112.              Delay(2);       }
  113. for(i=0;i<8;i++)
  114.       {
  115.         PORTB=~BIT(i)&~BIT(i-1)&~BIT(i-2)&~BIT(i-3)&~BIT(i-4)&~BIT(i-5);
  116.   
  117.             Delay(2);       }
  118.    for(i=0;i<8;i++)
  119.       {
  120.         PORTB=~BIT(i)&~BIT(i-1)&~BIT(i-2)&~BIT(i-3)&~BIT(i-4)&~BIT(i-5)&~BIT(i-6);
  121.   
  122.            Delay(2);        }
  123.    for(i=0;i<8;i++)
  124.    {PORTB=~BIT(i+1)&~BIT(7-i);
  125.    Delay(2);}
  126.    for(i=0;i<8;i++)
  127.    {PORTB=~BIT(i+1)&~BIT(7-i)&~BIT(0);
  128.    Delay(2);}
  129.    for(i=0;i<8;i++)
  130.    {PORTB=~BIT(i+1)&~BIT(7-i)&~BIT(0)&~BIT(1)&~BIT(7);
  131.    Delay(2);}
  132.    for(i=0;i<8;i++)
  133.    {PORTB=~BIT(i+1)&~BIT(7-i)&~BIT(0)&~BIT(1)&~BIT(7)&~BIT(2)&~BIT(6);
  134.    Delay(2);}
  135.    for(i=0;i<8;i++)
  136.    {PORTB=~BIT(i+1)&~BIT(7-i)&~BIT(0)&~BIT(1)&~BIT(7)&~BIT(2)&~BIT(6)&~BIT(3)&~BIT(5);
  137.    Delay(2);}
  138.    for(i=0;i<8;i++)
  139.    {PORTB=~BIT(i+1)&~BIT(7-i)&~BIT(0)&~BIT(1)&~BIT(7)&~BIT(2)&~BIT(6)&~BIT(3)&~BIT(5)&~BIT(4);
  140.    Delay(2);}
  141.    for(i=0;i<20;i++)
  142.   
  143.    {if(i%2==1)
  144.     {PORTB=~BIT(0)&~BIT(1)&~BIT(7)&~BIT(2)&~BIT(6)&~BIT(3)&~BIT(5)&~BIT(4);
  145.    Delay(2);}
  146.    if(i%2==0)
  147.    { PORTB=0xff;
  148.     Delay(2);}
  149.     }
  150.     for(i=0;i<20;i++)
  151.     {PORTB=~BIT(0)&~BIT(1)&~BIT(7)&~BIT(2)&~BIT(6)&~BIT(3)&~BIT(5)&~BIT(4);
  152.    Delay(2);}
  153.   
  154. }
  155. }
复制代码



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

使用道具 举报

沙发
ID:817494 发表于 2020-9-14 22:49 | 只看该作者
可以请问一下需要什么元件吗
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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