标题: 小白初学单片机问题! [打印本页]

作者: sz15207554653    时间: 2017-3-28 09:33
标题: 小白初学单片机问题!
间隔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--);
        }

}


作者: imxuheng    时间: 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, 下载次数: 78)

无标题.png





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1