发布网友 发布时间:2022-04-23 14:03
共1个回答
热心网友 时间:2023-10-17 05:42
/***************************************** *用P1口接LED *****************************************/ #include //51系列单片机定义文件 #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整数 void delay(uint); //声明延时函数 void main(void) { uint i; uchar temp; while(1) { temp=0x01; for(i=0;i<8;i++) //8个流水灯逐个闪动 { P1^=temp; delay(500); //调用延时函数 temp<<=1; } temp=0x80; for(i=0;i/8个流水灯反向逐个闪动 { P1^=temp; delay(500); //调用延时函数 temp>>=1; } temp=0xFE; for(i=0;i<8;i++) //8个流水灯依次全部点亮 { P1=temp; delay(500); //调用延时函数 temp<<=1; } temp=0x7F; for(i=0;i/8个流水灯依次反向全部点亮 { P1=temp; delay(500); //调用延时函数 temp>>=1; } } } void delay(uint t) //定义延时函数 { register uint bt; //register为寄存器变量 即将无符号整形变量bt放在CPU的寄存器中而不是放在内存中 因为该 变量使用频率高 这样可以提高执行效率 for(;t;t--) for(bt=0;bt<255;bt++); }热心网友 时间:2023-10-17 05:42
/***************************************** *用P1口接LED *****************************************/ #include //51系列单片机定义文件 #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整数 void delay(uint); //声明延时函数 void main(void) { uint i; uchar temp; while(1) { temp=0x01; for(i=0;i<8;i++) //8个流水灯逐个闪动 { P1^=temp; delay(500); //调用延时函数 temp<<=1; } temp=0x80; for(i=0;i/8个流水灯反向逐个闪动 { P1^=temp; delay(500); //调用延时函数 temp>>=1; } temp=0xFE; for(i=0;i<8;i++) //8个流水灯依次全部点亮 { P1=temp; delay(500); //调用延时函数 temp<<=1; } temp=0x7F; for(i=0;i/8个流水灯依次反向全部点亮 { P1=temp; delay(500); //调用延时函数 temp>>=1; } } } void delay(uint t) //定义延时函数 { register uint bt; //register为寄存器变量 即将无符号整形变量bt放在CPU的寄存器中而不是放在内存中 因为该 变量使用频率高 这样可以提高执行效率 for(;t;t--) for(bt=0;bt<255;bt++); }