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