当前位置: 首页 > news >正文

32LED心形灯程序源代码

#include

unsigned int m=1;

void delayms(int n)       //延时

int       i;

for(;n>0;n--)

for(i=330;i>0;i--)

;

}

void way1()          //花样1:32个LED灯同时从灭到亮

{        

       int k;

       k=m+5;

       while(k)

       {

       int i=5,j=5;

       for(;j>0;j--)

       P0=0X00;

        P1=0X00;

       P2=0X00;

       P3=0X00;

       delayms(200);

        for(;i>0;i--)

       P0=0Xff;

        P1=0Xff;

       P2=0Xff;

       P3=0Xff;

       delayms(200);  

       k--;

       }

}

void way2()  //花样2:交叉点亮,从右往左依次点亮,再依返回。

{        

unsigned int k;

unsigned char temp,temp1,sum=0;

 unsigned int i,j;

       k=m;      

while(k)

       {      

       for(j=2;j>0;j--)

       {

       P0=0X00;P1=0X00;P2=0X00; P3=0X00;//r->l

       delayms(500);

       P0=0Xff;

       P1=0Xff;

       P2=0xff;

       P3=0xff;

      

              temp=0x01;

              for(i=0;i<9;i++)

              {      

                     P0=~temp;

                     delayms(70);

                     temp=temp<<1; 

                     }                    

              temp=0x01;

              for(i=0;i<9;i++)

              {      

                     P2=~temp;

                     delayms(70);

                     temp=temp<<1;

                     }

              temp=0x01;

              for(i=0;i<9;i++)

              {      

                     P3=~temp;

                     delayms(70);

                     temp=temp<<1;

                     }

                 temp=0x01;

              for(i=0;i<9;i++)

              {      

                     P1=~temp;

                     delayms(70);

                     temp=temp<<1;

                     }

          P0=0X00;P1=0X00;P2=0X00; P3=0X00;//l->r

       delayms(500); 

       P0=0Xff;

       P1=0Xff;

       P2=0xff;

       P3=0xff;

      

              temp=0x80;

              for(i=0;i<9;i++)

              {      

                     P1=~temp;

                     delayms(70);

                     temp=temp>>1;

                     }

              temp=0x80;

              for(i=0;i<9;i++)

              {      

                     P3=~temp;

                     delayms(70);

                     temp=temp>>1;

                     }

                 temp=0x80;

              for(i=0;i<9;i++)

              {             

                     P2=~temp;

                     delayms(70);

                     temp=temp>>1;

                     }   

              temp=0x80;

              for(i=0;i<9;i++)

              {      

                     P0=~temp;

                     delayms(70);

                     temp=temp>>1;

                    

                     }                    

       P0=0X00;P1=0X00;P2=0X00; P3=0X00;

       delayms(500);

       P0=0Xff;

       P1=0Xff;

       P2=0xff;

       P3=0xff;

              temp=0x01;temp1=0x80;

              for(i=0;i<9;i++)

              {      

                     P0=~temp;      

                     P1=~temp1;

                     temp=temp<<1;temp1=temp1>>1;

                     delayms(70);

                     }                    

              temp=0x01;temp1=0x80;

              for(i=0;i<9;i++)

              {      

                     P2=~temp;      

                     P3=~temp1;

                     temp=temp<<1;temp1=temp1>>1;

                     delayms(70);

                     }

              temp=0x01;temp1=0x80;

              for(i=0;i<9;i++)

              {      

                     P3=~temp;      

                     P2=~temp1;

                     temp=temp<<1;temp1=temp1>>1;

                     delayms(70);

                     }

                 temp=0x01;temp1=0x80;

              for(i=0;i<9;i++)

              {      

                     P1=~temp;      

                     P0=~temp1;

                     temp=temp<<1;temp1=temp1>>1;

                     delayms(70);

                     }

         }

                     k--;

       }

}

void way3()      

{

 unsigned int i,sum,sum1,k,temp1;

 unsigned int temp=0x01;

 k=m;

        P0=0Xff; //两边同时向下闪

       P1=0Xff;

       P2=0xff;

       P3=0xff;

 while(k)

 {

        temp1=0xfe;

       temp=0x7f;

       sum=0;

 for(i=0;i<8;i++)

        {

       P0=temp1;

       P1=temp;

       delayms(100);

        temp1=temp1<<1;

       temp=temp>>1;      

        }

       temp1=0xfe;

       temp=0x7f;

       sum=0;

 for(i=0;i<8;i++)

        {

       P2=temp1;

       P3=temp;

       delayms(100);

        temp1=temp1<<1;

       temp=temp>>1;      

        }

       P0=0X00;  //全亮

       P1=0X00;

       P2=0x00;

       P3=0x00;

       delayms(100);

       temp=0x01;          //返回

       temp1=0x80;      

       sum=0;sum1=0;

 for(i=0;i<8;i++)

         {       

        sum=sum+temp;P3=sum;temp=temp<<1;

       sum1=sum1+temp1;P2=sum1;temp1=temp1>>1;      

       delayms(100);

        }

       P2=0Xff; P3=0xff;      

       delayms(100);

        temp=0x01;

       temp1=0x80;

       sum=0;sum1=0;

 for(i=0;i<8;i++)

        {

       sum=sum+temp;P1=sum;temp=temp<<1;

       sum1=sum1+temp1;P0=sum1;temp1=temp1>>1;      

       delayms(100);             

        }

       P0=0Xff; //两边同时向上闪

       P1=0Xff;

       P2=0xff;

       P3=0xff;

        temp1=0xfe;

       temp=0x7f;

       sum=0;

 for(i=0;i<8;i++)

        {

       P3=temp1;

       P2=temp;

       delayms(100);

        temp1=temp1<<1;

       temp=temp>>1;      

        }

       temp1=0xfe;

       temp=0x7f;

       sum=0;

 for(i=0;i<8;i++)

        {

       P1=temp1;

       P0=temp;

       delayms(100);

        temp1=temp1<<1;

       temp=temp>>1;      

        }  

       P0=0X00;  //全亮

       P1=0X00;

       P2=0x00;

       P3=0x00;

       delayms(100);

       temp=0x01;          //返回

       temp1=0x80;      

       sum=0;sum1=0;

 for(i=0;i<8;i++)

         {       

        sum=sum+temp;P0=sum;temp=temp<<1;

       sum1=sum1+temp1;P1=sum1;temp1=temp1>>1;      

       delayms(100);

        }

        temp=0x01;

       temp1=0x80;

       sum=0;sum1=0;

 for(i=0;i<8;i++)

        {

       sum=sum+temp;P2=sum;temp=temp<<1;

       sum1=sum1+temp1;P3=sum1;temp1=temp1>>1;      

       delayms(100);             

        }

        k--;

 }

 }

void way4()             //相间交叉闪烁

{

   unsigned int temp=0x55;

    unsigned int k,j;

       k=m+3;j=m+3;

       while(k)

       {

       P0=~temp;

       P1=~temp;

       P2=~temp;

       P3=~temp;

       delayms(200);

       P0=temp;

       P1=temp;

       P2=temp;

       P3=temp;

       delayms(200);

       k--;

       }

       while(j)

       {

       P0=temp;

       P1=temp;

       P2=temp;

       P3=temp;

       delayms(200);

       P0=~temp;

       P1=~temp;

       P2=~temp;

       P3=~temp;

       delayms(200);

       j--;

       }

}

 void way5()  

 {

 unsigned int k,j;       //8个灯一起亮并旋转

 k=m+4;j=m+4;

 while(k)

 {

 P0=0xaa;delayms(200);

 P0=0xff;

 P0=0x55;delayms(200);

 P0=0xff;

 P2=0xaa;delayms(200);

 P2=0xff;

 P2=0x55;delayms(200);

 P2=0xff;

 P3=0xaa;delayms(200);

 P3=0xff;

 P3=0x55;delayms(200);

 P3=0xff;

 P1=0xaa;delayms(200);

 P1=0xff;

 P1=0x55;delayms(200);

 P1=0xff;

 k--;

 }

 while(j)

 {

 P1=0x55;delayms(200);

 P1=0xff;

 P1=0xaa;delayms(200);

 P1=0xff;

 P3=0x55;delayms(200);

 P3=0xff;

 P3=0xaa;delayms(200);

 P3=0xff;

 P2=0x55;delayms(200);

 P2=0xff;

 P2=0xaa;delayms(200);

 P2=0xff;

 P0=0x00;delayms(200);

 P0=0xff;

 P0=0xaa;delayms(200);

 P0=0xff;

 j--;

 }

 }

 void way6()         //两边同时对称闪

 {

  unsigned int i,j,sum,sum1,k,temp1;

 k=m+1;   

 while(k)

 {      

        P0=0Xff;

       P1=0Xff;

       P2=0xff;

       P3=0xff;

        for(j=3;j>0;j--)

       {

        temp1=0xfe;

 for(i=0;i<8;i++)

        {

       P0=temp1;

       P3=temp1;

       delayms(100);

        temp1=temp1<<1;      

        }  

       temp1=0xfe;

 for(i=0;i<8;i++)

        {

       P2=temp1;

       P1=temp1;

       delayms(100);

        temp1=temp1<<1;      

        }

       P0=0Xff;  //全灭

       P1=0Xff;

       P2=0xff;

       P3=0Xff;

       delayms(100);

       }

       for(j=3;j>0;j--)

       {         

       temp1=0x7f;         //返回

 for(i=0;i<8;i++)

         {       

       P1=temp1;P2=temp1;temp1=temp1>>1;      

       delayms(100);       

        }

       temp1=0x7f;

 for(i=0;i<8;i++)

        {

       P3=temp1;P0=temp1;temp1=temp1>>1;      

       delayms(100);             

        }

       P0=0Xff;  //全灭

       P1=0Xff;

       P2=0xff;

       P3=0xff;

       delayms(100);

       }

       way3();

       for(j=3;j>0;j--)

       {

       temp1=0xfe;

 for(i=0;i<8;i++)

        {

       P0=temp1;

       P3=temp1;

       delayms(100);

        temp1=temp1<<1;      

        }

       P0=0Xff;  //全灭

       P1=0Xff;

       P2=0xff;

       P3=0Xff;

       delayms(100);

       temp1=0xfe;

 for(i=0;i<8;i++)

        {

       P2=temp1;

       P1=temp1;

       delayms(100);

        temp1=temp1<<1;      

        }

       P0=0Xff;  //全灭

       P1=0Xff;

       P2=0xff;

       P3=0Xff;

       delayms(100);

       }

       for(j=3;j>0;j--)

       {

       temp1=0xfe;

 for(i=0;i<8;i++)

        {

       P0=temp1;

       P3=temp1;

       delayms(100);

        temp1=temp1<<1;      

        }

       P0=0Xff;  //全灭

       P1=0Xff;

       P2=0xff;

       P3=0Xff;

       delayms(100);

       temp1=0xfe;

 for(i=0;i<8;i++)

        {

       P2=temp1;

       P1=temp1;

       delayms(100);

        temp1=temp1<<1;      

        }   

       P0=0Xff;  //全灭

       P1=0Xff;

       P2=0xff;

       P3=0Xff;

       delayms(100);

       }

       for(j=3;j>0;j--)

       {         

       temp1=0x7f;         //返回

 for(i=0;i<8;i++)

         {       

       P1=temp1;P2=temp1;      

       delayms(100);

       temp1=temp1>>1;             

        }

       P0=0Xff;  //全灭

       P1=0Xff;

       P2=0xff;

       P3=0xff;

       delayms(100);

       temp1=0x7f;

 for(i=0;i<8;i++)

        {

       P3=temp1;P0=temp1;      

       delayms(100);

       temp1=temp1>>1;             

        }

       P0=0Xff;  //全灭

       P1=0Xff;

       P2=0xff;

       P3=0xff;

       delayms(100);      

       }

       k--;

       }

 }

 void way7()

 {

        unsigned int temp,temp1,temp2,i,j;

      

       temp1=0xfe;

       for(j=0;j<8;j++)

       {      

       temp=temp1;

       for(i=0;i<8;i++)

       {

              P0=temp;

              temp=temp<<1;

              delayms(100);

       }

       P0=temp1;

       delayms(100);

       temp=temp1;

       for(i=0;i<8;i++)

       {

              P2=temp;

              temp=temp<<1;

              delayms(100);

       }

       P2=temp1;

       delayms(100);

       temp=temp1;

       for(i=0;i<8;i++)

       {

              P3=temp;

              temp=temp<<1;

              delayms(100);

       }

       P3=temp1;

       delayms(100);

       temp=temp1;

       for(i=0;i<8;i++)

       {

              P1=temp;

              temp=temp<<1;

              delayms(100);

       }

       P1=temp1;

       delayms(100);

       temp1=temp1<<1;

       delayms(100);

       }

       P0=0Xff;  //全灭

       P1=0Xff;

       P2=0xff;

       P3=0xff;

       delayms(100);

       temp2=0x7f;

       for(j=0;j<8;j++)

       {      

       temp=temp2;

       for(i=0;i<8;i++)

       {

              P1=temp;

              temp=temp>>1;

              delayms(100);

       }

       P1=temp2;

       delayms(100);

       temp=temp2;

       for(i=0;i<8;i++)

       {

              P3=temp;

              temp=temp>>1;

              delayms(100);

       }

       P3=temp2;

       delayms(100);

       temp=temp2;

       for(i=0;i<8;i++)

       {

              P2=temp;

              temp=temp>>1;

              delayms(100);

       }

       P2=temp2;

       delayms(100);

       temp=temp2;

       for(i=0;i<8;i++)

       {

              P0=temp;

              temp=temp>>1;

              delayms(100);

       }

       P0=temp2;

       delayms(100);

       temp2=temp2>>1;

       delayms(100);

       }

       P0=0Xff;  //全灭

       P1=0Xff;

       P2=0xff;

       P3=0xff;

       delayms(100);

 }

void main()   

{

while (1)

{

way1();

way2();

way3();      

way6();

way3();

way7();      

way4();

way5();      

}

}

相关文章:

  • Java大师成长计划之第26天:Spring生态与微服务架构之消息驱动的微服务
  • 4:OpenCV—保存图像
  • Spring AI Alibaba集成阿里云百炼大模型应用
  • 05 部署Nginx反向代理
  • 【Linux高级全栈开发】2.1.2 事件驱动reactor的原理与实现
  • 【运营商查询】批量手机号码归属地和手机运营商高速查询分类,按省份城市,按运营商移动联通电信快速分类导出Excel表格,基于WPF的实现方案
  • ChatGPT:OpenAI Codex—一款基于云的软件工程 AI 代理,赋能 ChatGPT,革新软件开发模式
  • RISC-V 开发板 MUSE Pi Pro V2D图像加速器测试,踩坑介绍
  • 抖音视频怎么去掉抖音号水印
  • uni-app学习笔记七-vue3事件处理
  • esp32课设记录(一)按键的短按、长按与双击
  • 区间带边权并查集,XY4060泄露的测试点
  • pycharm连接github(详细步骤)
  • 如何利用 Java 爬虫获得某书笔记详情:实战指南
  • 面向GIS的Android studio移动开发(二)--在地图上绘制电子围栏
  • Spring AI Alibaba集成阿里云百炼大模型
  • 【已经解决诸多问题】Mamba安装
  • 延时双删-争议与我的思路-001
  • Neo4j数据库
  • 有哪些GIF图片转换的开源工具
  • 经济日报:人工智能开启太空经济新格局
  • 女生“生理期请病假要脱裤子证明”?高校回应:视频经处理后有失真等问题
  • 六省会共建交通枢纽集群,中部离经济“第五极”有多远?
  • 《制止滥用行政权力排除、限制竞争行为规定(修订草案征求意见稿)》公开征求意见
  • 习近平在第三十五个全国助残日到来之际作出重要指示
  • 腾讯一季度净利增14%:AI直接拉动广告收入增长,王者荣耀流水创新高