找回密码
 立即注册

QQ登录

只需一步,快速开始

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

DIY单片机五角星流水灯 源程序

[复制链接]
ID:666748 发表于 2019-12-20 21:12 | 显示全部楼层 |阅读模式
基于单片机的五角星流水灯DIY,有兴趣的小伙伴可以看看
0.jpg 51hei.png

单片机源程序如下:
  1. #include "STC15F2K.h"

  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. sbit D1=P1^2;
  5. sbit D3=P1^1;
  6. sbit D5=P1^0;
  7. sbit D7 =P2^7;
  8. sbit D9=P2^6;
  9. sbit D11=P1^7;
  10. sbit D13=P1^6;
  11. sbit D15=P1^5;
  12. sbit D17=P1^4;
  13. sbit D19=P1^3;
  14. sbit D21=P3^3;
  15. sbit D23=P3^2;
  16. sbit D25=P3^1;
  17. sbit D27=P3^0;
  18. sbit D29=P0^1;
  19. sbit D31=P2^0;
  20. sbit D33=P3^7;
  21. sbit D35=P3^6;
  22. sbit D37=P3^5;
  23. sbit D39=P3^4;
  24. sbit D41=P2^1;
  25. sbit D43=P2^2;
  26. sbit D45=P2^3;
  27. sbit D47=P2^4;
  28. sbit D49=P2^5;

  29. void Delayms(uint t)
  30. {
  31.         uchar i;
  32.         while(t--)
  33.            for(i=0;i<123;i++);
  34. }
  35. void xg1()
  36. {
  37.         P2=0X00;
  38.         P1=0X00;
  39.         P3=0X00;
  40.         D7=0;
  41.         D29=0;
  42.         Delayms(9000);
  43.         Delayms(9000);
  44.         Delayms(9000);
  45.         Delayms(9000);
  46.         Delayms(9000);
  47. }
  48. void xg2()
  49. {
  50.         char i;
  51.         for(i=0;i<8;i++)
  52.         {
  53.                 D1=D3=D5=D7=D9=D19=D17=D15=D13=D11=D29=D27=D25=0;
  54.                 D49=D47=D45=D43=D41=D31=D33=D35=D37=D39=D21=D23=1;
  55.                 Delayms(2000);       
  56.                 D1=D3=D5=D7=D9=D19=D17=D15=D13=D11=D29=D27=D25=1;
  57.                 D49=D47=D45=D43=D41=D31=D33=D35=D37=D39=D21=D23=0;
  58.                 Delayms(2000);       
  59.         }
  60. }
  61. void xg3()
  62. {
  63.         char i;
  64.         for(i=0;i<10;i++)
  65.         {
  66.                 P2=0X55;
  67.                 P1=0X55;
  68.                 P3=0X55;
  69.                 D7=0;
  70.                 Delayms(1000);       
  71.                 P2=0XAA;
  72.                 P1=0XAA;
  73.                 P3=0XAA;
  74.                 D7=1;
  75.                 Delayms(1000);       
  76.         }
  77. }
  78. void xg4()
  79. {
  80.         char i;
  81.         bit f;

  82.         for(i=0;i<3;i++)
  83.         {
  84.                 f=!f;
  85.                 D41=f;
  86.                 Delayms(1000);
  87.                 D43=f;
  88.                 Delayms(1000);
  89.                 D45=f;
  90.                 Delayms(1000);
  91.                 D47=f;
  92.                 Delayms(1000);
  93.                 D49=f;
  94.                 Delayms(1000);
  95.                 D9=f;
  96.                 Delayms(1000);
  97.                 D7=f;
  98.                 Delayms(1000);
  99.                 D5=f;
  100.                 Delayms(1000);
  101.                 D3=f;
  102.                 Delayms(1000);
  103.                 D1=f;
  104.                 Delayms(1000);
  105.                 D19=f;
  106.                 Delayms(1000);
  107.                 D17=f;
  108.                 Delayms(1000);
  109.                 D15=f;
  110.                 Delayms(1000);
  111.                 D13=f;
  112.                 Delayms(1000);
  113.                 D11=f;
  114.                 Delayms(1000);
  115.                 D29=f;       
  116.                 Delayms(1000);
  117.                 D27=f;
  118.                 Delayms(1000);
  119.                 D25=f;
  120.                 Delayms(1000);
  121.                 D23=f;
  122.                 Delayms(1000);
  123.                 D21=f;
  124.                 Delayms(1000);
  125.                 D39=f;
  126.                 Delayms(1000);
  127.                 D37=f;
  128.                 Delayms(1000);
  129.                 D35=f;
  130.                 Delayms(1000);
  131.                 D33=f;
  132.                 Delayms(1000);
  133.                 D31=f;
  134.                 Delayms(1000);
  135.         }
  136.         D29=1;
  137.         P1=0XFF;
  138.         P2=0XFF;
  139.         P3=0XFF;
  140. }
  141. void xg5()
  142. {
  143.         char i;
  144.         bit f;
  145.         int yanshi=9000;

  146.         for(i=0;i<17;i++)
  147.         {
  148.                 f=!f;
  149.                 D9=f;
  150.                 D19=f;
  151.                 D29=f;
  152.                 D39=f;
  153.                 D41=f;
  154.                 Delayms(yanshi);
  155.                 yanshi=yanshi-500;                                       
  156.         }
  157.         D29=1;
  158.         P1=0XFF;
  159.         P2=0XFF;
  160.         P3=0XFF;
  161. }
  162. void xg6()//不完善
  163. {
  164.         D49=0;
  165.         D47=0;
  166.         D9=0;
  167.         D7=0;
  168.         Delayms(1000);

  169.         D49=1;
  170.         D47=1;
  171.         D9=1;
  172.         D7=1;
  173.         D45=0;
  174.         D43=0;
  175.         D5=0;
  176.         D3=0;
  177.         Delayms(1000);

  178.         D45=1;
  179.         D43=1;
  180.         D5=1;
  181.         D3=1;
  182.         D41=0;
  183.         D31=0;
  184.         D1=0;
  185.         D19=0;
  186.         Delayms(1000);

  187.         D41=1;
  188.         D31=1;
  189.         D1=1;
  190.         D19=1;
  191.         D33=0;
  192.         D35=0;
  193.         D17=0;
  194.         D15=0;
  195.         Delayms(1000);

  196.         D33=1;
  197.         D35=1;
  198.         D17=1;
  199.         D15=1;
  200.         D37=0;
  201.         D39=0;
  202.         D13=0;
  203.         D11=0;
  204.         Delayms(1000);

  205.         D37=1;
  206.         D39=1;
  207.         D13=1;
  208.         D11=1;
  209.         D21=0;
  210.         D23=0;
  211.         D29=0;
  212.         D27=0;
  213.         D25=0;
  214.         Delayms(1000);

  215.         D37=0;
  216.         D39=0;
  217.         D13=0;
  218.         D11=0;
  219.         D21=1;
  220.         D23=1;
  221.         D29=1;
  222.         D27=1;
  223.         D25=1;
  224.         Delayms(1000);

  225.         D33=0;
  226.         D35=0;
  227.         D17=0;
  228.         D15=0;
  229.         D37=1;
  230.         D39=1;
  231.         D13=1;
  232.         D11=1;
  233.         Delayms(1000);

  234.         D41=0;
  235.         D31=0;
  236.         D1=0;
  237.         D19=0;
  238.         D33=1;
  239.         D35=1;
  240.         D17=1;
  241.         D15=1;
  242.         Delayms(1000);

  243.         D45=0;
  244.         D43=0;
  245.         D5=0;
  246.         D3=0;
  247.         D41=1;
  248.         D31=1;
  249.         D1=1;
  250.         D19=1;
  251.         Delayms(1000);

  252.         D49=0;
  253.         D47=0;
  254.         D9=0;
  255.         D7=0;
  256.         D45=1;
  257.         D43=1;
  258.         D5=1;
  259.         D3=1;
  260.         Delayms(1000);

  261.         D49=1;
  262.         D47=1;
  263.         D9=1;
  264.         D7=1;
  265.         Delayms(1000);

  266.         D29=1;
  267.         P1=0XFF;
  268.         P2=0XFF;
  269.         P3=0XFF;
  270. }
  271. void xg7()
  272. {
  273.         char i;
  274.         int yanshi=2000;

  275.         for(i=0;i<6;i++)
  276.         {
  277.                 D49=1;
  278.                 D9=0;
  279.                 Delayms(yanshi);
  280.                 D9=1;
  281.                 D7=0;
  282.                 Delayms(yanshi);
  283.                 D7=1;
  284.                 D5=0;
  285.                 Delayms(yanshi);
  286.                 D5=1;
  287.                 D3=0;
  288.                 Delayms(yanshi);
  289.                 D3=1;
  290.                 D1=0;
  291.                 Delayms(yanshi);
  292.                 D1=1;
  293.                 D19=0;
  294.                 Delayms(yanshi);
  295.                 D19=1;
  296.                 D17=0;
  297.                 Delayms(yanshi);
  298.                 D17=1;
  299.                 D15=0;
  300.                 Delayms(yanshi);
  301.                 D15=1;
  302.                 D13=0;
  303.                 Delayms(yanshi);
  304.                 D13=1;
  305.                 D11=0;
  306.                 Delayms(yanshi);
  307.                 D11=1;
  308.                 D29=0;
  309.                 Delayms(yanshi);
  310.                 D29=1;
  311.                 D27=0;
  312.                 Delayms(yanshi);
  313.                 D27=1;
  314.                 D25=0;
  315.                 Delayms(yanshi);
  316.                 D25=1;
  317.                 D23=0;
  318.                 Delayms(yanshi);
  319.                 D23=1;
  320.                 D21=0;
  321.                 Delayms(yanshi);
  322.                 D21=1;
  323.                 D39=0;
  324.                 Delayms(yanshi);
  325.                 D39=1;
  326.                 D37=0;
  327.                 Delayms(yanshi);
  328.                 D37=1;
  329.                 D35=0;
  330.                 Delayms(yanshi);
  331.                 D35=1;
  332.                 D33=0;
  333.                 Delayms(yanshi);
  334.                 D33=1;
  335.                 D31=0;
  336.                 Delayms(yanshi);
  337.                 D31=1;
  338.                 D41=0;
  339.                 Delayms(yanshi);
  340.                 D41=1;
  341.                 D43=0;
  342.                 Delayms(yanshi);
  343.                 D43=1;
  344.                 D45=0;
  345.                 Delayms(yanshi);
  346.                 D45=1;
  347.                 D47=0;
  348.                 Delayms(yanshi);
  349.                 D47=1;
  350.                 D49=0;
  351.                 Delayms(yanshi);
  352.                 yanshi=yanshi-300;
  353.         }
  354.         D29=0;
  355.         P1=0X00;
  356.         P2=0X00;
  357.         P3=0X00;
  358.         Delayms(5000);
  359.         D29=1;
  360.         P1=0XFF;
  361.         P2=0XFF;
  362.         P3=0XFF;
  363. }
  364. void xg8()
  365. {
  366.         char i;
  367.         int yanshi=2200;
  368.         for(i=0;i<30;i++)
  369.         {
  370.                 D9=0;
  371.                 D19=0;
  372.                 D29=0;
  373.                 D39=0;
  374.                 D41=0;
  375.                 Delayms(yanshi);
  376.                
  377.                 D9=1;
  378.                 D19=1;
  379.                 D29=1;
  380.                 D39=1;
  381.                 D41=1;
  382.                 D7=0;
  383.                 D17=0;
  384.                 D27=0;
  385.                 D37=0;
  386.                 D43=0;
  387.                 Delayms(yanshi);
  388.                
  389.                 D5=0;
  390.                 D15=0;
  391.                 D25=0;
  392.                 D35=0;
  393.                 D45=0;
  394.                 D7=1;
  395.                 D17=1;
  396.                 D27=1;
  397.                 D37=1;
  398.                 D43=1;
  399.                 Delayms(yanshi);       
  400.                
  401.                 D5=1;
  402.                 D15=1;
  403.                 D25=1;
  404.                 D35=1;
  405.                 D45=1;
  406.                 D3=0;
  407.                 D13=0;
  408.                 D23=0;
  409.                 D33=0;
  410.                 D47=0;
  411.                 Delayms(yanshi);
  412.                
  413.                 D1=0;
  414.                 D11=0;
  415.                 D21=0;
  416.                 D31=0;
  417.                 D49=0;
  418.                 D3=1;
  419.                 D13=1;
  420.                 D23=1;
  421.                 D33=1;
  422.                 D47=1;
  423.                 Delayms(yanshi);
  424.                 D1=1;
  425.                 D11=1;
  426.                 D21=1;
  427.                 D31=1;
  428.                 D49=1;
  429.                 if(yanshi<200);
  430.                 else yanshi=yanshi-100;                                                                               
  431.         }
  432.         D29=1;
  433.         P1=0XFF;
  434.         P2=0XFF;
  435.         P3=0XFF;       
  436. }
  437. void xg9()
  438. {
  439.         char i;
  440.         for(i=0;i<2;i++)
  441.         {
  442.                 D49=0;
  443.                 Delayms(1000);
  444.                 D9=0;
  445.                 Delayms(1000);       
  446.                 D7=0;
  447.                 Delayms(1000);
  448.                 D5=0;
  449.                 Delayms(1000);
  450.                 D3=0;
  451.                 Delayms(1000);       
  452.                 D1=0;
  453.                 Delayms(1000);
  454.                 D19=0;
  455.                 Delayms(1000);       
  456.                 D17=0;
  457.                 Delayms(1000);
  458.                 D15=0;
  459.                 Delayms(1000);       
  460.                 D13=0;
  461.                 Delayms(1000);
  462.                 D11=0;
  463.                 Delayms(1000);       
  464.                 D29=0;
  465.                 Delayms(1000);
  466.                 D27=0;
  467.                 Delayms(1000);
  468.                 D25=0;
  469.                 Delayms(1000);       
  470.                 D23=0;
  471.                 Delayms(1000);       
  472.                 D21=0;
  473.                 Delayms(1000);       
  474.                 D39=0;
  475.                 Delayms(1000);       
  476.                 D37=0;
  477.                 Delayms(1000);
  478.                 D35=0;
  479.                 Delayms(1000);       
  480.                 D33=0;
  481.                 Delayms(1000);       
  482.                 D31=0;
  483.                 Delayms(1000);       
  484.                 D41=0;
  485.                 Delayms(1000);       
  486.                 D43=0;
  487.                 Delayms(1000);       
  488.                 D45=0;
  489.                 Delayms(1000);       
  490.                 D47=0;
  491.                 Delayms(1000);       

  492.                 D47=1;
  493.                 Delayms(1000);       
  494.                 D45=1;
  495.                 Delayms(1000);       
  496.                 Delayms(1000);       
  497.                 D43=1;
  498.                 Delayms(1000);       
  499.                 D41=1;
  500.                 Delayms(1000);       
  501.                 D31=1;
  502.                 Delayms(1000);       
  503.                 D33=1;
  504.                 Delayms(1000);
  505.                 D35=1;
  506.                 Delayms(1000);       
  507.                 D37=1;
  508.                 Delayms(1000);       
  509.                 D39=1;
  510.                 Delayms(1000);       
  511.                 D21=1;
  512.                 Delayms(1000);       
  513.                 D23=1;
  514.                 Delayms(1000);
  515.                 D25=1;
  516.                 Delayms(1000);
  517.                 D27=1;
  518.                 Delayms(1000);       
  519.                 D29=1;
  520.                 Delayms(1000);
  521.                 D11=1;
  522.                 Delayms(1000);       
  523.                 D13=1;
  524.                 Delayms(1000);
  525.                 D15=1;
  526.                 Delayms(1000);       
  527.                 D17=1;
  528.                 Delayms(1000);
  529.                 D19=1;
  530.                 Delayms(1000);       
  531.                 D1=1;
  532.                 Delayms(1000);
  533.                 D3=1;
  534.                 Delayms(1000);
  535.                 D5=1;
  536.                 Delayms(1000);       
  537.                 D7=1;
  538.                 Delayms(1000);
  539.                 D9=1;
  540.                 Delayms(1000);
  541.                 D49=1;
  542.                 Delayms(1000);
  543.         }                                                               
  544. }
  545. void main()
  546. {
  547.         D29=1;
  548.         P1=0XFF;
  549.         P2=0XFF;
  550.         P3=0XFF;
  551.         while(1)
  552.         {
  553.                 xg1();
  554.                 xg2();
  555.                 xg3();
  556.                 xg4();
  557.                 xg5();
  558.                 xg6();
  559.                 xg7();
  560.                 xg8();
  561.                 xg9();
  562.         }
  563. }
复制代码

所有资料51hei提供下载:
程序.rar (1.69 MB, 下载次数: 19)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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