找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5643|回复: 0
收起左侧

电子圣诞树制作 含LED单片机程序与实物图

[复制链接]
ID:140725 发表于 2017-4-4 02:59 | 显示全部楼层 |阅读模式
分享一个小电子制作 很简单 led电子圣诞树:

151701pjj1jrfj6pjzvq6f.jpg.thumb.jpg

151702hn8n9cbl8lml0znz.jpg.thumb.jpg

15170399595gahhgathgz7.jpg.thumb.jpg

1517046qgqu84zuiecqhsc.jpg.thumb.jpg
单片机程序源码:
  1. #include
  2. unsigned char i,j;
  3. void delay_ms (unsigned int a)
  4. {
  5.         unsigned int i;
  6.         while( a-- != 0)
  7.         {
  8.                 for(i = 0; i < 125; i++);
  9.         }        
  10. }

  11. void main(void)
  12. {        
  13.   while(1)
  14.   {
  15. /**********旋转亮灯*************************/
  16.           for(j=0;j<6;j++)
  17.           { P0=0;
  18.             for(i=0;i<7;i++)
  19.             {
  20.                          P2 = 1<<i;
  21.                          delay_ms (500);
  22.              }         
  23.                 P0=0;
  24.             for(i=0;i<7;i++)
  25.             {
  26.                          P2 = 0x20>>i;
  27.                          delay_ms (500);
  28.              }                 
  29.           }
  30.           P0=0;
  31.            P2=0xff;
  32.            delay_ms (6500);
  33.           delay_ms (6500);
  34.         
  35. /**********螺旋上升,灯数增加。*************************/
  36.     for(i=0;i<8;i++)
  37.                 {  
  38.                    for(j=0;j<6;j++)
  39.                    {
  40.                           P0 =~(1<<i);
  41.                         P2 = 1<<j;
  42.                         delay_ms (300);
  43.                    }
  44.                 }
  45.                  for(i=0;i<8;i++)
  46.                 {  
  47.                    for(j=0;j<6;j++)
  48.                    {
  49.                           P0 =~(0x03<<i);
  50.                         P2 = 1<<j;
  51.                         delay_ms (300);
  52.                    }
  53.                 }
  54.                  for(i=0;i<8;i++)
  55.                 {  
  56.                    for(j=0;j<6;j++)
  57.                    {
  58.                           P0 =~(0x07<<i);
  59.                         P2 = 1<<j;
  60.                         delay_ms (300);
  61.                    }
  62.                 }
  63.                  for(i=0;i<8;i++)
  64.                 {  
  65.                    for(j=0;j<6;j++)
  66.                    {
  67.                           P0 =~(0x0f<<i);
  68.                         P2 = 1<<j;
  69.                         delay_ms (300);
  70.                    }
  71.                 }
  72.                  for(i=0;i<8;i++)
  73.                 {  
  74.                    for(j=0;j<6;j++)
  75.                    {
  76.                           P0 =~(0x1f<<i);
  77.                         P2 = 1<<j;
  78.                         delay_ms (300);
  79.                    }
  80.                 }
  81.                  for(i=0;i<8;i++)
  82.                 {  
  83.                    for(j=0;j<6;j++)
  84.                    {
  85.                           P0 =~(0x3f<<i);
  86.                         P2 = 1<<j;
  87.                         delay_ms (300);
  88.                    }
  89.                 }
  90.                  for(i=0;i<8;i++)
  91.                 {  
  92.                    for(j=0;j<6;j++)
  93.                    {
  94.                           P0 =~(0x7f<<i);
  95.                         P2 = 1<<j;
  96.                         delay_ms (300);
  97.                    }
  98.                 }
  99.                  for(i=0;i<8;i++)
  100.                 {  
  101.                    for(j=0;j<6;j++)
  102.                    {
  103.                           P0 =~(0xff<<i);
  104.                         P2 = 1<<j;
  105.                         delay_ms (300);
  106.                    }
  107.                 }
  108.                 P0=0;
  109.            P2=0xff;
  110.            delay_ms (6500);
  111.           delay_ms (6500);

  112. /**********上下单层闪烁*************************/
  113.     for(j=0;j<5;j++)
  114.         {
  115.          for(i=0;i<9;i++)
  116.                 {         
  117.                     P0 =~(1<<i);
  118.                     P2=0xff;
  119.                         delay_ms (500);
  120.                  }
  121.             for(i=0;i<9;i++)
  122.                 {         
  123.                     P0 =~(0x80>>i);
  124.                            P2=0xff;
  125.                         delay_ms (500);
  126.                  }

  127.                 for(i=0;i<9;i++)        //
  128.                 {         
  129.                     P0 =~(0x03<<i);
  130.                     P2=0xff;
  131.                         delay_ms (500);
  132.                  }
  133.             for(i=0;i<9;i++)
  134.                 {         
  135.                     P0 =~(0xc0>>i);
  136.                            P2=0xff;
  137.                         delay_ms (500);
  138.                  }

  139.                           for(i=0;i<9;i++)
  140.                 {         
  141.                     P0 =~(0x07<<i);
  142.                     P2=0xff;
  143.                         delay_ms (500);
  144.                  }
  145.             for(i=0;i<9;i++)
  146.                 {         
  147.                     P0 =~(0xe0>>i);
  148.                            P2=0xff;
  149.                         delay_ms (500);
  150.                  }

  151.           }
  152.            P0=0;
  153.            P2=0xff;
  154.            delay_ms (6500);
  155.           delay_ms (6500);
  156. /**********上下多层闪烁*************************/
  157.             for(j=0;j<7;j++)
  158.                 {
  159.                 for(i=0;i<9;i++)
  160.                 {         
  161.                     P0 =0xff>>i;
  162.                             P2=0xff;
  163.                         delay_ms (200);
  164.                    }

  165.                  for(i=0;i<9;i++)
  166.                 {         
  167.                     P0 =~(0xff>>i);
  168.                             P2=0xff;
  169.                         delay_ms (200);
  170.                  }
  171.          }
  172. /************上下多层闪烁***********************/
  173.             for(j=0;j<7;j++)
  174.                 {
  175.           for(i=0;i<9;i++)
  176.                 {         
  177.                     P0 =0xff<<i;
  178.                
  179.                             P2=0xff;
  180.                         delay_ms (200);
  181.                    }

  182.                  for(i=0;i<9;i++)
  183.                 {         
  184.                     P0 =~(0xff<<i);
  185.                
  186.                             P2=0xff;
  187.                         delay_ms (200);
  188.                  }
  189.            }
  190.            P0=0;
  191.            P2=0xff;
  192.            delay_ms (6500);
  193.           delay_ms (6500);
  194. /**********旋转灭灯*************************/
  195.            for(j=0;j<7;j++)
  196.                 {
  197.           for(i=0;i<8;i++)
  198.                 {          P0=0;
  199.                     P0 =0x03<<i;
  200.                
  201.                    for(j=0;j<6;j++)
  202.                    {
  203.                         P2 = 1<<j;
  204.                         delay_ms (400);
  205.                    }
  206.                 }
  207.            for(i=0;i<8;i++)
  208.                 {          P0=0;
  209.                     P0 =1<<i;
  210.                
  211.                    for(j=0;j<6;j++)
  212.                    {
  213.                         P2 = 0x30>>j;
  214.                         delay_ms (400);
  215.                    }
复制代码

下载:

圣诞树LED程序.rar (21.83 KB, 下载次数: 15)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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