用右移运算流水点亮P1口8位LED
#include<reg51.h> //包含单片机寄存器的头文件 /***************************** 函数功能:延时一段时间 *****************************/ void delay(void) { unsigned int n; for(n=0;n<30000;n++) ; } /***************************** 函数功能:主函数 *****************************/ void main(void) { unsigned char i; while(1) { P1=0xff; delay(); for(i=0;i<8;i++)//设置循环次数为8 { P1=P1>>1; //每次循环P1的各二进位右移1位,高位补0 delay(); //调用延时函数 } } }