找回密码
 立即注册

QQ登录

只需一步,快速开始

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

小白初学单片机问题!

[复制链接]
跳转到指定楼层
楼主
间隔300ms第一次一个管亮流动一次,第二次两个管亮流动,依次到8个管亮,然后重复整个过程。


/***********************************************************************
                                        间隔300ms第一次一个管亮流动一次,
                                        第二次两个管亮流动,依次到8个管亮,
                                        然后重复整个过程        
***********************************************************************/
#include<reg52.h>
#include<intrins.h>

#define uchar unsigned char
#define uint unsigned int
#define D1 P2

void Delay10ms(uchar ms);

void main()
{
        uchar i,x,y;
        while(1)
        {
                i=0x01;
                for(x=0;x<8;x++)
                {
                        for(y=0;y<8-x;y++)
                        {       
                            P2=i;
                                Delay10ms(30);
                            i=_crol_(i,1);       
                        }
                        i=_cror_(i,x);
                        i|=0x01;
                }
        }
       
}

/***********************************************************************
                          10ms延迟
***********************************************************************/
void Delay10ms(uchar ms)
{
        uchar a,b;
        for(;ms>0;ms--)
        {
                for(a=38;a>0;a--)
                        for(b=130;b>0;b--);
        }

}

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

使用道具 举报

沙发
ID:151348 发表于 2017-3-28 15:28 | 只看该作者
     蓝染队长研究流水灯了。。。。。
     我理解的是首先1个led亮,然后向一个方向移动;接着2个led亮,然后向一个方向移动;接着3个led亮,然后向一个方向移动。。。最后8个led亮,然后向一个方向移动,附上程序
#include <reg52.h>
#include <intrins.h>

void DelayMS(unsigned  int x)
{
    unsigned char i;
        while(x--)
        {
                 for(i=120;i>0;i--);
        }
}

void main()
{
        unsigned char x,y,i;
        P0 = 0xFF;
        x = 0xFF;
        while(1)
        {
                x=x<<1;
                if(x==0) x=0xFF;
                y=x;
                for (i=0;i<8;i++)
                {
                        P0 = y;
                        y=y<<1;
                        y++;
                        DelayMS(300);
                }       
                P0 = 0xFF;
        }
}

无标题.png (13.82 KB, 下载次数: 66)

无标题.png

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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