2021-07-20 51单片机流水灯递增点亮

缘由这个是stc15f2k60s2单片机的流水灯 哪里错了嘛 为啥跑不出来(゚O゚)_嵌入式-CSDN问答

void main()
{
	unsigned char Xd=0,ss=1,cs=0;
	unsigned int ys=0;
	while(1)
	{
		if(++ys==0)
        {
            Xd+=ss;
            P0=Xd;
            ss*=2;
            if(ss==0)
            {
                ss=1;
                Xd=0;
            }
        }
	}
}

十六进制算法实现

void main()
{
	unsigned char wei=0,Xd=0x00,Sw=0x01;
	unsigned int Ys=47474,Lx=0;
	P0=P1=P2=P3=0;
	while(1)
	{
		if(!--Ys)
		{
			Xd+=Sw;
			P0=Xd;
			Sw+=Sw;
			if(!Sw)
			{
				Sw=0x01;
				Xd=0x00;
			}
		}
	}
}

 有清零的效果算法

void main()
{
	unsigned char wei=0,Xd=0x00,Sw=0x01;
	unsigned int Ys=47474,Lx=0,ls=0x01;
	P0=P1=P2=P3=0;
	while(1)
	{
		if(!--Ys)
		{
			Xd+=ls;
			P0=Xd;
			ls+=ls;
			if(ls>255*2)
			{
				ls=0x01;
				Xd=0x00;
				while(++Lx)P0=Xd;
			}
		}
	}
}

2021-07-20 51单片机流水灯递增点亮_第1张图片

你可能感兴趣的:(51单片机,算法,嵌入式硬件)