流水灯

实验现象:led灯来回闪烁

#include <reg52.h>
#include <intrins.h>

#define u8 unsigned char
#define u16 unsigned int
	
// 定义位
#define led P2

// 延迟函数,i=1000时,延迟1ms
void delay(u16 i)
{
	while(i--);
}

void main()
{
	u16 i;
	// 第一盏灯默认是亮的
	led = 0xfe;	// 1111 1110
	delay(500000);
	while(1)
	{
		for(i=0; i<7; i++)
		{
			led = _crol_(led, 1);	// 左移一位
			delay(500000);
		}
		// led = 0111 1111
		for(i=0; i<7; i++)
		{
			led = _cror_(led, 1);	// 右移一位
			delay(500000);
		}
	}
}

 

posted @ 2018-03-10 00:06  半生戎马,共话桑麻、  阅读(146)  评论(0)    收藏  举报
levels of contents