1。第一个发光管以间隔 200ms 闪耀。2。8 个发光管由上至下间隔 1s 流动,其中每个管亮 500ms,灭 500ms。3。8 个发光管来回流动,第个管亮 100ms。4。用 8 个发光管演示出 8 位二进制数累加过程。5。8 个发光管间隔 200ms 由上至下,再由下至上,再重复一次,然后全部熄灭再以 300ms 间隔全部闪耀 5 次。重复此过程。6。间隔 300ms 第一次一个管亮流动一次,第二次两个管亮流动,依次到 8 个管亮,然后重复整个过程。7.间隔 300ms 先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8 个全部闪耀 3 次;关闭发光管,程序停止。1#include〈reg52.h〉 #define uint unsigned int sbit led1=P1^0; void delay(); void main(){ while(1) { led1=0; delay(); led1=1;delay(); }}void delay(){ uint x,y;for(x=200;x>0;x——)for(y=100;y>0;y—-);}2#include#define uint unsigned int#define uchar unsigned charsbit p1=P1^0;uchar a;void delay();void main(){ a=0xfe; P1=a; while(1) { a=_crol_(a,1); delay(); P1=a; delay(); }}void delay(){ uint b; for(b=55000;b>0;b--);}3#include〈reg52。h> #include #define uint unsigned int #define uchar unsigned char void delay() {uint x,y;for(x=100;x>0;x——)for(y=110;y>0;y—-);}void main() {uchar a,i;while(1) {a=0xfe; for(i=0;i〈8;i++) {P1=a; delay(100); a=_crol_(a,1); }a=0x7f;for(i=0;i〈8;i++) {P1=a; delay(100); a=_cror_(a,1);}}}4#include0;x--)for(y=110;y>0;y--);}void main() {uchar b;while(1) {b++;P1=~b;delay(200);}}5#include