找回密码
 立即注册

QQ登录

只需一步,快速开始

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

各种流水灯效果程序,如两边一起向下亮

[复制链接]
跳转到指定楼层
楼主
ID:126385 发表于 2016-6-12 16:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>  
#include<intrins.h>  
#define uint unsigned int  
#define uchar unsigned char  
void delays(uint xms)  
{  
    uint i,j;  
    for(i=xms;i>0;i--)  
       for(j=110;j>0;j--);  
}  
void main()  
{  
     uint i,j,n; uchar a,b,c,d;   
     for(i=0;i<1;i++)       //                                                               所有灯闪1下  
     {  
         P0=P1=P2=P3=0x00;delays(1000);  
         P0=P1=P2=P3=0xff;delays(1000);  
     }                        
                       P3=P2=0xff;                                                        //两边一起向下流水  
                       for(j=0;j<=8;j++)  
                       {  
                           P1=0xff<<j;P0=0xff<<j;delays(40);  
                       }  
                       for(j=0;j<=8;j++)  
                       {  
                           P3=0xff<<j; P2=0xff>>j;delays(40);  
                       }  
                       P0=P1=P2=P3=0x00;delays(500);  
                       for(j=0;j<8;j++)  
                       {P3=0xff<<(7-j);P2=0xff>>(7-j);delays(40);  
                       }  
                      for(j=0;j<8;j++)  
                       {  
                           P0=0xff<<(7-j);P1=0xff<<(7-j);delays(40);  
                       }                                 
                                    P3=P2=0xff;           //两边 杂乱 闪烁  
                                    for(j=0;j<=8;j++)  
                                    {P1=0xff<<j; P0=0xff<<j; delays(40);  
                                    }  
                                    for(j=0;j<=8;j++)  
                                    {P3=0xff>>j;P2=0xff<<j; delays(40);  
                                    }  
                                    P0=P1=P2=P3=0x00;delays(500);  
                                    for(j=0;j<8;j++)  
                                    {P1=0xff>>(7-j);P0=0xff>>(7-j);delays(40);  
                                    }  
                                    for(j=0;j<8;j++)  
                                    {P2=0xff>>(7-j);P3=0xff<<(7-j);delays(40);  
                                    }                                   
        P0=P1=P2=P3=0xff;    //一边向下流水  
        for(j=0;j<=8;j++)  
        { P1=0xff<<j;delays(30);  
        }        
        for(j=0;j<=8;j++)  
        {  
              P3=0xff<<j;delays(30);  
        }  
        for(j=0;j<=8;j++)  
        {  
              P2=0xff<<j;delays(30);  
        }  
        for(j=0;j<=8;j++)  
        {  
              P0=0xff>>j;delays(30);  
        }   
        P0=P1=P2=P3=0x00;  
        delays(500)  ;  
        for(j=0;j<8;j++)  
        {   
              P0=0xff>>(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P2=0xff<<(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P3=0xff<<(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P1=0xff<<(7-j);delays(30);  
        }  
        P0=P1=P2=P3=0xff;  
        for(j=0;j<=8;j++)  
        {  
              P0=0xff<<j; delays(30);  
        }        
        for(j=0;j<=8;j++)  
        {  
              P2=0xff>>j; delays(30);  
        }  
        for(j=0;j<=8;j++)  
        {  
              P3=0xff>>j;delays(30);  
        }  
        for(j=0;j<=8;j++)  
        {  
              P1=0xff>>j;delays(30);  
        }   
        P0=P1=P2=P3=0x00;  
        delays(500)  ;  
        for(j=0;j<8;j++)  
        {   
              P1=0xff>>(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P3=0xff>>(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P2=0xff>>(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P0=0xff<<(7-j);delays(30);  
        }  //2   
                                     P0=P2=P3=0xff ;  
                       for(i=0;i<=8;i++)  
         {   P1=0xff<<i;delays(50);  
         } delays(800);  
         for(i=0;i<8;i++)  
         {   P1=0xff>>(7-i);delays(50);  
         }  P0=P1=P2=0xff;  
              for(i=0;i<=8;i++)  
              {  P3=0xff<<i;delays(50);  
              }   delays(800);  
              for(i=0;i<8;i++)  
              {   P3=0xff>>(7-i);delays(50);  
              }P0=P1=P3=0xff;   
         for(i=0;i<=8;i++)  
         {  P2=0xff<<i;delays(50);  
                                       }   delays(800);  
         for(i=0;i<8;i++)  
                                       {   P2=0xff>>(7-i);delays(50);  
                                       } P1=P2=P3=0xff;  
              for(i=0;i<=8;i++)  
              {  P0=0xff>>i;delays(50);  
              }      delays(800);  
              for(i=0;i<8;i++)  
              {  P0=0xff<<(7-i);delays(50);  
              }   
        P2=P3=0xff;for(i=0;i<=8;i++)  
                   {  
         P0=0xff<<i;P1=0xff<<i;delays(50);  
    }delays(800);  
    for(i=0;i<8;i++)  
    {  
         P0=0xff>>(7-i);P1=0xff>>(7-i);delays(50);      
    }P0=P1=0xff;  
         for(i=0;i<=8;i++)  
         {  
             P3=0xff<<i;P2=0xff>>i;delays(50);  
         }delays(800);  
         for(i=0;i<8;i++)  
         {  
             P3=0xff>>(7-i);P2=0xff<<(7-i);delays(50);  
         }  
         for(i=0;i<3;i++)  
         {  
             P1=P3=P2=0xcc;P0=0x33;delays(500);P1=P3=P2=0x33;P0=0xcc;delays(500);  
         }  
                          P1=P3=P2=0xcc;   P0=0x33;           //首先逆时针  
                                                        for(i=0;i<120;i++)  
                                                        {      
                                                               delays(100);P0=_cror_(P0,1);P1=_crol_(P1,1);P3=_crol_(P3,1);P2=_crol_(P2,1);  
                                                        }  
                                                        delays(1500) ;  
                                                        for(i=0;i<120;i++)  
                                                        {      
                                                               delays(100); P0=_crol_(P0,1);P1=_cror_(P1,1);P3=_cror_(P3,1);P2=_cror_(P2,1);  
                                                         } delays(1000);  
    P1=P3=P2=0x0f;   P0=0xf0;           //首先逆时针  
    for(i=0;i<80;i++)  
     {      
        delays(120);P0=_cror_(P0,1);P1=_crol_(P1,1);P3=_crol_(P3,1);P2=_crol_(P2,1);  
     }  
     delays(1500) ;  
      for(i=0;i<80;i++)  
     {      
        delays(120); P0=_crol_(P0,1);P1=_cror_(P1,1);P3=_cror_(P3,1);P2=_cror_(P2,1);  
     }   
                P1=P3=P0=0x77;P2=0xee;  
                for(i=0;i<50;i++)    //四口来回转  
                {      
                        delays(100);P0=_crol_(P0,1);P1=_crol_(P1,1);P3=_crol_(P3,1);P2=_cror_(P2,1);  
                }      
  P0=P3=0xff;P1=P2=0xfe;  
                        for(i=0;i<8;i++)  
         {      delays(30);  
                P1=_crol_(P1,1);P2=_crol_(P2,1);   
         }P1=P2=0xff;P3=0xfe;P0=0x7f;  
         for(i=0;i<8;i++)  
         {      delays(30);  
                P3=_crol_(P3,1);P0=_cror_(P0,1);  
         }P0=0xfe;P3=0x7f;a=0x7f;  b=0xfe;  
      for(j=1;j<8;j++)  
      {  c=0xff<<j;d=0xff>>j;  
         P1=P2=0xfe;  
                        for(i=0;i<=7;i++)  
         {      delays(30);  
                P1=_crol_(P1,1);P2=_crol_(P2,1);  
         }P1=P2=0xff;                 
                                                      for(i=0;i<7;i++)  
                                                      {      
                P0=a&c;P3=b&d;delays(30);  
                                                             a=_cror_(a,1);b=_crol_(b,1);                                                                  
                                                      }  
       } P0=P3=0x00;b=0xfe;  
     for(j=1;j<8;j++)  
     {  d=0xff>>j;  
           for(i=0;i<7;i++)  
           {  
              P1=b&d;P2=b&d;delays(30);b=_crol_(b,1);  
           }            
     }  
  n=2;     while(n)  
          {  
             P1=P2=P3=0x7f;P0=0xfe;  
             for(i=0;i<7;i++)  
             {   delays(100);P1=_cror_(P1,1);P2=_cror_(P2,1);P3=_cror_(P3,1);P0=_crol_(P0,1);  
             } delays(100);  
             c=0xfe;d=0x7f;a=0x7f;b=0xfe;   
            for(j=0;j<9;j++)  
            {                 
               for(i=0;i<=8;i++)  
               {   
                  P1=P2=P3=c&a;P0=b&d;delays(100);  
   a=_cror_(a,1);b=_crol_(b,1);                     
               } c=_cror_(c,1);d=_crol_(d,1); a=c;b=d;  
            }n--;  
          }  
                                     P3=P2=0xff;        //两边一起向下亮  
                                     for(j=0;j<=8;j++)  
                                     {  
                                           P1=0xff<<j;P0=0xff<<j;delays(40);  
                                     }  
                                     for(j=0;j<=8;j++)  
                                     {  
                                           P3=0xff<<j; P2=0xff>>j;delays(40);  
                                     }  
while(1)                                                       //一心调频率接近的跳动  
{  
    P0=P1=P2=P3=0x00;delays(800);  
    P0=P1=P2=P3=0xff;delays(800);  
}   
}  

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:125512 发表于 2016-6-13 11:24 | 只看该作者
你应该给我们看到一个实物让我们 看看  不过你的程序我还是带走了
回复

使用道具 举报

板凳
ID:126485 发表于 2016-6-13 22:48 | 只看该作者
感谢分享谢谢楼主
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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