找回密码
 立即注册

QQ登录

只需一步,快速开始

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

心形流水灯精简版单片机源码

[复制链接]
跳转到指定楼层
楼主
心形流水灯


单片机源程序如下:

  1. uchar N        = 200;

  2. uchar code table13[] = {0xe7, 0xdb, 0xbd, 0x7e,
  3.                                                 0xbd, 0xdb, 0xe7, 0xff};
  4. uchar code table14[] = {0xe7, 0xc3, 0x81, 0x00,
  5.                                                 0x81, 0xc3, 0xe7, 0xff};


  6. void Delay1ms( uint z )                                          
  7. {
  8.         uint a, b, c;
  9.         for(c = z; c > 0; c --)
  10.                 for(b = 170; b > 0; b --)
  11.                         for(a = 5; a > 0; a --);
  12. }


  13. void Delay1us(uint i)//延时
  14. {
  15.         while(i--);
  16. }


  17. void Led0()                                        // PWM
  18. {
  19.         unsigned int a, j, k, n, m;
  20.         n = 500;
  21.         k = n / 3;
  22.         m = 8;
  23.    
  24.         for(a = 0; a < k; a ++)
  25.         {
  26.                 for(j = 0; j < m; j ++)
  27.                 {                
  28.                         P0 = 0x00;
  29.                         P1 = 0x00;
  30.                         P2 = 0x00;
  31.                         P3 = 0x00;
  32.                         Delay1us(a);
  33.                         P0 = 0xFF;
  34.                         P1 = 0xFF;
  35.                         P2 = 0xFF;
  36.                         P3 = 0xFF;
  37.                         Delay1us((k - a) + 10);
  38.                 }
  39.         }
  40.   
  41.         for(a = 0; a < k; a ++)
  42.         {
  43.                 for(j = 0; j < m; j ++)
  44.                 {
  45.                         P0 = 0xff;
  46.                         P1 = 0xff;
  47.                         P2 = 0xff;
  48.                         P3 = 0xff;
  49.                         Delay1us(a);
  50.                         P0 = 0x00;
  51.                         P1 = 0x00;
  52.                         P2 = 0x00;
  53.                         P3 = 0x00;
  54.                         Delay1us((k - a) + 10);
  55.                 }
  56.         }
  57.    
  58.         for(a = 0; a < k; a ++)
  59.         {
  60.                 for(j=0;j<m;j++)
  61.                 {      
  62.                         P0 = 0x00;
  63.                         P1 = 0x00;
  64.                         P2 = 0x00;
  65.                         P3 = 0x00;
  66.                         Delay1us(a);
  67.                         P0 = 0xff;
  68.                         P1 = 0xff;
  69.                         P2 = 0xff;
  70.                         P3 = 0xff;
  71.                         Delay1us((k - a) + 10);
  72.                 }
  73.         }

  74.         for(a = 0; a < k; a ++)
  75.         {
  76.                 for(j = 0; j < m; j ++)
  77.                 {
  78.                         P0 = 0xff;
  79.                         P1 = 0xff;
  80.                         P2 = 0xff;
  81.                         P3 = 0xff;
  82.                         Delay1us(a);
  83.                         P0 = 0x00;
  84.                         P1 = 0x00;
  85.                         P2 = 0x00;
  86.                         P3 = 0x00;
  87.                         Delay1us((k - a) + 10);
  88.                 }
  89.         }
  90.         P0 = 0xff;
  91.         P1 = 0xff;
  92.         P2 = 0xff;
  93.         P3 = 0xff;
  94. }


  95. void Led1()
  96. {
  97.         uchar i,j;
  98.         uchar temp;
  99.         for(j = 0; j < 2; j ++)
  100.         {
  101.         //------------------顺时针------------------
  102.                 temp = 0x7f;
  103.                 for(i =0; i < 8; i ++)
  104.                 {
  105.                         P0 = temp;
  106.                         Delay1ms(N);
  107.                         temp=((temp >> 1) | 0x80);
  108.                 }
  109.                 P0 = 0xff;

  110.                 temp = 0xfe;
  111.                 for(i = 0; i < 8; i ++)
  112.                 {
  113.                         P1 = temp;
  114.                         Delay1ms(N);
  115.                         temp=((temp << 1) | 0x01);
  116.                 }
  117.                 P1 = 0xff;

  118.                 temp = 0xfe;
  119.                 for(i = 0; i < 8; i ++)
  120.                 {
  121.                         P3 = temp;
  122.                         Delay1ms(N);
  123.                         temp = ((temp << 1) | 0x01);
  124.                 }
  125.                 P3 = 0xff;

  126.                 temp = 0xfe;
  127.                 for(i = 0; i < 8; i ++)
  128.                 {
  129.                         P2 = temp;
  130.                         Delay1ms(N);
  131.                         temp=((temp << 1) | 0x01);
  132.                 }
  133.                 P2=0xff;
  134.         //----------------------------逆时针------------------------
  135.                 temp = 0x7f;
  136.                 for(i = 0; i < 8; i ++)
  137.                 {
  138.                         P2 = temp;
  139.                         Delay1ms(N);
  140.                         temp=((temp >> 1) | 0x80);
  141.                 }
  142.                 P2 = 0xff;

  143.                 temp = 0x7f;
  144.                 for(i = 0; i < 8; i ++)
  145.                 {
  146.                         P3 = temp;
  147.                         Delay1ms(N);
  148.                         temp=((temp >> 1) | 0x80);
  149.                 }
  150.                 P3 = 0xff;

  151.                 temp = 0x7f;
  152.                 for(i = 0; i < 8; i ++)
  153.                 {
  154.                         P1 = temp;
  155.                         Delay1ms(N);
  156.                         temp=((temp >> 1) | 0x80);
  157.                 }
  158.                 P1 = 0xff;

  159.                 temp = 0xfe;
  160.                 for(i = 0; i < 8; i ++)
  161.                 {
  162.                         P0 = temp;
  163.                         Delay1ms(N);
  164.                         temp = ((temp << 1) | 0x01);
  165.                 }       
  166.                 P0 = 0xff;
  167.         }
  168. }


  169. void Led2()
  170. {
  171.         uchar i, j;
  172.         uchar temp1, temp2;
  173.         for(j = 0; j < 2; j ++)
  174.         {
  175.         //------------------------------------------
  176.                 temp1 = 0x7f;
  177.                 for(i = 0; i < 8; i ++)
  178.                 {
  179.                         P0 = temp1;
  180.                         P2 = temp1;
  181.                         Delay1ms(N);
  182.                         temp1 = ((temp1 >> 1) | 0x80);
  183.                 }
  184.                 P0 = 0xff;
  185.                 P2 = 0xff;

  186.                 temp1 = 0xfe;
  187.                 temp2 = 0x7f;
  188.                 for(i = 0; i < 8; i ++)
  189.                 {
  190.                         P1 = temp1;
  191.                         P3 = temp2;
  192.                         Delay1ms(N);
  193.                         temp1 = ((temp1 << 1) | 0x01);
  194.                         temp2 = ((temp2 >> 1) | 0x80);
  195.                 }
  196.                 P1 = 0xff;
  197.                 P3 = 0xff;
  198.         //--------------------------------------------
  199.                 temp1 = 0xfe;
  200.                 temp2 = 0x7f;
  201.                 for(i = 0; i < 8; i ++)
  202.                 {
  203.                         P1 = temp2;
  204.                         P3 = temp1;
  205.                         Delay1ms(N);
  206.                         temp1 = ((temp1 << 1) | 0x01);
  207.                         temp2 = ((temp2 >> 1) | 0x80);
  208.                 }
  209.                 P1 = 0xff;
  210.                 P3 = 0xff;

  211.                 temp1 = 0xfe;
  212.                 for(i = 0; i < 8; i ++)
  213.                 {
  214.                         P0 = temp1;
  215.                         P2 = temp1;
  216.                         Delay1ms(N);
  217.                         temp1 = ((temp1 << 1) | 0x01);
  218.                 }
  219.                 P0 = 0xff;
  220.                 P2 = 0xff;

  221.         }
  222. }


  223. void Led3()
  224. {
  225.         uchar i, j;
  226.         uchar temp1, temp2;
  227.         for(j = 0; j < 4; j ++)
  228.         {
  229.                 temp1 = 0x77;
  230.                 temp2 = 0xEE;
  231.                 for(i = 0; i < 4; i ++)
  232.                 {
  233.                         P0 = temp1;
  234.                         P1 = temp2;
  235.                         P3 = temp2;
  236.                         P2 = temp2;
  237.                         Delay1ms(N + N);
  238.                         temp1=((temp1 >> 1) | 0x80);
  239.                         temp2=((temp2 << 1) | 0x01);
  240.                 }
  241.                 P0 = 0xff;
  242.                 P1 = 0xff;
  243.                 P3 = 0xff;
  244.                 P2 = 0xff;
  245.                 Delay1ms(N);
  246.         }
  247. }


  248. void Led4()
  249. {
  250.         uchar i,j;
  251.         uchar temp1;
  252.         for(j = 0; j < 2; j ++)
  253.         {
  254.         //-------------------------------------------
  255.                 temp1 = 0x7f;
  256.                 for(i = 0; i < 8; i ++)
  257.                 {
  258.                         P2 = temp1;
  259.                         Delay1ms(N);
  260.                         temp1 = (temp1 >> 1);
  261.                 }
  262.                 temp1 = 0x7f;
  263.                 for(i = 0; i < 8; i ++)
  264.                 {
  265.                         P3 = temp1;
  266.                         Delay1ms(N);
  267.                         temp1 = (temp1 >> 1);
  268.                 }
  269.                 temp1 = 0x7f;
  270.                 for(i = 0; i < 8; i ++)
  271.                 {
  272.                         P1 = temp1;
  273.                         Delay1ms(N);
  274.                         temp1 = (temp1 >> 1);
  275.                 }
  276.                 temp1 = 0xfe;
  277.                 for(i = 0; i < 8; i ++)
  278.                 {
  279.                         P0 = temp1;
  280.                         Delay1ms(N);
  281.                         temp1 = (temp1 << 1);
  282.                 }

  283.                 temp1 = 0x80;
  284.                 for(i = 0; i < 8; i ++)
  285.                 {
  286.                         P0 = temp1;
  287.                         Delay1ms(N);
  288.                         temp1 = ((temp1 >> 1) | 0x80);
  289.                 }
  290.                 temp1 = 0x01;
  291.                 for(i = 0; i < 8; i ++)
  292.                 {
  293.                         P1 = temp1;
  294.                         Delay1ms(N);
  295.                         temp1 = ((temp1 << 1) | 0x01);
  296.                 }
  297.                 temp1 = 0x01;
  298.                 for(i = 0; i < 8; i ++)
  299.                 {
  300.                         P3 = temp1;
  301.                         Delay1ms(N);
  302.                         temp1 = ((temp1 << 1) | 0x01);
  303.                 }
  304.                 temp1 = 0x01;
  305.                 for(i = 0; i < 8; i ++)
  306.                 {
  307.                         P2 = temp1;
  308.                         Delay1ms(N);
  309.                         temp1 = ((temp1 << 1) | 0x01);
  310.                 }



  311.                 temp1 = 0x7f;
  312.                 for(i = 0; i < 8; i ++)
  313.                 {
  314.                         P0 = temp1;
  315.                         Delay1ms(N);
  316.                         temp1 = (temp1 >> 1);
  317.                 }

  318.                 temp1 = 0xfe;
  319.                 for(i = 0; i < 8; i ++)
  320.                 {
  321.                         P1 = temp1;
  322.                         Delay1ms(N);
  323.                         temp1 = (temp1 << 1);
  324.                 }

  325.                 temp1 = 0xfe;
  326.                 for(i = 0; i < 8; i ++)
  327.                 {
  328.                         P3 = temp1;
  329.                         Delay1ms(N);
  330.                         temp1 = (temp1 << 1);
  331.                 }

  332.                 temp1 = 0xfe;
  333.                 for(i = 0; i < 8; i ++)
  334.                 {       
  335.                         P2 = temp1;
  336.                         Delay1ms(N);
  337.                         temp1 = (temp1 << 1);
  338.                 }
  339.         //------------------------------------------------
  340.                 temp1 = 0x80;
  341.                 for(i = 0; i <8; i ++)
  342.                 {
  343.                         P2 = temp1;
  344.                         Delay1ms(N);
  345.                         temp1 = ((temp1 >> 1) | 0x80);
  346.                 }

  347.                 temp1 = 0x80;
  348.                 for(i = 0; i < 8; i ++)
  349.                 {
  350.                         P3 = temp1;
  351.                         Delay1ms(N);                       
  352.                         temp1 = ((temp1 >> 1) | 0x80);
  353.                 }

  354.                 temp1 = 0x80;
  355.                 for(i = 0; i < 8; i ++)
  356.                 {
  357.                         P1 = temp1;
  358.                         Delay1ms(N);
  359.                         temp1 = ((temp1 >> 1) | 0x80);
  360.                 }

  361.                 temp1 = 0x01;
  362.                 for(i = 0; i < 8; i ++)
  363.                 {
  364.                         P0 = temp1;
  365.                         Delay1ms(N);
  366.                         temp1 = ((temp1 << 1) | 0x01);
  367.                 }
  368.         }
  369. }


  370. void Led5()
  371. {
  372.         uchar i, j;
  373.         uchar temp1, temp2;
  374.         //-----------------------------------------------
  375.         for(j = 0; j < 4; j ++)
  376.         {
  377.                 temp1 = 0x07;
  378.                 temp2 = 0xe0;
  379.                 for(i = 0; i < 4; i ++)
  380.                 {
  381.                         P0 = temp1;
  382.                         P1 = temp2;
  383.                         P3 = temp2;
  384.                         P2 = temp2;
  385.                         Delay1ms(N + N);
  386.                         temp1 = ((temp1 >> 1) | 0x80);
  387.                         temp2 = ((temp2 << 1) | 0x01);
  388.                 }

  389.                 temp1 = 0x70;
  390.                 temp2 = 0x0e;
  391.                 for(i = 0; i < 4; i ++)
  392.                 {
  393.                         P0 = temp1;
  394.                         P1 = temp2;
  395.                         P3 = temp2;
  396.                         P2 = temp2;
  397.                         Delay1ms(N+N);
  398.                         temp1 = (temp1 >> 1);
  399.                         temp2 = (temp2 << 1);
  400.                 }
  401.                 Delay1ms(N);
  402.         }       

  403.         //---------------------------------------------
  404.         for(j = 0; j < 4; j ++)
  405.         {
  406.                 temp1 = 0xe0;
  407.                 temp2 = 0x07;
  408.                 for(i = 0; i < 4; i ++)
  409.                 {
  410.                         P0 = temp1;
  411.                         P1 = temp2;
  412.                         P3 = temp2;
  413.                         P2 = temp2;
  414.                         Delay1ms(N + N);
  415.                         temp1 = ((temp1 << 1) | 0x01);
  416.                         temp2 = ((temp2 >> 1) | 0x80);
  417.                 }

  418.                 temp1 = 0x0e;
  419.                 temp2 = 0x70;
  420.                 for(i = 0; i < 4; i ++)
  421.                 {
  422.                         P0 = temp1;
  423.                         P1 = temp2;
  424.                         P3 = temp2;
  425.                         P2 = temp2;
  426.                         Delay1ms(N + N);
  427.                         temp1 = (temp1 << 1);
  428.                         temp2 = (temp2 >> 1);
  429.                 }
  430.                 Delay1ms(N);
  431.         }
  432. }


  433. void Led6()
  434. {
  435.         uchar i;
  436.         for(i = 0; i < 4; i ++)
  437.         {
  438.                 P0 = 0x00;
  439.                 P1 = 0x00;
  440.                 P3 = 0x00;
  441.                 P2 = 0x00;
  442.                 Delay1ms(N + N + N);
  443.                 P0 = 0xff;
  444.                 P1 = 0xff;
  445.                 P3 = 0xff;
  446.                 P2 = 0xff;
  447.                 Delay1ms(N + N + N);
  448.         }
  449. }


  450. void Led7()
  451. {
  452.         uchar i;
  453.         uchar temp1, temp2;

  454.         temp1 = 0x7f;
  455.         temp2 = 0xfe;
  456.         for(i = 0; i < 8; i ++)
  457.         {
  458.                 P0 = temp1;
  459.                 P1 = temp2;
  460.                 P3 = temp2;
  461.                 P2 = temp2;
  462.                 Delay1ms(N);
  463.                 temp1 = ((temp1 >> 1) | 0x80);
  464.                 temp2 = ((temp2 << 1) | 0x01);
  465.         }

  466.         temp1 = 0x7f;
  467.         temp2 = 0xfe;
  468.         for(i = 0; i < 8; i ++)
  469.         {
  470.                 P0 = temp1;
  471.                 P1 = temp2;
  472.                 P3 = temp2;
  473.                 P2 = temp2;
  474.                 Delay1ms(N);
  475.                 temp1 = ((temp1 >> 1) | 0x80);
  476.                 temp2 = ((temp2 << 1) | 0x01);
  477.         }

  478.         temp1 = 0x7f;
  479.         temp2 = 0xfe;
  480.         for(i = 0; i < 7; i ++)
  481.         {
  482.                 P0 = (temp1 & 0xfe);
  483.                 P1 = (temp2 & 0x7f);
  484.                 P3 = (temp2 & 0x7f);
  485.                 P2 = (temp2 & 0x7f);
  486.                 Delay1ms(N);
  487.                 temp1 = ((temp1 >> 1) | 0x80);
  488.                 temp2 = ((temp2 << 1) | 0x01);
  489.         }
  490.        
  491.         temp1 = 0x7f;
  492.         temp2 = 0xfe;
  493.         for(i = 0; i < 6; i ++)
  494.         {
  495.                 P0 = (temp1 & 0xfc);
  496.                 P1 = (temp2 & 0x3f);
  497.                 P3 = (temp2 & 0x3f);
  498.                 P2 = (temp2 & 0x3f);
  499.                 Delay1ms(N);
  500.                 temp1 = ((temp1 >> 1) | 0x80);
  501.                 temp2 = ((temp2 << 1) | 0x01);
  502.         }

  503.         temp1 = 0x7f;
  504.         temp2 = 0xfe;
  505.         for(i = 0; i < 5; i ++)
  506.         {
  507.                 P0 = (temp1 & 0xf8);
  508.                 P1 = (temp2 & 0x1f);
  509.                 P3 = (temp2 & 0x1f);
  510.                 P2 = (temp2 & 0x1f);
  511.                 Delay1ms(N);
  512.                 temp1 = ((temp1 >> 1) | 0x80);
  513.                 temp2 = ((temp2 << 1) | 0x01);
  514.         }

  515.         temp1 = 0x7f;
  516.         temp2 = 0xfe;
  517.         for(i = 0; i < 4; i ++)
  518.         {
  519.                 P0 = (temp1 & 0xf0);
  520.                 P1 = (temp2 & 0x0f);
  521.                 P3 = (temp2 & 0x0f);
  522.                 P2 = (temp2 & 0x0f);
  523.                 Delay1ms(N);
  524.                 temp1 = ((temp1 >> 1) | 0x80);
  525.                 temp2 = ((temp2 << 1) | 0x01);
  526.         }

  527.         temp1 = 0x7f;
  528.         temp2 = 0xfe;
  529.         for(i = 0; i < 3; i ++)
  530.         {
  531.                 P0 = (temp1 & 0xe0);
  532.                 P1 = (temp2 & 0x07);
  533.                 P3 = (temp2 & 0x07);
  534.                 P2 = (temp2 & 0x07);
  535.                 Delay1ms(N);
  536.                 temp1 = ((temp1 >> 1) | 0x80);
  537.                 temp2 = ((temp2 << 1) | 0x01);
  538.         }

  539.         temp1 = 0x7f;
  540.         temp2 = 0xfe;
  541.         for(i = 0; i < 2; i ++)
  542.         {
  543.                 P0 = (temp1 & 0xc0);
  544.                 P1 = (temp2 & 0x03);
  545.                 P3 = (temp2 & 0x03);
  546.                 P2 = (temp2 & 0x03);
  547.                 Delay1ms(N);
  548.                 temp1 = ((temp1 >> 1) | 0x80);
  549.                 temp2 = ((temp2 << 1) | 0x01);
  550.         }

  551.         temp1 = 0x7f;
  552.         temp2 = 0xfe;
  553.         for(i = 0; i < 1; i ++)
  554.         {
  555.                 P0 = (temp1 & 0x80);
  556.                 P1 = (temp2 & 0x01);
  557.                 P3 = (temp2 & 0x01);
  558.                 P2 = (temp2 & 0x01);
  559.                 Delay1ms(N);
  560.                 temp1 = ((temp1 >> 1) | 0x80);
  561.                 temp2 = ((temp2 << 1) | 0x01);
  562.         }
  563.         Delay1ms(N + N + N);
  564. }


  565. void Led8()
  566. {
  567.         uchar i;
  568.         uchar temp1, temp2;

  569.         temp1 = 0x7f;
  570.         temp2 = 0xfe;
  571.         for(i=0;i<1;i++)
  572.         {
  573.                 P0 = (temp1 & 0x80);
  574.                 P1 = (temp2 & 0x01);
  575.                 P3 = (temp2 & 0x01);
  576.                 P2 = (temp2 & 0x01);
  577.                 Delay1ms(N);
  578.                 temp1 = ((temp1 << 1) | 0x01);
  579.                 temp2 = ((temp2 >> 1) | 0x80);
  580.         }

  581.         temp1 = 0xbf;
  582.         temp2 = 0xfd;
  583.         for(i = 0; i < 2; i ++)
  584.         {
  585.                 P0 = (temp1 & 0xc0);
  586.                 P1 = (temp2 & 0x03);
  587.                 P3 = (temp2 & 0x03);
  588.                 P2 = (temp2 & 0x03);
  589.                 Delay1ms(N);
  590.                 temp1 = ((temp1 << 1) | 0x01);
  591.                 temp2 = ((temp2 >> 1) | 0x80);
  592.         }

  593.         temp1 = 0xDF;
  594.         temp2 = 0xFB;
  595.         for(i = 0; i < 3; i++)
  596.         {
  597.                 P0 = (temp1 & 0xe0);
  598.                 P1 = (temp2 & 0x07);
  599.                 P3 = (temp2 & 0x07);
  600.                 P2 = (temp2 & 0x07);
  601.                 Delay1ms(N);
  602.                 temp1 = ((temp1 << 1) | 0x01);
  603.                 temp2 = ((temp2 >> 1) | 0x80);
  604.         }

  605.         temp1 = 0xef;
  606.         temp2 = 0xf7;
  607.         for(i = 0; i < 4; i ++)
  608.         {
  609.                 P0 = (temp1 & 0xf0);
  610.                 P1 = (temp2 & 0x0f);
  611.                 P3 = (temp2 & 0x0f);
  612.                 P2 = (temp2 & 0x0f);
  613.                 Delay1ms(N);
  614.                 temp1 = ((temp1 << 1) | 0x01);
  615.                 temp2 = ((temp2 >> 1) | 0x80);
  616.         }

  617.         temp1 = 0xf7;
  618.         temp2 = 0xef;
  619.         for(i = 0; i < 5; i ++)
  620.         {
  621.                 P0 = (temp1 & 0xf8);
  622.                 P1 = (temp2 & 0x1f);
  623.                 P3 = (temp2 & 0x1f);
  624.                 P2 = (temp2 & 0x1f);
  625.                 Delay1ms(N);
  626.                 temp1 = ((temp1 << 1) | 0x01);
  627.                 temp2 = ((temp2 >> 1) | 0x80);
  628.         }

  629.         temp1 = 0xfb;
  630.         temp2 = 0xdf;
  631.         for(i = 0; i < 6; i ++)
  632.         {
  633.                 P0 = (temp1 & 0xfc);
  634.                 P1 = (temp2 & 0x3f);
  635.                 P3 = (temp2 & 0x3f);
  636.                 P2 = (temp2 & 0x3f);
  637.                 Delay1ms(N);
  638.                 temp1 = ((temp1 << 1) | 0x01);
  639.                 temp2 = ((temp2 >> 1) | 0x80);
  640.         }

  641.            temp1 = 0xfd;
  642.         temp2 = 0xbf;
  643.         for(i = 0; i < 7; i ++)
  644.         {
  645.                 P0 = (temp1 & 0xfe);
  646.                 P1 = (temp2 & 0x7f);
  647.                 P3 = (temp2 & 0x7f);
  648.                 P2 = (temp2 & 0x7f);
  649.                 Delay1ms(N);
  650.                 temp1 = ((temp1 << 1) | 0x01);
  651.                 temp2 = ((temp2 >> 1) | 0x80);
  652.         }

  653.         temp1 = 0xfe;
  654.         temp2 = 0x7f;
  655.         for(i = 0; i < 7; i ++)
  656.         {
  657.                 P0 = (temp1 & 0xfe);
  658.                 P1 = (temp2 & 0x7f);
  659.                 P3 = (temp2 & 0x7f);
  660.                 P2 = (temp2 & 0x7f);
  661.                 Delay1ms(N);
  662.                 temp1 = ((temp1 << 1) | 0x01);
  663.                 temp2 = ((temp2 >> 1) | 0x80);
  664.         }

  665.         temp1 = 0xfe;
  666.         temp2 = 0x7f;
  667.         for(i = 0; i < 8; i ++)
  668.         {
  669.                 P0 = temp1;
  670.                 P1 = temp2;
  671.                 P3 = temp2;
  672.                 P2 = temp2;
  673.                 Delay1ms(N);
  674.                 temp1 = ((temp1 << 1) | 0x01);
  675.                 temp2 = ((temp2 >> 1) | 0x80);
  676.         }
  677.         Delay1ms(N + N + N);
  678. }


  679. void Led9()
  680. {
  681.         uchar i;
  682.         for(i = 0; i < 8; i ++)
  683.         {
  684.                 P0 = 0x55;
  685.                 P1 = 0xaa;
  686.                 P3 = 0xaa;
  687.                 P2 = 0xaa;
  688.                 Delay1ms(N);
  689.                 P0 = 0xaa;
  690.                 P1 = 0x55;
  691.                 P3 = 0x55;
  692.                 P2 = 0x55;
  693.                 Delay1ms(N);
  694.         }
  695. }


  696. void Led10()
  697. {
  698.         unsigned char i;
  699.         for(i=0;i<8;i++)
  700.         {
  701.                 P0 = 0x7e;
  702.                 P1 = 0x7e;
  703.                 P3 = 0x7e;
  704.                 P2 = 0x7e;
  705.                 Delay1ms(N);
  706.                 P0 = 0xbd;
  707.                 P1 = 0xbd;
  708.                 P3 = 0xbd;
  709.                 P2 = 0xbd;
  710.                 Delay1ms(N);
  711.                 P0 = 0xdb;
  712.                 P1 = 0xdb;
  713.                 P3 = 0xdb;
  714.                 P2 = 0xdb;
  715.                 Delay1ms(N);
  716.                 P0 = 0xe7;
  717.                 P1 = 0xe7;
  718.                 P3 = 0xe7;
  719.                 P2 = 0xe7;
  720.                 Delay1ms(N);
  721.                 P0 = 0xdb;
  722.                 P1 = 0xdb;
  723.                 P3 = 0xdb;
  724.                 P2 = 0xdb;
  725.                 Delay1ms(N);
  726.                 P0 = 0xbd;
  727.                 P1 = 0xbd;
  728.                 P3 = 0xbd;
  729.                 P2 = 0xbd;
  730.                 Delay1ms(N);
  731.                 P0 = 0x7e;
  732.                 P1 = 0x7e;
  733.                 P3 = 0x7e;
  734.                 P2 = 0x7e;
  735.                 Delay1ms(N);
  736.         }
  737.         P0 = 0xff;
  738.         P1 = 0xff;
  739.         P3 = 0xff;
  740.         P2 = 0xff;
  741. }


  742. void Led11()
  743. {
  744.         uchar i;
  745.         uchar temp1;
  746.         temp1 = 0x7f;       
  747.         for(i = 0; i < 8; i ++)
  748.         {
  749.                 P0 = temp1;
  750.                 Delay1ms(N);
  751.                 temp1 = (temp1 >> 1);
  752.         }
  753.         Delay1ms(N);
  754.         temp1 = 0x80;       
  755.         for(i = 0; i < 8; i ++)
  756.         {
  757.                 P0 = temp1;
  758.                 Delay1ms(N);
  759.                 temp1 = ((temp1 >> 1) | 0x80);
  760.         }
  761.     Delay1ms(N + N);
  762.     temp1 = 0xfe;
  763.     for(i = 0; i < 8; i ++)
  764.         {
  765.                 P1 = temp1;
  766.                 Delay1ms(N);
  767.                 temp1 = (temp1 << 1);
  768.         }
  769.         Delay1ms(N);
  770.     temp1 = 0x01;
  771.     for(i = 0; i < 8; i ++)
  772.         {
  773.                 P1 = temp1;
  774.                 Delay1ms(N);
  775.                 temp1 = ((temp1 << 1) | 0x01);
  776.         }
  777.     Delay1ms(N + N);
  778.         P1 = 0xff;
  779.     temp1 = 0xfe;
  780.     for(i = 0; i < 8; i ++)
  781.         {
  782.                 P3 = temp1;
  783.                 Delay1ms(N);
  784.                 temp1 = (temp1 << 1);
  785.         }
  786.     Delay1ms(N);
  787.         temp1 = 0x01;
  788.     for(i = 0; i < 8; i ++)
  789.         {
  790.                 P3 = temp1;
  791.                 Delay1ms(N);
  792.                 temp1 = ((temp1 << 1) | 0x01);
  793.         }
  794.         P3 = 0xff;
  795.     Delay1ms(N+N);
  796.     temp1 = 0xFE;
  797.     for(i = 0; i < 8; i ++)
  798.         {
  799.                 P2 = temp1;
  800.                 Delay1ms(N);
  801.                 temp1 = (temp1 << 1);
  802.         }
  803.         Delay1ms(N);
  804.     temp1 = 0x01;
  805.     for(i = 0; i < 8; i ++)
  806.         {
  807.                 P2 = temp1;
  808.                 Delay1ms(N);
  809.                 temp1 = ((temp1 << 1) | 0x01);
  810.         }
  811.     Delay1ms(N + N);
  812.         P2 = 0xff;
  813. }


  814. void Led12()                                // 单个流水灯双程模式1
  815. {
  816.         uchar a, i, j, k, l, l1, k1, j1, i1;
  817.         a = 0xfe;
  818.         P0 = a;
  819.         Delay1ms(N);
  820.         a = a << 1;
  821.         P0 = a;
  822.         Delay1ms(N);
  823.         for(i = 0; i < 6; i ++)                                            
  824.         {
  825.                 a = _crol_(a, 1);
  826.                 P0 = a;
  827.                 Delay1ms(N);
  828.         }
  829.         P0 = 0x7f;

  830.         P2 = 0xfe;
  831.         Delay1ms(N);
  832.         P0 = 0xff;
  833.         a = 0xfc;
  834.         P2 = a;
  835.         Delay1ms(N);
  836.         for(j = 0; j < 6; j ++)
  837.         {
  838.                 a = _crol_(a, 1);
  839.                 P2 = a;
  840.                 Delay1ms(N);
  841.         }
  842.         P2 = 0x7f;

  843.         P3 = 0xfe;
  844.         Delay1ms(N);
  845.         P2 = 0xff;
  846.         a = 0xfc;
  847.         P3 = a;
  848.         Delay1ms(N);
  849.         for(k = 0; k < 6; k ++)
  850.         {
  851.                 a = _crol_(a, 1);
  852.                 P3 = a;
  853.                 Delay1ms(N);
  854.         }
  855.         P3 = 0x7f;

  856.         P1 = 0xff;
  857.         Delay1ms(N);
  858.         a = 0x7f;
  859.         P3 = 0xff;
  860.         P1 = a;
  861.         Delay1ms(N);
  862.         a = a >> 1;
  863.         P1 = a;
  864.         Delay1ms(N);
  865.         for(l1 = 0; l1 < 6; l1 ++)                                       
  866.         {
  867.                 a=_cror_(a,1);
  868.                 P1=a;
  869.                 Delay1ms(N);
  870.         }
  871.         P1=0xfe;
  872.        
  873.         P1=0xfe;
  874.         Delay1ms(N);
  875.         P3=0xff;
  876.         a=0xfc;       
  877.         P1=a;
  878.         Delay1ms(N);
  879.         for(l=0;l<6;l++)
  880.         {
  881.                 a=_crol_(a,1);
  882.                 P1=a;
  883.                 Delay1ms(N);
  884.         }
  885.         P1=0x7f;
  886.         Delay1ms(N);

  887.         P3=0x7f;
  888.         Delay1ms(N);
  889.         P1=0xff;
  890.         a=0x3f;
  891.         P3=a;
  892.         Delay1ms(N);
  893.         for(k1=0;k1<6;k1++)
  894.         {
  895.                 a=_cror_(a,1);
  896.                 P3=a;
  897.                 Delay1ms(N);
  898.         }
  899.         P3=0xfe;
  900.         P2=0x7f;
  901.         Delay1ms(N);
  902.         P3=0xff;
  903.         a=0x3f;
  904.         P2=a;
  905.         Delay1ms(N);
  906.         for(j1=0;j1<6;j1++)
  907.         {
  908.                 a=_cror_(a,1);
  909.                 P2=a;
  910.                 Delay1ms(N);
  911.         }
  912.         P2=0xfe;
  913.         P0=0x7f;
  914.         Delay1ms(N);
  915.         P2=0xff;
  916.         a=0x3f;
  917.         P0=a;
  918.         Delay1ms(N);
  919.         for(i1=0;i1<6;i1++)
  920.         {
  921.                 a=_cror_(a,1);
  922.                 P0=a;
  923.                 Delay1ms(N);
  924.         }
  925.         P0=0xfe;
  926.         Delay1ms(N);
  927.         P0=0xff;
  928.         Delay1ms(N);
  929. }


  930. void Led13()
  931. {
  932.         uchar i;
  933.         for(i = 0; i < 8; i ++)
  934.         {
  935.                 P0 = table13[i];
  936.                 P1 = table13[i];
  937.                 P2 = table13[i];
  938.                 P3 = table13[i];
  939.                 Delay1ms(N);
  940.         }
  941. }


  942. void Led14()
  943. {
  944.         uchar i;
  945.         for(i = 0; i < 8; i ++)
  946.         {
  947.                 P0 = table14[i];
  948.                 P1 = table14[i];
  949.                 P2 = table14[i];
  950.                 P3 = table14[i];
  951.                 Delay1ms(N);
  952.         }
  953. }


  954. void Led15()
  955. {
  956.         uchar a, b, i;
  957.         a = 0xfe;
  958.         b = 0x7f;
  959.         P0 = a;
  960.         P1 = a;
  961.         P2 = a;
  962.         P3 = b;
  963.         Delay1ms(N);
  964.         for(i = 0; i < 7; i ++)
  965.         {
  966.                 a = a << 1;
  967.                 b = b >> 1;
  968.                 P0 = a;
  969.                 P1 = a;
  970.                 P2 = a;
  971.                 P3 = b;
  972.                 Delay1ms(N);
  973.         }
  974.         a = 0x00;
  975.         b = 0x00;
  976.         for(i = 0; i < 8; i ++)
  977.         {
  978.                 a = a << 1 | 0x01;
  979.                 b = b >> 1 | 0x80;
  980.                 P0 = a;
  981.                 P1 = a;
  982.                 P2 = a;
  983.                 P3 = b;
  984.                 Delay1ms(N);               
  985.         }
  986. }


  987. void Led16()
  988. {
  989.         uchar temp1, temp2, i;
  990.         temp1 = 0xfe;
  991.         P0 = temp1;
  992.         P1 = temp1;
  993.         Delay1ms(N);
  994.         for(i = 0; i < 7; i ++)
  995.         {
  996.                 temp1 = temp1 << 1;
  997.                 P0 = temp1;
  998.              P1 = temp1;
  999.                 Delay1ms(N);                       
  1000.         }

  1001.         temp1 = 0x7f;
  1002.         temp2 = 0xfe;
  1003.         P2 = temp2;
  1004.         P3 = temp1;
  1005.         Delay1ms(N);
  1006.         for(i = 0; i < 7; i ++)
  1007.         {
  1008.                 temp1 = temp1 >> 1;
  1009.                 temp2 = temp2 << 1;
  1010.                 P2 = temp2;
  1011.             P3 = temp1;
  1012.                 Delay1ms(N);
  1013.         }

  1014.         for(i = 0; i < 8; i ++)
  1015.         {
  1016.                 temp1 = temp1 << 1 | 0x01;
  1017.                 temp2 = temp2 >> 1 | 0x80;
  1018.                 P2 = temp2;
  1019.             P3 = temp1;
  1020.                 Delay1ms(N);
  1021.         }

  1022.         temp1 = 0x00;
  1023.         for(i = 0; i < 8; i ++)
  1024.         {
  1025.                 temp1 = temp1 >> 1 | 0x80;
  1026.                 P0 = temp1;
  1027.             P1 = temp1;
  1028.                 Delay1ms(N);
  1029.         }
  1030. }


  1031. void Led17()
  1032. {
  1033.         P0=0x00;
  1034.         Delay1ms(N);
  1035.         P0=0xff;
  1036.         P1=0x00;
  1037.         Delay1ms(N);
  1038.         P1=0xff;
  1039.         P3=0x00;  
  1040.         Delay1ms(N);
  1041.         P3=0xff;
  1042.         P2=0x00;
  1043.         Delay1ms(N);
  1044.         P2=0xff;
  1045.         Delay1ms(N + N);
  1046.         P2=0x00;
  1047.         Delay1ms(N);
  1048.         P2=0xff;       
  1049.         P3=0x00;
  1050.         Delay1ms(N);
  1051.         P3=0xff;
  1052.         P1=0x00;
  1053.         Delay1ms(N);
  1054.         P1=0xff;
  1055.         P0=0x00;
  1056.         Delay1ms(N);
  1057.         P0=0xff;
  1058.         Delay1ms(N);
  1059. }


  1060. void Led18()
  1061. {
  1062.         uchar i , temp;
  1063.         P0 = 0xff;
  1064.         P1 = 0xff;
  1065.         P2 = 0xff;
  1066.         P3 = 0xff;
  1067.         temp = 0x7f;
  1068.         P0 = temp;
  1069.         temp = temp >> 1;
  1070.         Delay1ms(N);
  1071.         P0 = temp;
  1072.         Delay1ms(N);
  1073.         for (i = 0; i < 8; i ++)
  1074.         {
  1075.                 P0 = temp;
  1076.                 temp = (temp >> 1) | 0x80;
  1077.                 Delay1ms(N);
  1078.         }
  1079.         temp = 0xfe;
  1080.         P0 = temp;
  1081.         temp = temp << 1;
  1082.         Delay1ms(N);
  1083.         P0 = temp;
  1084.         Delay1ms(N);
  1085.         for (i = 0; i < 8; i ++)
  1086.         {
  1087.                 P0 = temp;
  1088.                 temp = (temp << 1) | 0x01;
  1089.                 Delay1ms(N);
  1090.         }
  1091.         P0 = 0xff;
  1092.        
  1093.         temp = 0x7f;
  1094.         P2 = temp;
  1095.         temp = temp >> 1;
  1096.         Delay1ms(N);
  1097.         P2 = temp;
  1098.         Delay1ms(N);
  1099.         for (i = 0; i < 8; i ++)
  1100.         {
  1101.                 P2 = temp;
  1102.                 temp = (temp >> 1) | 0x80;
  1103.                 Delay1ms(N);
  1104.         }
  1105.         temp = 0xfe;
  1106.         P2 = temp;
  1107.         temp = temp << 1;
  1108.         Delay1ms(N);
  1109.         P2 = temp;
  1110.         Delay1ms(N);
  1111.         for (i = 0; i < 8; i ++)
  1112.         {
  1113.                 P2 = temp;
  1114.                 temp = (temp << 1) | 0x01;
  1115.                 Delay1ms(N);
  1116.         }
  1117.         P2 = 0xff;
  1118.        
  1119.         temp = 0x7f;
  1120.         P1 = temp;
  1121.         temp = temp >> 1;
  1122.         Delay1ms(N);
  1123.         P1 = temp;
  1124.         Delay1ms(N);
  1125.         for (i = 0; i < 8; i ++)
  1126.         {
  1127.                 P1 = temp;
  1128.                 temp = (temp >> 1) | 0x80;
  1129.                 Delay1ms(N);
  1130.         }
  1131.         temp = 0xfe;
  1132.         P1 = temp;
  1133.         temp = temp << 1;
  1134.         Delay1ms(N);
  1135.         P1 = temp;
  1136.         Delay1ms(N);
  1137.         for (i = 0; i < 8; i ++)
  1138.         {
  1139.                 P1 = temp;
  1140.                 temp = (temp << 1) | 0x01;
  1141.                 Delay1ms(N);
  1142.         }
  1143.         P1 = 0xff;

  1144.         temp = 0xfe;
  1145.         P3 = temp;
  1146.         temp = temp << 1;
  1147.         Delay1ms(N);
  1148.         P3 = temp;
  1149.         Delay1ms(N);
  1150.         for (i = 0; i < 8; i ++)
  1151.         {
  1152.                 P3 = temp;
  1153.                 temp = (temp << 1) | 0x01;
  1154.                 Delay1ms(N);
  1155.         }
  1156.         temp = 0x7f;
  1157.         P3 = temp;
  1158.         temp = temp >> 1;
  1159.         Delay1ms(N);
  1160.         P3 = temp;
  1161.         Delay1ms(N);
  1162.         for (i = 0; i < 8; i ++)
  1163.         {
  1164.                 P3 = temp;
  1165.                 temp = (temp >> 1) | 0x80;
  1166.                 Delay1ms(N);
  1167.         }
  1168.         P3 = 0xff;                 
  1169. }


  1170. void Led19()
  1171. {
  1172.         uchar i, j, k , temp1, temp2;
  1173.         for (k = 0; k < 2; k ++)
  1174.         {
  1175.                 for (j = 0; j < 4; j ++)
  1176.                 {
  1177.                         temp1 = 0x77;
  1178.                         temp2 = 0xee;
  1179.                         for (i = 0; i < 4; i ++)
  1180.                         {
  1181.                                 P0 = temp1;
  1182.                                 P1 = temp2;
  1183.                                 P2 = temp2;
  1184.                                 P3 = temp2;
  1185.                                 temp1 = (temp1 >> 1) | 0x80;
  1186.                                 temp2 = (temp2 << 1) | 0x01;
  1187.                                 Delay1ms(N + N);
  1188.                         }
  1189.                 }
  1190.        
  1191.                 for (j = 0; j < 4; j ++)
  1192.                 {
  1193.                         temp1 = 0xee;
  1194.                         temp2 = 0x77;
  1195.                         for (i = 0; i < 4; i ++)
  1196.                         {
  1197.                                 P0 = temp1;
  1198.                                 P1 = temp2;
  1199.                                 P2 = temp2;
  1200.                                 P3 = temp2;
  1201.                                 temp1 = (temp1 << 1) | 0x01;
  1202.                                 temp2 = (temp2 >> 1) | 0x80;
  1203.                                 Delay1ms(N + N);
  1204.                         }
  1205.                 }
  1206.         }
  1207. }


  1208. void Led_Run()
  1209. {
  1210.         Led1();
  1211.         Led2();
  1212.         Led3();
  1213.         Led4();
  1214.         Led5();
  1215.         Led6();
  1216.         Led7();
  1217.         Led8();
  1218.         Led9();
  1219.         Led10();
  1220.         Led11();
  1221.         Led12();
  1222.         Led13();
  1223.         Led14();
  1224.         Led15();
  1225.         Led16();
  1226.         Led17();
  1227.         Led18();
  1228.         Led19();
  1229.         Led0();
  1230.         N += 30;
  1231.         if (N >= 150)
  1232.                 N = 30;         
  1233. }


复制代码

所有资料51hei提供下载:
Program.rar (53.37 KB, 下载次数: 9)


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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