久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 心形流水燈,40幾種方式,程序加PCB [打印本頁]

作者: 小松tws    時間: 2016-7-19 13:10
標題: 心形流水燈,40幾種方式,程序加PCB


所有資料打包下載(含封裝圖 pcb 原理圖等)
心形流水燈.zip (2.06 MB, 下載次數: 669)

  1. #include<reg52.h>
  2. #define        uint        unsigned int
  3. #define        uchar        unsigned char
  4. uchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED從低位往高位移
  5. uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED從高位往低位移
  6. uchar code table2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//LED從1個亮到8個都點亮(從低位往高位)
  7. uchar code table3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//LED從1個亮到8個都點亮(從高位往低位)
  8. uchar code table4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//LED從8個全亮到一個都不亮(從低位往高位)
  9. uchar code table5[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//LED從8個全亮到一個都不亮(從高位往低位)
  10. uchar code table6[]={0xfe,0xfc,0xfa,0xf6,0xee,0xde,0xbe,0x7e};//LED從低位往高位移(最低位始終為0)
  11. uchar code table7[]={0x7f,0x3f,0x5f,0x6f,0x77,0x7b,0x7d,0x7e};//LED從高位往低位移(最高位始終為0)
  12. uchar i,j;                //定義循環變量
  13. uint tt=70;                //定義時間指數
  14. void delay(uint time)        //延時函數
  15. {
  16.         uint x,y;
  17.         for(x=time;x>0;x--)
  18.         for(y=110;y>0;y--);
  19. }
  20. void disp0()                        //狀態0 所有LED閃爍3次
  21. {
  22.         for(i=0;i<3;i++)
  23.         {
  24.                 P0=0x00; P2=0x00; P3=0x00; P1=0x00;
  25.                 delay(300);
  26.                 P0=0xff; P2=0xff; P3=0xff; P1=0xff;
  27.                 delay(300);
  28.         }
  29. }
  30. void disp1()                        //狀態1 LED順時針轉一圈
  31. {
  32.         P0=0xff;
  33.         for(i=0;i<8;i++)
  34.         {
  35.                 P2=table1[i];
  36.                 delay(300);
  37.         }
  38.         P2=0xff;
  39.         for(i=0;i<8;i++)
  40.         {
  41.                 P3=table1[i];
  42.                 delay(300);
  43.         }
  44.         P3=0xff;
  45.         for(i=0;i<8;i++)
  46.         {
  47.                 P1=table1[i];        
  48.                 delay(300);
  49.         }
  50.         P1=0xff;
  51.         for(i=0;i<8;i++)
  52.         {
  53.                 P0=table0[i];
  54.                 delay(300);
  55.         }
  56. }
  57. void disp2()                        //狀態2 LED逆時針轉一圈
  58. {
  59.         for(i=0;i<8;i++)
  60.         {
  61.                 P0=table1[i];
  62.                 delay(100);
  63.         }
  64.         P0=0xff;
  65.         for(i=0;i<8;i++)
  66.         {
  67.                 P1=table0[i];
  68.                 delay(100);
  69.         }
  70.         P1=0xff;
  71.         for(i=0;i<8;i++)
  72.         {
  73.                 P3=table0[i];
  74.                 delay(100);
  75.         }
  76.         P3=0xff;
  77.         for(i=0;i<8;i++)
  78.         {
  79.                 P2=table0[i];
  80.                 delay(100);
  81.         }
  82.         P2=0xff;
  83. }
  84. void disp3()                        //狀態3 4個LED同時順時、逆時針移動1/4圈
  85. {
  86.         for(i=0;i<8;i++)
  87.         {
  88.                 P0=table1[i];
  89.                 P1=table1[i];
  90.                 P2=table1[i];
  91.                 P3=table0[i];
  92.                 delay(100);
  93.         }
  94.         for(i=0;i<8;i++)
  95.         {
  96.                 P0=table0[i];
  97.                 P1=table0[i];
  98.                 P2=table0[i];
  99.                 P3=table1[i];
  100.                 delay(100);
  101.         }
  102.         P3=0xff; P0=0xff;
  103. }
  104. void disp4()                        //狀態4  2個LED同時順時針移動半圈
  105. {
  106.         for(i=0;i<8;i++)
  107.         {
  108.                 P2=table1[i];
  109.                 P1=table1[i];
  110.                 delay(100);
  111.         }
  112.         P2=0xff; P1=0xff;
  113.         for(i=0;i<8;i++)
  114.         {
  115.                 P3=table1[i];
  116.                 P0=table0[i];
  117.                 delay(100);
  118.         }
  119.         P3=0xff; P0=0xff;
  120. }
  121. void disp5()                        //狀態5  2個LED同時逆時針移動半圈
  122. {
  123.         for(i=0;i<8;i++)
  124.         {
  125.                 P0=table1[i];
  126.                 P3=table0[i];
  127.                 delay(100);
  128.         }
  129.         P0=0xff; P3=0xff;
  130.         for(i=0;i<8;i++)
  131.         {
  132.                 P1=table0[i];
  133.                 P2=table0[i];
  134.                 delay(100);
  135.         }
  136.         P1=0xff; P2=0xff;
  137. }
  138. void disp6()                        //狀態6 LED自上而下逐漸點亮(一半點亮一半不亮)
  139. {
  140.         for(i=0;i<8;i++)
  141.         {
  142.                 P0=table3[i];
  143.                 P2=table3[i];
  144.                 delay(100);
  145.         }
  146.         P0=0xff; P2=0xff;
  147.         for(i=0;i<8;i++)
  148.         {
  149.                 P1=table2[i];
  150.                 P3=table3[i];
  151.                 delay(100);
  152.         }
  153.         P1=0xff; P3=0xff;
  154. }
  155. void disp7()                        //狀態7 LED自下而上逐漸點亮(直到全部點亮)
  156. {
  157.         for(i=0;i<8;i++)
  158.         {
  159.                 P1=table3[i];
  160.                 P3=table2[i];
  161.                 delay(100);
  162.         }
  163.         for(i=0;i<8;i++)
  164.         {
  165.                 P0=table2[i];
  166.                 P2=table2[i];
  167.                 delay(100);
  168.         }
  169. }
  170. void disp8()                        //狀態8 間斷8格的4個LED亮并逆時針旋轉
  171. {
  172.         for(j=0;j<2;j++)
  173.         {
  174.                 for(i=0;i<8;i++)
  175.                 {
  176.                         P0=table1[i];
  177.                         P2=table0[i];
  178.                         P1=table0[i];
  179.                         P3=table0[i];
  180.                         delay(100);
  181.                 }
  182.                 P0=0xff; P2=0xff; P1=0xff; P3=0xff;
  183.                 for(i=0;i<8;i++)
  184.                 {
  185.                         P0=table1[i];
  186.                         P2=table0[i];
  187.                         P1=table0[i];
  188.                         P3=table0[i];
  189.                         delay(100);
  190.                 }
  191.                 P0=0xff; P2=0xff; P1=0xff; P3=0xff;
  192.         }
  193. }
  194. void disp9()                        //狀態9 間斷8格的4個LED亮,然后逆時針逐漸點亮(直到全部點亮)
  195. {
  196.         for(i=0;i<8;i++)
  197.         {
  198.                 P0=table3[i];
  199.                 P2=table2[i];
  200.                 P1=table2[i];
  201.                 P3=table2[i];
  202.                 delay(100);
  203.         }
  204.         delay(500);        
  205. }
  206. void disp10()                        //狀態10 從LED全部亮到全不亮(間斷8格的4個LED開始逆時針熄滅)
  207. {
  208.         for(i=0;i<9;i++)
  209.         {
  210.                 P0=table5[i];
  211.                 P2=table4[i];
  212.                 P1=table4[i];
  213.                 P3=table4[i];
  214.                 delay(100);
  215.         }
  216.         delay(300);
  217. }
  218. void disp11()                        //狀態11 間斷8格的4個LED亮并順時針旋轉
  219. {
  220.         for(j=0;j<2;j++)
  221.         {
  222.                 for(i=0;i<8;i++)
  223.                 {
  224.                         P0=table0[i];
  225.                         P2=table1[i];
  226.                         P1=table1[i];
  227.                         P3=table1[i];
  228.                         delay(100);
  229.                 }
  230.                 P0=0xff; P2=0xff; P1=0xff; P3=0xff;
  231.                 for(i=0;i<8;i++)
  232.                 {
  233.                         P0=table0[i];
  234.                         P2=table1[i];
  235.                         P1=table1[i];
  236.                         P3=table1[i];
  237.                         delay(100);
  238.                 }
  239.                 P0=0xff; P2=0xff; P1=0xff; P3=0xff;
  240.         }
  241. }
  242. void disp12()                        //間斷8格的4個LED亮,然后順時針逐漸點亮(直到全部點亮)
  243. {
  244.         for(i=0;i<8;i++)
  245.         {
  246.                 P0=table2[i];
  247.                 P2=table3[i];
  248.                 P1=table3[i];
  249.                 P3=table3[i];
  250.                 delay(100);
  251.         }
  252.         delay(1000);
  253. }
  254. void disp13()                        //狀態13 從LED全部亮到全不亮(間斷8格的4個LED開始順時針熄滅)
  255. {
  256.         for(i=0;i<9;i++)
  257.         {
  258.                 P0=table4[i];
  259.                 P2=table5[i];
  260.                 P1=table5[i];
  261.                 P3=table5[i];
  262.                 delay(100);
  263.         }
  264.         delay(300);
  265. }
  266. void disp14()                        //狀態14 從LED不亮到全亮(從P0.0、P1.0、P2.0、P3.7開始逐步點亮)
  267. {
  268.         for(i=0;i<8;i++)
  269.         {
  270.                 P0=table2[i];
  271.                 P1=table2[i];
  272.                 P2=table2[i];
  273.                 P3=table3[i];
  274.                 delay(100);
  275.         }
  276. }
  277. void disp15()                        //狀態15 從LED全亮到全不亮(從P0.7、P1.7、P2.7、P3.0開始逐步熄滅)
  278. {
  279.         for(i=0;i<9;i++)
  280.         {
  281.                 P0=table5[i];
  282.                 P1=table5[i];
  283.                 P2=table5[i];
  284.                 P3=table4[i];
  285.                 delay(100);
  286.         }
  287.         delay(300);
  288. }
  289. void disp16()                        //狀態16 LED燈交替閃爍(頻率有慢變快)
  290. {
  291.         for(i=0;i<5;i++)
  292.         {
  293.                 P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
  294.                 delay(100);
  295.                 P0=~P0; P1=~P1; P2=~P2; P3=~P3;
  296.                 delay(100);
  297.         }
  298.         for(i=0;i<5;i++)
  299.         {
  300.                 P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
  301.                 delay(200);
  302.                 P0=~P0; P1=~P1; P2=~P2; P3=~P3;
  303.                 delay(200);
  304.         }
  305.         for(i=0;i<5;i++)
  306.         {
  307.                 P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
  308.                 delay(300);
  309.                 P0=~P0; P1=~P1; P2=~P2; P3=~P3;
  310.                 delay(300);
  311.         }
  312.         P0=0xff; P2=0xff; P1=0xff; P3=0xff;
  313.         delay(300);
  314. }
  315. void disp17()                        //狀態17 LED從P0.7開始逆時針逐步點亮,(循環2次)并且速度會逐步提高
  316. {
  317.         for(i=0;i<8;i++)
  318.         {
  319.                 P0=table3[i];
  320.                 delay(100);
  321.         }
  322.         for(i=0;i<8;i++)
  323.         {
  324.                 P1=table2[i];
  325.                 delay(100);
  326.         }        
  327.         for(i=0;i<8;i++)
  328.         {
  329.                 P3=table2[i];
  330.                 delay(100);
  331.         }        
  332.         for(i=0;i<8;i++)
  333.         {
  334.                 P2=table2[i];
  335.                 delay(100);
  336.         }
  337.         P0=0xff; P1=0xff; P3=0xff; P2=0xff;
  338. /*******************************/
  339.         for(i=0;i<8;i++)
  340.         {
  341.                 P0=table3[i];
  342.                 delay(50);
  343.         }
  344.         for(i=0;i<8;i++)
  345.         {
  346.                 P1=table2[i];
  347.                 delay(50);
  348.         }        
  349.         for(i=0;i<8;i++)
  350.         {
  351.                 P3=table2[i];
  352.                 delay(50);
  353.         }        
  354.         for(i=0;i<8;i++)
  355.         {
  356.                 P2=table2[i];
  357.                 delay(50);
  358.         }
  359.         P0=0xff; P1=0xff; P3=0xff; P2=0xff;        
  360. }
  361. void disp18()                        //狀態18 LED從P0.7開始逆時針逐步點亮(每亮8位后就熄滅)
  362. {
  363.         for(i=0;i<8;i++)
  364.         {
  365.                 P0=table3[i];
  366.                 delay(100);
  367.         }
  368.         P0=0xff;
  369.         for(i=0;i<8;i++)
  370.         {
  371.                 P1=table2[i];
  372.                 delay(100);
  373.         }        
  374.         P1=0xff;
  375.         for(i=0;i<8;i++)
  376.         {
  377.                 P3=table2[i];
  378.                 delay(100);
  379.         }
  380.         P3=0xff;        
  381.         for(i=0;i<8;i++)
  382.         {
  383.                 P2=table2[i];
  384.                 delay(100);
  385.         }
  386.         P2=0xff;        
  387. }
  388. void disp19()                        //狀態19 LED從P2.7開始順時針逐步點亮,(循環2次)并且速度會逐步提高
  389. {
  390.         for(i=0;i<8;i++)
  391.         {
  392.                 P2=table3[i];
  393.                 delay(100);
  394.         }
  395.         for(i=0;i<8;i++)
  396.         {
  397.                 P3=table3[i];
  398.                 delay(100);
  399.         }        
  400.         for(i=0;i<8;i++)
  401.         {
  402.                 P1=table3[i];
  403.                 delay(100);
  404.         }        
  405.         for(i=0;i<8;i++)
  406.         {
  407.                 P0=table2[i];
  408.                 delay(100);
  409.         }
  410.         P0=0xff; P1=0xff; P3=0xff; P2=0xff;
  411. /*******************************/
  412.         for(i=0;i<8;i++)
  413.         {
  414.                 P2=table3[i];
  415.                 delay(50);
  416.         }
  417.         for(i=0;i<8;i++)
  418.         {
  419.                 P3=table3[i];
  420.                 delay(50);
  421.         }        
  422.         for(i=0;i<8;i++)
  423.         {
  424.                 P1=table3[i];
  425.                 delay(50);
  426.         }        
  427.         for(i=0;i<8;i++)
  428.         {
  429.                 P0=table2[i];
  430.                 delay(50);
  431.         }
  432.         P0=0xff; P1=0xff; P3=0xff; P2=0xff;        
  433. }
  434. void disp20()                        //狀態20 LED從P2.7開始順時針逐步點亮(每亮8位后就熄滅)
  435. {
  436.         for(i=0;i<8;i++)
  437.         {
  438.                 P2=table3[i];
  439.                 delay(100);
  440.         }
  441.         P2=0xff;
  442.         for(i=0;i<8;i++)
  443.         {
  444.                 P3=table3[i];
  445.                 delay(100);
  446.         }        
  447.         P3=0xff;
  448.         for(i=0;i<8;i++)
  449.         {
  450.                 P1=table3[i];
  451.                 delay(100);
  452.         }
  453.         P1=0xff;        
  454.         for(i=0;i<8;i++)
  455.         {
  456.                 P0=table2[i];
  457.                 delay(100);
  458.         }
  459.         P0=0xff;               
  460. }
  461. void disp21()                        //狀態21 2個LED開始上下移動半圈
  462. {
  463.         for(i=0;i<8;i++)
  464.         {
  465.                 P0=table1[i];
  466.                 P2=table1[i];
  467.                 delay(100);
  468.         }
  469.         P0=0xff; P2=0xff;
  470.         for(i=0;i<8;i++)
  471.         {
  472.                 P1=table0[i];
  473.                 P3=table1[i];
  474.                 delay(100);
  475.         }
  476.         
  477.         for(i=0;i<8;i++)
  478.         {
  479.                 P1=table1[i];
  480.                 P3=table0[i];
  481.                 delay(100);
  482.         }
  483.         P1=0xff; P3=0xff;
  484.         for(i=0;i<8;i++)
  485.         {
  486.                 P0=table0[i];
  487.                 P2=table0[i];
  488.                 delay(100);
  489.         }
  490. }
  491. void disp22()                        //裝態22 2個LED自上而下移動(循環5次,且頻率漸快,到最快時持續循環16次,然后循環5次頻率再逐漸降低)
  492. {        
  493.         for(j=0;j<5;j++)
  494.         {
  495.                 for(i=0;i<8;i++)
  496.                 {
  497.                         P0=table1[i];
  498.                         P2=table1[i];
  499.                         delay(tt);
  500.                 }
  501.                 P0=0xff; P2=0xff;
  502.                 for(i=0;i<8;i++)
  503.                 {
  504.                         P1=table0[i];
  505.                         P3=table1[i];
  506.                         delay(tt);
  507.                 }
  508.                 P1=0xff; P3=0xff;
  509.                 tt=tt-10;
  510.         }
  511.         for(j=0;j<16;j++)
  512.         {
  513.                 for(i=0;i<8;i++)
  514.                 {
  515.                         P0=table1[i];
  516.                         P2=table1[i];
  517.                         delay(20);
  518.                 }
  519.                 P0=0xff; P2=0xff;
  520.                 for(i=0;i<8;i++)
  521.                 {
  522.                         P1=table0[i];
  523.                         P3=table1[i];
  524.                         delay(20);
  525.                 }
  526.                 P1=0xff; P3=0xff;
  527.         }
  528.         tt=20;
  529.         for(j=0;j<5;j++)
  530.         {
  531.                 for(i=0;i<8;i++)
  532.                 {
  533.                         P0=table1[i];
  534.                         P2=table1[i];
  535.                         delay(tt);
  536.                 }
  537.                 P0=0xff; P2=0xff;
  538.                 for(i=0;i<8;i++)
  539.                 {
  540.                         P1=table0[i];
  541.                         P3=table1[i];
  542.                         delay(tt);
  543.                 }
  544.                 P1=0xff; P3=0xff;
  545.                 tt=tt+10;
  546.         }
  547.         tt=70;        
  548.                
  549. }
  550. void disp23()                        //狀態23 LED上下交替閃爍
  551. {
  552.         for(i=0;i<2;i++)
  553.         {
  554.                 P0=0x00; P2=0x00;
  555.                 delay(1000);
  556.                 P0=0xff; P2=0xff;
  557.                 P1=0x00; P3=0x00;
  558.                 delay(1000);
  559.                 P1=0xff; P3=0xff;
  560.         }
  561. }
  562. void disp24()                        //狀態24 LED左右交替閃爍
  563. {
  564.         P1=0xff; P3=0xff; P0=0xff; P2=0xff;
  565.         for(i=0;i<2;i++)
  566.         {
  567.                 P0=0x00; P1=0x00;
  568.                 delay(1000);
  569.                 P0=0xff; P1=0xff;
  570.                 P2=0x00; P3=0x00;
  571.                 delay(1000);
  572.                 P2=0xff; P3=0xff;
  573.         }
  574. }
  575. void disp25()                        //狀態25 LED交替閃爍
  576. {
  577.         for(i=0;i<5;i++)
  578.         {
  579.                 P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;
  580.                 delay(1000);
  581.                 P0=~P0; P1=~P1; P2=~P2; P3=~P3;
  582.                 delay(1000);               
  583.         }
  584. }
  585. void disp26()                        //狀態26 2個LED開始上下移動半圈(LED不亮流水)
  586. {
  587.         P0=0x00;P1=0x00;P2=0x00;P3=0x00;
  588.         for(i=0;i<8;i++)
  589.         {
  590.                 P0=~table1[i];
  591.                 P2=~table1[i];
  592.                 delay(200);
  593.         }
  594.         P0=0x00; P2=0x00;
  595.         for(i=0;i<8;i++)
  596.         {
  597.                 P1=~table0[i];
  598.                 P3=~table1[i];
  599.                 delay(200);
  600.         }
  601.         
  602.         for(i=0;i<8;i++)
  603.         {
  604.                 P1=~table1[i];
  605.                 P3=~table0[i];
  606.                 delay(200);
  607.         }
  608.         P1=0x00; P3=0x00;
  609.         for(i=0;i<8;i++)
  610.         {
  611.                 P0=~table0[i];
  612.                 P2=~table0[i];
  613.                 delay(200);
  614.         }
  615. }
  616. void disp27()                        //狀態27 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED
  617. {
  618.         P0=0xff; P1=0xff; P2=0xff; P3=0xff;
  619.         for(j=0;j<2;j++)
  620.         {
  621.                 for(i=0;i<8;i++)
  622.                 {
  623.                         P2=table3[i];
  624.                         P1=table3[i];
  625.                         delay(100);
  626.                 }
  627.                 P2=0xff; P1=0xff;
  628.                 for(i=0;i<8;i++)
  629.                 {
  630.                         P0=table2[i];
  631.                         P3=table3[i];
  632.                         delay(100);
  633.                 }
  634.                 P0=0xff; P3=0xff;
  635.         }
  636. }
  637.                         
  638. void disp28()                        //狀態28 P1、P2和P0、P3交替閃爍
  639. {        
  640.         for(i=0;i<2;i++)
  641.         {
  642.                 P1=0x00; P2=0x00; P0=0xff; P3=0xff;
  643.                 delay(1000);
  644.                 P1=0xff; P2=0xff; P0=0x00; P3=0x00;
  645.                 delay(1000);
  646.         }
  647.         P1=0xff; P2=0xff; P0=0xff; P3=0xff;
  648. }
  649. void disp29()                        //狀態29 逐步順時針點亮P2、P1的LED,再順時熄滅后,再順時針點亮P0、P3的LED,再順時熄滅
  650. {        
  651.         P0=0xff; P1=0xff; P2=0xff; P3=0xff;
  652.         for(j=0;j<2;j++)
  653.         {
  654.                 for(i=0;i<8;i++)
  655.                 {
  656.                         P2=table3[i];
  657.                         P1=table3[i];
  658.                         delay(100);
  659.                 }
  660.                 for(i=0;i<9;i++)
  661.                 {
  662.                         P2=table5[i];
  663.                         P1=table5[i];
  664.                         delay(100);
  665.                 }
  666.                 for(i=0;i<8;i++)
  667.                 {
  668.                         P0=table2[i];
  669.                         P3=table3[i];
  670.                         delay(100);
  671.                 }
  672.                 for(i=0;i<9;i++)
  673.                 {
  674.                         P0=table4[i];
  675.                         P3=table5[i];
  676.                         delay(100);
  677.                 }
  678.         }
  679.         delay(200);        
  680. }
  681. void disp30()                        //狀態30 逐步逆時針點亮P2、P1的LED,熄滅后,再逆時針點亮P0、P3的LED
  682. {
  683.         P0=0xff; P1=0xff; P2=0xff; P3=0xff;
  684.         for(j=0;j<2;j++)
  685.         {
  686.                 for(i=0;i<8;i++)
  687.                 {
  688.                         P2=table2[i];
  689.                         P1=table2[i];
  690.                         delay(100);
  691.                 }
  692.                 P2=0xff; P1=0xff;
  693.                 for(i=0;i<8;i++)
  694.                 {
  695.                         P0=table3[i];
  696.                         P3=table2[i];
  697.                         delay(100);
  698.                 }
  699.                 P0=0xff; P3=0xff;
  700.         }
  701. }
  702. void disp31()                        //狀態31 逐步逆時針點亮P2、P1的LED,再逆時熄滅后,再逆時針點亮P0、P3的LED,再逆時熄滅
  703. {
  704.         P0=0xff; P1=0xff; P2=0xff; P3=0xff;
  705.         for(j=0;j<2;j++)
  706.         {
  707.                 for(i=0;i<8;i++)
  708.                 {
  709.                         P2=table2[i];
  710.                         P1=table2[i];
  711.                         delay(100);
  712.                 }
  713.                 for(i=0;i<9;i++)
  714.                 {
  715.                         P2=table4[i];
  716.                         P1=table4[i];
  717.                         delay(100);
  718.                 }
  719.                 for(i=0;i<8;i++)
  720.                 {
  721.                         P0=table3[i];
  722.                         P3=table2[i];
  723.                         delay(100);
  724.                 }
  725.                 for(i=0;i<9;i++)
  726.                 {
  727.                         P0=table5[i];
  728.                         P3=table4[i];
  729.                         delay(100);
  730.                 }
  731.         }
  732.         delay(200);        
  733. }
  734. void disp32()                        //狀態32 LED自上而下逐步點亮,然后從下往上逐步熄滅
  735. {
  736.         for(i=0;i<8;i++)
  737.         {
  738.                 P0=table3[i];
  739.                 P2=table3[i];
  740.                 delay(100);
  741.         }
  742.         for(i=0;i<8;i++)
  743.         {
  744.                 P1=table2[i];
  745.                 P3=table3[i];
  746.                 delay(100);
  747.         }
  748.         for(i=0;i<9;i++)
  749.         {
  750.                 P1=table5[i];
  751.                 P3=table4[i];
  752.                 delay(100);
  753.         }
  754.         for(i=0;i<9;i++)
  755.         {
  756.                 P0=table4[i];
  757.                 P2=table4[i];
  758.                 delay(100);
  759.         }
  760. }
  761. void disp33()                        //狀態33 LED從左往右開始點亮(直到全亮),然后從左右兩邊開始熄滅(直到全部熄滅)
  762. {
  763.         for(i=0;i<8;i++)
  764.         {
  765.                 P0=table2[i];
  766.                 P1=table2[i];
  767.                 delay(100);
  768.         }
  769.         for(i=0;i<8;i++)
  770.         {
  771.                 P2=table3[i];
  772.                 P3=table2[i];
  773.                 delay(100);
  774.         }
  775.         delay(500);
  776.         for(i=0;i<9;i++)
  777.         {
  778.                 P2=table4[i];
  779.                 P3=table5[i];
  780.                 P1=table4[i];
  781.                 P0=table4[i];
  782.                 delay(100);
  783.         }
  784.         delay(300);
  785. }
  786. void disp34()                        //狀態34 LED從左往右開始點亮(直到全亮),然后從中間往左右邊熄滅
  787. {
  788.         for(i=0;i<8;i++)
  789.         {
  790.                 P2=table2[i];
  791.                 P3=table3[i];
  792.                 delay(100);
  793.         }
  794.         for(i=0;i<8;i++)
  795.         {
  796.                 P0=table3[i];
  797.                 P1=table3[i];
  798.                 delay(100);
  799.         }
  800.         delay(500);
  801.         for(i=0;i<9;i++)
  802.         {
  803.                 P2=table5[i];
  804.                 P3=table4[i];
  805.                 P1=table5[i];
  806.                 P0=table5[i];
  807.                 delay(100);
  808.         }
  809.         delay(300);        
  810. }
  811. void disp35()                        //狀態35  從P2.7、P1.7開始同時順時針旋轉,直到LED全亮
  812. {
  813.         for(i=0;i<8;i++)
  814.         {
  815.                 P2=table3[i];
  816.                 P1=table3[i];
  817.                 delay(100);
  818.         }
  819.         for(i=0;i<8;i++)
  820.         {
  821.                 P3=table3[i];
  822.                 P0=table2[i];
  823.                 delay(100);
  824.         }
  825. }
  826. void disp36()                        //狀態36  從P0.7、P3.1開始同時逆時針旋轉,直到LED全亮
  827. {
  828.         for(i=0;i<8;i++)
  829.         {
  830.                 P0=table3[i];
  831.                 P3=table2[i];
  832.                 delay(100);
  833.         }
  834.         for(i=0;i<8;i++)
  835.         {
  836.                 P1=table2[i];
  837.                 P2=table2[i];
  838.                 delay(100);
  839.         }
  840. }
  841. void disp37()                        //狀態37 2個LED自上而下移動,并點亮最下2個LED,然后2個LED再自下而上回去,同時4個LED(上下各2個LED)再來回移動一次
  842. {
  843.         for(i=0;i<8;i++)
  844.         {
  845.                 P0=table1[i];
  846.                 P2=table1[i];
  847.                 delay(100);
  848.         }
  849.         P0=0xff; P2=0xff;
  850.         for(i=0;i<8;i++)
  851.         {
  852.                 P1=table0[i];
  853.                 P3=table1[i];
  854.                 delay(100);
  855.         }
  856.         
  857.         for(i=0;i<8;i++)
  858.         {
  859.                 P1=table7[i];
  860.                 P3=table6[i];
  861.                 delay(100);
  862.         }
  863.         P1=0x7f; P3=0xfe;
  864.         for(i=0;i<8;i++)
  865.         {
  866.                 P0=table0[i];
  867.                 P2=table0[i];
  868.                 delay(100);
  869.         }
  870.         
  871.         for(i=0;i<8;i++)
  872.         {
  873.                 P0=table1[i];
  874.                 P2=table1[i];
  875.                 P1=table1[i];
  876.                 P3=table0[i];
  877.                 delay(200);
  878.         }
  879.         
  880.         for(i=0;i<8;i++)
  881.         {
  882.                 P0=table0[i];
  883.                 P1=table0[i];
  884.                 P2=table0[i];
  885.                 P3=table1[i];
  886.                 delay(200);
  887.         }        
  888.         P0=0xff;P1=0xff; P2=0xff;P3=0xff;
  889. }
  890. void disp38()                        //狀態38 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED
  891. {
  892.         P0=0xff; P1=0xff; P2=0xff; P3=0xff;
  893.         for(j=0;j<2;j++)
  894.         {
  895.                 for(i=0;i<8;i++)
  896.                 {
  897.                         P2=table3[i];
  898.                         P1=table3[i];
  899.                         delay(100);
  900.                 }
  901.                 P2=0xff; P1=0xff;
  902.                 for(i=0;i<8;i++)
  903.                 {
  904.                         P0=table2[i];
  905.                         P3=table3[i];
  906.                         delay(100);
  907.                 }
  908.                 P0=0xff; P3=0xff;
  909.         }        
  910. }
  911. void disp39()                        //狀態39 P1、P3LED(下半部分)一直亮,上半部分LED向外擴張亮,然后閃爍3次
  912. {
  913.         P1=0x00; P3=0x00;
  914.         for(i=0;i<8;i++)
  915.         {
  916.                 P0=table3[i];
  917.                 P2=table3[i];
  918.                 delay(150);
  919.         }
  920.         for(i=0;i<8;i++)
  921.         {
  922.                 P0=table3[i];
  923.                 P2=table3[i];
  924.                 delay(300);
  925.         }
  926.         for(i=0;i<4;i++)
  927.         {
  928.                 P0=~P0; P2=~P2;
  929.                 delay(300);
  930.         }
  931.         delay(1000);
  932. }
  933. void disp40()                        //狀態40 LED從P3.0、P0.7開始逆時針同時熄滅,直到LED全部熄滅
  934. {
  935.         for(i=0;i<9;i++)
  936.         {
  937.                 P3=table4[i];
  938.                 P0=table5[i];
  939.                 delay(100);
  940.         }
  941.         for(i=1;i<9;i++)
  942.         {
  943.                 P2=table4[i];
  944.                 P1=table4[i];
  945.                 delay(100);
  946.         }
  947.         delay(300);        
  948. }
  949. void disp41()                        //狀態41 LED從P2.7、P1.7開始順時針同時熄滅,直到全部熄滅
  950. {
  951.         for(i=0;i<9;i++)
  952.         {
  953.                 P2=table5[i];
  954.                 P1=table5[i];
  955.                 delay(100);
  956.         }
  957.         for(i=1;i<9;i++)
  958.         {
  959.                 P0=table4[i];
  960.                 P3=table5[i];
  961.                 delay(100);
  962.         }
  963.         delay(300);               
  964. }
  965. void main()
  966. {        
  967.         while(1)
  968.         {               
  969.                 disp0();                 //狀態0 所有LED閃爍3次
  970.                 disp1();                 //狀態1 LED順時針轉一圈
  971.                 disp2();                 //狀態2 LED逆時針轉一圈
  972.                 disp3();                 //狀態3 4個LED同時順時、逆時針移動1/4圈
  973.                 disp4();                 //狀態4  2個LED同時順時針移動半圈
  974.                 disp5();                 //狀態5  2個LED同時逆時針移動半圈
  975.                 disp6();                 //狀態6 LED自上而下逐漸點亮(一半點亮一半不亮)
  976.                 disp7();                 //狀態7 LED自下而上逐漸點亮(直到全部點亮)
  977.                 disp0();                 //狀態0 所有LED閃爍3次
  978.                 disp8();                 //狀態8 間斷8格的4個LED亮并逆時針旋轉
  979.                 disp9();                 //狀態9 間斷8格的4個LED亮,然后逆時針逐漸點亮(直到全部點亮)
  980.                 disp10();                //狀態10 從LED全部亮到全不亮(間斷8格的4個LED開始逆時針熄滅)
  981.                 disp11();                //狀態11 間斷8格的4個LED亮并順時針旋轉
  982.                 disp12();                //間斷8格的4個LED亮,然后順時針逐漸點亮(直到全部點亮)
  983.                 disp13();                //狀態13 從LED全部亮到全不亮(間斷8格的4個LED開始順時針熄滅)
  984.                 disp14();                //狀態14 從LED不亮到全亮(從P0.0、P1.0、P2.0、P3.7開始逐布點亮)   
  985.                 disp15();                //狀態15 從LED全亮到全不亮(從P0.7、P1.7、P2.7、P3.0開始逐步熄滅)
  986.                 disp16();                //狀態16 LED燈交替閃爍(頻率有慢變快)
  987.                 disp17();                //狀態17 LED從P0.7開始逆時針逐步點亮,并且速度會逐步提高
  988.                 disp18();                //狀態18 LED從P0.7開始逆時針逐步點亮(每亮8位后就熄滅)
  989.                 disp19();                //狀態19 LED從P2.7開始順時針逐步點亮,(循環2次)并且速度會逐步提高
  990.                 disp20();                //狀態20 LED從P2.7開始順時針逐步點亮(每亮8位后就熄滅)
  991.                 disp21();                //狀態21 2個LED開始上下移動半圈
  992.                 disp22();                //裝態22 2個LED自上而下移動(循環5次,且頻率漸快,到最快時持續循環16次,然后循環5次頻率再逐漸降低
  993.                 disp23();                //狀態23 LED上下交替閃爍
  994.                 disp39();                //狀態39 P1、P3LED(下半部分)一直亮,上半部分LED向外擴張亮,然后閃爍3次
  995.                 disp24();                //狀態24 LED左右交替閃爍
  996.                 disp25();                //狀態25 LED交替閃爍  
  997.                 disp8();                 //狀態8 間斷8格的4個LED亮并逆時針旋轉
  998.                 disp9();                 //狀態9 間斷8格的4個LED亮,然后逆時針逐漸點亮(直到全部點亮)
  999.                 disp10();                //狀態10 從LED全部亮到全不亮(間斷8格的4個LED開始逆時針熄滅)
  1000.                 disp26();                //狀態26 2個LED開始上下移動半圈(LED不亮流水)
  1001.                 disp27();                //狀態27 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED
  1002.                 disp28();                //狀態28 P1、P2和P0、P3交替閃爍
  1003.                 disp38();                //狀態38 逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED
  1004.                 disp29();                //狀態29 逐步順時針點亮P2、P1的LED,再順時熄滅后,再順時針點亮P0、P3的LED,再順時熄滅
  1005.                 disp30();                //狀態30 逐步逆時針點亮P2、P1的LED,熄滅后,再逆時針點亮P0、P3的LED
  1006.                 disp31();                //狀態31 逐步逆時針點亮P2、P1的LED,再逆時熄滅后,再逆時針點亮P0、P3的LED,再逆時熄滅
  1007.                 disp32();                //狀態32 LED自上而下逐步點亮,然后從下往上逐步熄滅
  1008.                 disp33();                //狀態33 LED從左往右開始點亮(直到全亮),然后從左右兩邊開始熄滅(直到全部熄滅)
  1009.                 disp37();                //狀態37 2個LED自上而下移動,并點亮最下2個LED,然后2個LED再自下而上回去,同時4個LED(上下各2個LED)再來回移動一次
  1010.                 disp36();                //狀態36  從P0.7、P3.0開始同時逆時針旋轉,直到LED全亮
  1011.                 disp40();                //狀態40 LED從P3.0、P0.7開始逆時針同時熄滅,直到LED全部熄滅
  1012.                 disp35();                //狀態35  從P2.7、P1.7開始同時順時針旋轉,直到LED全亮
  1013.                 disp41();                //狀態41 LED從P2.7、P1.7開始順時針同時熄滅,直到全部熄滅
  1014.                 disp34();                //狀態34 LED從左往右開始點亮(直到全亮),然后從中間往左右邊熄滅
  1015.                 disp28();                //狀態28 P1、P2和P0、P3交替閃爍
  1016.         }
  1017. }
復制代碼



作者: 小白呂    時間: 2016-7-22 10:05
謝謝樓主分享
作者: 潘淼磊    時間: 2016-11-18 10:08
很好 謝謝分享
作者: 738722773    時間: 2016-11-21 16:08
哈哈哈。好長啊
作者: 哎吆我去    時間: 2016-11-21 18:59
剛來,多多提點
作者: 13784317087    時間: 2016-11-22 15:50
很好        
作者: 雅各布天梯    時間: 2016-12-13 09:06
感謝樓主分享
作者: 15639273126    時間: 2017-2-28 11:12
感謝樓下分享
作者: Microport163    時間: 2017-3-2 21:55
謝謝樓主分享,下載學習
作者: chaopping    時間: 2017-3-21 19:01
樓主真有才
作者: 小潘哥    時間: 2017-3-23 10:34
這流水燈夠強大,于平凡中見不平凡!
作者: yzkjlb    時間: 2017-3-24 10:45
謝謝樓主分享,自己動手做一個玩玩!
作者: miu    時間: 2017-5-7 06:18
感謝樓主分享
作者: 成大大    時間: 2017-10-16 15:12
謝謝,非常感謝
作者: 377489961    時間: 2017-10-18 12:51
元件呢
作者: zzwk123456    時間: 2017-10-18 13:05
感謝樓主分享
作者: 成大大    時間: 2017-10-19 15:03
樓主真有才
作者: 電子FSY    時間: 2017-10-20 08:45
非常好,謝謝分享
作者: 了無生趣    時間: 2017-11-1 12:29
好長、、、
作者: xjyprc    時間: 2017-11-5 15:59
牛人  能想到這么多種 方式  兩個字  厲害
作者: 瀚海微光    時間: 2017-11-5 19:41
感謝樓下分享
作者: 515224375    時間: 2017-12-12 18:17
就很炫酷,沒有黑幣,下載不了,好憂傷。
作者: 溧陽科燕    時間: 2017-12-14 15:21
先收藏了  沒有黑幣,下載不了,好憂傷
作者: dante198406    時間: 2017-12-22 16:39
牛啊,學習了
作者: dante198406    時間: 2017-12-22 16:42
厲害了,感謝分享
作者: 小金剛123    時間: 2017-12-28 09:32
很棒
作者: xiaguohui    時間: 2017-12-28 21:09
感謝樓主分享
作者: bbsbbc    時間: 2018-1-15 14:19
感謝感謝
作者: 都市郎    時間: 2018-1-25 03:10
程序能用,感謝樓主分享好資料
作者: 夜未央之夜未央    時間: 2018-2-5 20:03
感謝樓主分享  接下來實驗一下
作者: yuche2018    時間: 2018-2-6 02:40
好厲害 挺實用的
作者: dragon20100708    時間: 2018-2-8 10:23

感謝樓主分享
作者: 魂空5    時間: 2018-2-13 13:39
樓主,幫幫忙唄,我打不開
作者: faridzled    時間: 2018-2-15 21:16
thanks for sharing. Amazing
作者: qjzyx    時間: 2018-2-16 12:27
厲害謝謝分享51黑有你更精彩
作者: 祝云章    時間: 2018-3-12 12:22
感謝分享!
作者: zjzjzjz    時間: 2018-3-12 18:45
真的是謝謝了
作者: 老農夫    時間: 2018-3-14 18:49
簡單實用,四組輸出都用上了!
作者: 15971305869    時間: 2018-3-15 20:14
下載了,看起來不錯
作者: 松下云影    時間: 2018-3-25 01:07
感謝樓主分享,這學期剛開這門課,初學,一頭蒙,還好找到可以學習的平臺了
作者: 呵..呵    時間: 2018-4-2 21:19
想問一下 是如何畫出完美的愛心,我畫的像個蘋果
作者: kaixinyk    時間: 2018-4-9 10:19
又一個牛叉叉
作者: kaixinyk    時間: 2018-4-19 10:13
精彩,繼續發表。
作者: gyc468    時間: 2018-4-21 14:24
感謝樓主的分享
作者: 夕陽醉了I    時間: 2018-4-27 21:52
想下載 可惜沒黑幣了
作者: 杰兄    時間: 2018-5-4 23:06
程序再加上我自己焊接的板子簡直了
作者: epaysh    時間: 2018-5-5 08:30
新手剛到,不知想做這個,得準備哪些軟件和購買哪些硬件
作者: lsl1234561314    時間: 2018-5-7 00:54
我想看看

作者: wnnzheng    時間: 2018-5-7 08:31
感謝樓主分享
作者: hedianzi    時間: 2018-5-9 13:43
謝謝樓主分享
作者: 5088    時間: 2018-5-30 15:51
怎樣設定一個個花樣延時進行
作者: sdlx1620    時間: 2018-10-14 16:02
請問LED用的是七彩燈還是四種固定單顏色的?
作者: 快樂眼淚    時間: 2018-10-14 19:15
樓主真厲害
作者: wolf521    時間: 2018-11-16 11:33
謝謝樓主

作者: swordnine    時間: 2018-11-16 19:33
厲害了
作者: swordnine    時間: 2018-11-16 19:33
厲害了樓主,謝謝分享
作者: 1580641239    時間: 2018-11-18 22:41
論壇里面的人都牛
作者: rcy729    時間: 2018-11-20 11:19
有元件清單嗎
作者: dl127    時間: 2018-11-20 13:52
這么長的代碼,單片機能放下嗎?
作者: kinmme    時間: 2018-11-22 13:15
這個流水燈效果很可以
作者: wsnbqaz    時間: 2018-11-25 16:47
感謝樓主
作者: 夢想LZP    時間: 2018-11-25 21:06
樓主有沒有硬件清單 ?
作者: 快樂眼淚    時間: 2018-11-26 08:19
感謝樓主分享
作者: sunnywu503    時間: 2018-11-29 09:56
立即用oo板子焊接了一個,效果沒得說。隨后試著亂改一下代碼,也可以閃閃閃.......^_^
作者: sunsun8207    時間: 2018-11-29 10:57
真心好東西,初學者的福音。感謝樓主分享!
作者: sunnywu503    時間: 2018-12-1 16:02
用oo板子焊接了一個,效果沒得說。隨后試著亂改一下代碼,也可以閃閃閃.......^_^
oo板子頂視圖:


oo板子底視圖:

作者: byfzrr    時間: 2019-10-13 08:26
非常感謝樓主分享
作者: 三水客    時間: 2019-10-19 10:38
準備給剛學單片機的學生用,謝謝樓主。
作者: 三水客    時間: 2019-10-19 17:15
帶學生玩單片機,用的是Proteus8.7,用樓主的“心形流水燈.pdsprj”文件,仿真沒問題,但做PCB板就有問題了。試著作如下更改,通過了:
1、振蕩電路中的C?和復位電位的R?:雙擊文字,在屬性中在改“?”;
2、復位電路的兩個電阻封裝是“RES180”,太大,改為“RES40”較為合適;
3、刪除手動復位的開關(本來就沒封裝)和電阻R10;
4、將所有發光二極管的封裝改為DO41;
5、一定要將文件名換成英文或漢語拼音,否則自動面線會彈出“failed to load layout”
作者: 三水客    時間: 2019-10-19 17:17
還忘了一點:最好在每個發光二極管與單片機引腳間加一個470歐的限流電阻
作者: 784772531    時間: 2019-10-24 09:36
感謝樓主分享,我開始學習這個了
作者: a25575703    時間: 2019-10-27 00:00
感謝版主的分享。
作者: 周工58    時間: 2020-1-12 21:57
sunnywu503 發表于 2018-12-1 16:02
用oo板子焊接了一個,效果沒得說。隨后試著亂改一下代碼,也可以閃閃閃.......^_^
oo板子頂視圖:

哦,限流電阻也沒有,燈沒事吧。不過這樣的話,又減少了一些成本啊。制作起來簡單。
作者: feimiao66    時間: 2020-4-21 21:19
非常棒啊
作者: 18179846    時間: 2020-4-23 14:21
好 想自己做

作者: 中山-燈帶-曹    時間: 2020-10-4 20:45
你用一個i/o編程一下,哪個好

作者: 無策    時間: 2020-10-12 09:05
sunnywu503 發表于 2018-12-1 16:02
用oo板子焊接了一個,效果沒得說。隨后試著亂改一下代碼,也可以閃閃閃.......^_^
oo板子頂視圖:

看起來不錯的樣子
作者: hurbocn    時間: 2020-10-17 13:27
做的非常不錯,我也學學
作者: 一起c語言    時間: 2020-10-17 14:24
第一次焊接板子就是這個,謝謝分享
作者: Sprain_Lee    時間: 2020-10-18 23:56
謝謝樓主的精彩分享!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 真人毛片| 国产午夜精品一区二区三区嫩草 | 91天堂网| 伊人狼人影院 | 视频在线日韩 | 99爱在线 | 久久精品一区二区三区四区 | 免费一级欧美在线观看视频 | 成年人黄色免费视频 | 亚洲另类春色偷拍在线观看 | 夜夜撸av| 亚洲视频在线一区 | 人人九九精 | www.成人久久 | 欧美一区二区三区视频 | 超碰97人人人人人蜜桃 | 中文字幕国产 | 97狠狠干| 国产精品777一区二区 | 欧美黑人一区二区三区 | 国产成人精品一区二区三区四区 | 免费在线播放黄色 | 男女羞羞的网站 | 亚洲精品视频免费 | 羞羞在线视频 | 另类视频在线 | 久久久久久久一区二区三区 | 亚洲第1页 | 欧美亚洲日本 | 超碰一区二区 | 九九热在线观看 | 日韩免费网站 | 成人在线一区二区 | 国产婷婷在线视频 | 91视频一88av | 一区二区三区在线观看视频 | 久久激情网| 亚洲一区在线播放 | 一区二区三区欧美在线 | jizz18国产| 欧美一区二区黄 |