迅维网

查看: 3223|回复: 3
打印 上一主题 下一主题

花样流水灯,拉幕花样+左移位+右移位+循环左移+循环右移

[复制链接]
跳转到指定楼层
1#
发表于 2016-9-30 16:29:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 山东青岛 来自 山东青岛

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
花样流水灯,拉幕花样+左移位+右移位+循环左移+循环右移


//花样流水灯,拉幕花样+左移位+右移位+循环左移+循环右移


#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char

uchar y,aa;

void delay(uint i)                         //延时子函数
{
        uint m;
        uchar n;
        for(m=i;m>0;m--)
        for(n=110;n>0;n--);
}


void main()
{        
     while(1)
       {
            uchar k;
                for(k=0;k<2;k++)
                {
                P1=0xff;
            delay(1000);                 //拉幕花样
                P1=0x7e;
            delay(1000);
            P1=0x3c;
            delay(1000);
            P1=0x18;
            delay(1000);
            P1=0x00;
            delay(1000);
            P1=0x00;
            delay(1000);
                P1=0x18;
            delay(1000);
            P1=0x3c;
            delay(1000);
            P1=0x7e;
            delay(1000);
            P1=0xff;
            delay(1000);
               
                P1=0;                                   //灯闪烁1次
            delay(1000);
                P1=0xff;
            delay(1000);
                   }

               
                        
                   y=8;                                           // y=8时,不需要里面的for循环就可以,流水灯为1次,改变y的值可以改变亮灯的位数。
                 while(y--)                                   //这里如果不加while语句,灯会乱跳几下后,就去执行后面的程序了
             {                                                   //如果需要多次流水灯,就需要for循环语句,改变K的值就可以改变次数
                     uchar k;
                     for(k=0;k<2;k++)          //流水循环次数
                         {
                         P1 = P1 << 1;                  //按位左移
                     delay(1000);                  //延时
                     
                         if(P1 == 0)              //如果P1等于零,
                             {                                  /*则跳到下一步,P1全送高电平*/
                              P1 = 0xff;
                              delay(1000);
                             }
                          
                           }
                    }
           
                 
                 y=8;
                 while(y--)
             {
                     uchar k;
                     for(k=0;k<2;k++)          //流水循环次数
                         {
                         P1 = P1 >> 1;                  //按位右移
                     delay(1000);                  //延时
                     
                         if(P1 == 0)              //如果P1等于零,
                             {                                  /*则跳到下一步,P1全送高电平*/
                              P1 = 0xff;
                              delay(1000);
                              }
                          
                          }
                    }
                           
                           
                           aa=0xfe;
                           y=8;
                           while(y--)
                           {
                                   P1 = aa;
                                delay(1000);
                                aa=_crol_(aa,1);        //循环左移
                                }
         
                           
                           aa=0x7f;
                           y=8;
                           while(y--)
                           {
                                   P1 = aa;
                                delay(1000);
                                aa=_cror_(aa,1);          //循环右移
                                }
         }
}


2#
发表于 2016-10-2 15:33:14 | 只看该作者 来自: 江苏常州 来自 江苏常州
以前学到过一点点全忘了,哈哈。

点评

看一下这个帖子回顾一下,比较不错  详情 回复 发表于 2016-12-8 14:48
回复 支持 反对

使用道具 举报

3#
发表于 2016-11-1 19:08:03 来自迅维网APP | 只看该作者 来自: 湖北黄冈 来自 湖北黄冈
谢谢分享啊

回复 支持 反对

使用道具 举报

4#
发表于 2016-12-8 14:48:04 | 只看该作者 来自: 山东青岛 来自 山东青岛
L101302313 发表于 2016-10-2 15:33
以前学到过一点点全忘了,哈哈。

看一下这个帖子回顾一下,比较不错

回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复