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); }