51单片机的三种流水灯

这三种都需要在while(1){}中

延时函数:

void Delay1000ms(void)	//@11.0592MHz
{
	unsigned char data i, j, k;

	_nop_();
	i = 8;
	j = 1;
	k = 243;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

第一种:
  


	P1=0xfe;//1111 1110
		Delay1000ms();
	P1=0xfd;//1111 1101
		Delay1000ms();
	P1=0xfb;//1111 1011
		Delay1000ms();
	P1=0xf7;//1111 0111
		Delay1000ms();

第二种:渐渐都亮 ,首先要先申明  int i;

        P1=0xff;1111 1111
		Delay1000ms();
		for(i=0; i<4; i++)//i=0 ,做判断当i<4时,i+1
	{
		P1=P1<<1;//向左移动一位
			Delay1000ms();
     }

第三种:

        led1=0;
		led4=1;
		Delay1000ms();
		led2=0;
		led1=1;
	  Delay1000ms();
		led3=0;
		led2=1;
		Delay1000ms();
		led4=0;
		led3=1;
		Delay1000ms();


 

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