11-LED循环右移

	/*-----------------------------------------------
	  名称:IO口高低电平控制
	  论坛:www.doflye.net
	  编写:shifang
	  日期:2009.5
	  修改:无
	  内容:循环右移,始终一个led点亮,并循环执行流水动作,右移符号 >>  逻辑或符号 |

	------------------------------------------------*/
	#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义


	void Delay(unsigned int t); //函数声明

	/*------------------------------------------------
	                    主函数
	------------------------------------------------*/
	void main (void)
	{
	                  
	unsigned char i;  //定义一个无符号字符型局部变量 i 取值范围 0~255
	Delay(50000);
	P1=0x7f;           //赋初始值
	while (1)          //主循环
	  {
	 for(i=0;i<8;i++)   //加入 for循环,表明for循环大括号中的程序循环执行8次
	  {
	   Delay(50000);
	   P1>>=1;
	   P1=P1|0x80;     //右移后,最左端自动赋值0,所以需要该语句赋值1
	  } 
	  P1=0x7f;           //重新赋初始值
	  //主循环中添加其他需要一直工作的程序
	  }
	}
	/*------------------------------------------------
	 延时函数,含有输入参数 unsigned int t,无返回值
	 unsigned int 是定义无符号整形变量,其值的范围是
	 0~65535
	------------------------------------------------*/
	void Delay(unsigned int t)
	{
	 while(--t);
	}