51爱心流水灯32灯炫酷代码

    源代码摘自@远眺883的文章,大佬是30个灯的,感兴趣的铁汁们可以去看看哦~(已取得原作者的许可):基于STC89C51单片机设计的心形流水灯软件代码部分_单片机流水灯代码_远眺883的博客-CSDN博客

  由于博主是个小菜鸡,所以有些地方改的不好的请多多包容。

  修改方面

  调整了开头单个灯的旋转,并加快了旋转速度,并用appear函数无缝衔接后面的呼吸灯,中间基本没有什么太大的改动,个人觉得时间上比较长,于是缩短了循环的次数,最后的部分也稍微换了一下。

  效果: 

爱心流水灯(32灯)

  源代码分享:

#include <REGX52.H>
#include <Intrins.h>//LED灯引脚,延逆时针定义
sbit LED1=P0^0;  sbit LED2=P0^1;  sbit LED3=P0^2;  sbit LED4=P0^3;  sbit LED5=P0^4;  sbit LED6=P0^5;  sbit LED7=P0^6;  sbit LED8=P0^7;
sbit LED24=P2^7; sbit LED23=P2^6; sbit LED22=P2^5; sbit LED21=P2^4; sbit LED20=P2^3; sbit LED19=P2^2; sbit LED18=P2^1;
sbit LED17=P2^0; sbit LED32=P3^7;sbit LED31=P3^6;sbit LED30=P3^5; sbit LED29=P3^4; sbit LED28=P3^3; sbit LED27=P3^2; sbit LED26=P3^1; sbit LED25=P3^0;
sbit LED16=P1^7; sbit LED15=P1^6; sbit LED14=P1^5; sbit LED13=P1^4; sbit LED12=P1^3; sbit LED11=P1^2; sbit LED10=P1^1; sbit LED9=P1^0;int time = 0; 	//控制呼吸灯亮灯时间
int	mode = 0;  	//呼吸灯模式(渐亮到渐暗)
int i, j;  		//循环变量//10us延时函数
void Delay(int us)		//@12.000MHz
{while(us--){unsigned char i;_nop_();i = 2;while (--i);}
}//全开
void turn_on(void)
{LED9=1;  LED10=1; LED11=1; LED12=1; LED13=1; LED14=1; LED15=1; LED16=1;LED25=1; LED26=1; LED27=1; LED28=1; LED29=1; LED30=1;LED31=1;LED32=1;LED17=1; LED18=1; LED19=1; LED20=1; LED21=1; LED22=1; LED23=1; LED24=1;LED8=1;  LED7=1;  LED6=1;  LED5=1;  LED4=1;  LED3=1;  LED2=1;  LED1=1;
}//全关
void turn_off(void)
{LED9=0;  LED10=0; LED11=0; LED12=0; LED13=0; LED14=0; LED15=0; LED16=0;LED25=0; LED26=0; LED27=0; LED28=0; LED29=0; LED30=0;LED31=0;LED32=0;LED17=0; LED18=0; LED19=0; LED20=0; LED21=0; LED22=0; LED23=0; LED24=0;LED8=0;  LED7=0;  LED6=0;  LED5=0;  LED4=0;  LED3=0;  LED2=0;  LED1=0;
}//流水灯
void run_LED(void)
{//顺时针流水灯for(i = 0; i < 1; i++){LED9=1;		Delay(2000);LED10=1;	Delay(2000);LED11=1;	Delay(2000);LED12=1;	Delay(2000);LED13=1;	Delay(2000);LED14=1;	Delay(2000);LED15=1;	Delay(2000);LED16=1;	Delay(2000);LED25=1;	Delay(2000);LED26=1;	Delay(2000);LED27=1;	Delay(2000);LED28=1;	Delay(2000);LED29=1;	Delay(2000);LED30=1;	Delay(2000);LED31=1;	Delay(2000);LED32=1;	Delay(2000);LED17=1;	Delay(2000);LED18=1;	Delay(2000);LED19=1;	Delay(2000);LED20=1;	Delay(2000);LED21=1;	Delay(2000);LED22=1;	Delay(2000);LED23=1;	Delay(2000);LED24=1;	Delay(2000);LED8=1;		Delay(2000);LED7=1;		Delay(2000);LED6=1;		Delay(2000);LED5=1;		Delay(2000);LED4=1;		Delay(2000);LED3=1;		Delay(2000);LED2=1;		Delay(2000);LED1=1;		Delay(2000);LED9=0;		Delay(2000);LED10=0;	Delay(2000);LED11=0;	Delay(2000);LED12=0;	Delay(2000);LED13=0;	Delay(2000);LED14=0;	Delay(2000);LED15=0;	Delay(2000);LED16=0;	Delay(2000);LED25=0;	Delay(2000);LED26=0;	Delay(2000);LED27=0;	Delay(2000);LED28=0;	Delay(2000);LED29=0;	Delay(2000);LED30=0;	Delay(2000);LED31=0;	Delay(2000);LED32=0;	Delay(2000);LED17=0;	Delay(2000);LED18=0;	Delay(2000);LED19=0;	Delay(2000);LED20=0;	Delay(2000);LED21=0;	Delay(2000);LED22=0;	Delay(2000);LED23=0;	Delay(2000);LED24=0;	Delay(2000);LED8=0;		Delay(2000);LED7=0;		Delay(2000);LED6=0;		Delay(2000);LED5=0;		Delay(2000);LED4=0;		Delay(2000);LED3=0;		Delay(2000);LED2=0;		Delay(2000);LED1=0;		Delay(2000);}//逆时针流水灯for(i = 0; i < 1; i++){LED1=1;		Delay(2000);LED2=1;		Delay(2000);LED3=1;		Delay(2000);LED4=1;		Delay(2000);LED5=1;		Delay(2000);LED6=1;		Delay(2000);LED7=1;		Delay(2000);LED8=1;		Delay(2000);LED24=1;	Delay(2000);LED23=1;	Delay(2000);LED22=1;	Delay(2000);LED21=1;	Delay(2000);LED20=1;	Delay(2000);LED19=1;	Delay(2000);LED18=1;	Delay(2000);LED17=1;	Delay(2000);LED32=1;	Delay(2000);LED31=1;	Delay(2000);LED30=1;	Delay(2000);LED29=1;	Delay(2000);LED28=1;	Delay(2000);LED27=1;	Delay(2000);LED26=1;	Delay(2000);LED25=1;	Delay(2000);LED16=1;	Delay(2000);LED15=1;	Delay(2000);LED14=1;	Delay(2000);LED13=1;	Delay(2000);LED12=1;	Delay(2000);LED11=1;	Delay(2000);LED10=1;	Delay(2000);LED9=1;		Delay(2000);LED1=0;		Delay(2000);LED2=0;		Delay(2000);LED3=0;		Delay(2000);LED4=0;		Delay(2000);LED5=0;		Delay(2000);LED6=0;		Delay(2000);LED7=0;		Delay(2000);LED8=0;		Delay(2000);LED24=0;	Delay(2000);LED23=0;	Delay(2000);LED22=0;	Delay(2000);LED21=0;	Delay(2000);LED20=0;	Delay(2000);LED19=0;	Delay(2000);LED18=0;	Delay(2000);LED17=0;	Delay(2000);LED32=0;	Delay(2000);LED31=0;	Delay(2000);LED30=0;	Delay(2000);LED29=0;	Delay(2000);LED28=0;	Delay(2000);LED27=0;	Delay(2000);LED26=0;	Delay(2000);LED25=0;	Delay(2000);LED16=0;	Delay(2000);LED15=0;	Delay(2000);LED14=0;	Delay(2000);LED13=0;	Delay(2000);LED12=0;	Delay(2000);LED11=0;	Delay(2000);LED10=0;	Delay(2000);LED9=0;		Delay(2000);}
}void run_LED_2(void)
{//顺时针流水灯for(i = 0; i < 1; i++){LED9=1;		Delay(2000);LED10=1;	Delay(2000);LED11=1;	Delay(2000);LED12=1;	Delay(2000);LED13=1;	Delay(2000);LED14=1;	Delay(2000);LED15=1;	Delay(2000);LED16=1;	Delay(2000);LED25=1;	Delay(2000);LED26=1;	Delay(2000);LED27=1;	Delay(2000);LED28=1;	Delay(2000);LED29=1;	Delay(2000);LED30=1;	Delay(2000);LED31=1;	Delay(2000);LED32=1;	Delay(2000);LED17=1;	Delay(2000);LED18=1;	Delay(2000);LED19=1;	Delay(2000);LED20=1;	Delay(2000);LED21=1;	Delay(2000);LED22=1;	Delay(2000);LED23=1;	Delay(2000);LED24=1;	Delay(2000);LED8=1;		Delay(2000);LED7=1;		Delay(2000);LED6=1;		Delay(2000);LED5=1;		Delay(2000);LED4=1;		Delay(2000);LED3=1;		Delay(2000);LED2=1;		Delay(2000);LED1=1;		Delay(2000);LED9=0;		Delay(2000);LED10=0;	Delay(2000);LED11=0;	Delay(2000);LED12=0;	Delay(2000);LED13=0;	Delay(2000);LED14=0;	Delay(2000);LED15=0;	Delay(2000);LED16=0;	Delay(2000);LED25=0;	Delay(2000);LED26=0;	Delay(2000);LED27=0;	Delay(2000);LED28=0;	Delay(2000);LED29=0;	Delay(2000);LED30=0;	Delay(2000);LED31=0;	Delay(2000);LED32=0;	Delay(2000);LED17=0;	Delay(2000);LED18=0;	Delay(2000);LED19=0;	Delay(2000);LED20=0;	Delay(2000);LED21=0;	Delay(2000);LED22=0;	Delay(2000);LED23=0;	Delay(2000);LED24=0;	Delay(2000);LED8=0;		Delay(2000);LED7=0;		Delay(2000);LED6=0;		Delay(2000);LED5=0;		Delay(2000);LED4=0;		Delay(2000);LED3=0;		Delay(2000);LED2=0;		Delay(2000);LED1=0;		Delay(2000);//逆时针流水灯LED1=1;		Delay(2000);LED2=1;		Delay(2000);LED3=1;		Delay(2000);LED4=1;		Delay(2000);LED5=1;		Delay(2000);LED6=1;		Delay(2000);LED7=1;		Delay(2000);LED8=1;		Delay(2000);LED24=1;	Delay(2000);LED23=1;	Delay(2000);LED22=1;	Delay(2000);LED21=1;	Delay(2000);LED20=1;	Delay(2000);LED19=1;	Delay(2000);LED18=1;	Delay(2000);LED17=1;	Delay(2000);LED32=1;	Delay(2000);LED31=1;	Delay(2000);LED30=1;	Delay(2000);LED29=1;	Delay(2000);LED28=1;	Delay(2000);LED27=1;	Delay(2000);LED26=1;	Delay(2000);LED25=1;	Delay(2000);LED16=1;	Delay(2000);LED15=1;	Delay(2000);LED14=1;	Delay(2000);LED13=1;	Delay(2000);LED12=1;	Delay(2000);LED11=1;	Delay(2000);LED10=1;	Delay(2000);LED9=1;		Delay(2000);LED1=0;		Delay(2000);LED2=0;		Delay(2000);LED3=0;		Delay(2000);LED4=0;		Delay(2000);LED5=0;		Delay(2000);LED6=0;		Delay(2000);LED7=0;		Delay(2000);LED8=0;		Delay(2000);LED24=0;	Delay(2000);LED23=0;	Delay(2000);LED22=0;	Delay(2000);LED21=0;	Delay(2000);LED20=0;	Delay(2000);LED19=0;	Delay(2000);LED18=0;	Delay(2000);LED17=0;	Delay(2000);LED32=0;	Delay(2000);LED31=0;	Delay(2000);LED30=0;	Delay(2000);LED29=0;	Delay(2000);LED28=0;	Delay(2000);LED27=0;	Delay(2000);LED26=0;	Delay(2000);LED25=0;	Delay(2000);LED16=0;	Delay(2000);LED15=0;	Delay(2000);LED14=0;	Delay(2000);LED13=0;	Delay(2000);LED12=0;	Delay(2000);LED11=0;	Delay(2000);LED10=0;	Delay(2000);LED9=0;		Delay(2000);}
}//呼吸灯部分
void breathe_LED(void)
{for(i = 0; i < 300; i++){//全开turn_on();Delay(16 * time);//全关turn_off();Delay(16 * (50 - time));if(mode == 0)	time++;else if(mode == 1)time--;if(time >= 50 || time <= 0){mode++;mode %= 2;}}
}//上下往返
void fall_rise_LED(void)
{for(i = 0; i < 2; i++){//初始时全关闭turn_off();Delay(10000);//从上至下LED9=1;  LED1=1;	Delay(2000);LED10=1; LED2=1;	Delay(2000);LED11=1; LED3=1;	Delay(2000);LED12=1; LED4=1;	Delay(2000);LED13=1; LED5=1;	Delay(2000);LED14=1; LED6=1;	Delay(2000);LED15=1; LED7=1;	Delay(2000);LED16=1; LED8=1;	Delay(2000);LED25=1; LED24=1;	Delay(2000);LED26=1; LED23=1;	Delay(2000);LED27=1; LED22=1;	Delay(2000);LED28=1; LED21=1;	Delay(2000);LED29=1; LED20=1;	Delay(2000);LED30=1; LED19=1;	Delay(2000);LED31=1; LED18=1;	Delay(2000);LED32=1; LED17=1;	Delay(2000);LED17=1; LED16=1;	Delay(2000);//闪烁两次for(j = 0; j < 2; j++){//全关turn_off();Delay(10000);//全开turn_on();Delay(10000);}//全关turn_off();//从上至下LED17=1; LED16=1;	Delay(2000);LED32=1; LED17=1;	Delay(2000);LED31=1; LED18=1;	Delay(2000);LED30=1; LED19=1;	Delay(2000);LED29=1; LED20=1;	Delay(2000);LED28=1; LED21=1;	Delay(2000);LED27=1; LED22=1;	Delay(2000);LED26=1; LED23=1;	Delay(2000);LED25=1; LED24=1;	Delay(2000);LED16=1; LED8=1;	Delay(2000);LED15=1; LED7=1;	Delay(2000);LED14=1; LED6=1;	Delay(2000);LED13=1; LED5=1;	Delay(2000);LED12=1; LED4=1;	Delay(2000);LED11=1; LED3=1;	Delay(2000);LED10=1; LED2=1;	Delay(2000);LED9=1;  LED1=1;	Delay(2000);for(j = 0; j < 2; j++){//全关turn_off();Delay(10000);//全开turn_on();Delay(10000);}}
}//满天星
void star_LED(void)
{for(i = 0; i < 15; i++){//正LED9=1;  LED10=0; LED11=1; LED12=0; LED13=1; LED14=0; LED15=1; LED16=0;LED25=1; LED26=0; LED27=1; LED28=0; LED29=1; LED30=0;LED31=1;LED32=0;LED17=1; LED18=0; LED19=1; LED20=0; LED21=1; LED22=0; LED23=1; LED24=0;LED8=1;  LED7=0;  LED6=1;  LED5=0;  LED4=1;  LED3=0;  LED2=1;  LED1=0;Delay(6000);//反LED9=0;  LED10=1; LED11=0; LED12=1; LED13=0; LED14=1; LED15=0; LED16=1;LED25=0; LED26=1; LED27=0; LED28=1; LED29=0; LED30=1;LED31=0;LED32=1;LED17=0; LED18=1; LED19=0; LED20=1; LED21=0; LED22=1; LED23=0; LED24=1;LED8=0;  LED7=1;  LED6=0;  LED5=1;  LED4=0;  LED3=1;  LED2=0;  LED1=1;Delay(6000);}
}//双线环绕
void chase_LED(void)
{LED9=0;	 LED18=0;	Delay(2000);LED10=0; LED19=0;	Delay(2000);LED11=0; LED20=0;	Delay(2000);LED12=0; LED21=0;	Delay(2000);LED13=0; LED22=0;	Delay(2000);LED14=0; LED23=0;	Delay(2000);LED15=0; LED24=0;	Delay(2000);LED16=0; LED10=0;	Delay(2000);LED25=0; LED9=0;	Delay(2000);LED26=0; LED8=0;	Delay(2000);LED27=0; LED7=0;	Delay(2000);LED28=0; LED6=0;	Delay(2000);LED29=0; LED5=0;	Delay(2000);LED30=0; LED4=0;	Delay(2000);LED31=0; LED3=0;	Delay(2000);LED32=0; LED2=0;	Delay(2000);LED17=0; LED1=0;	Delay(2000);LED9=1;	 LED18=1;	Delay(2000);LED10=1; LED19=1;	Delay(2000);LED11=1; LED20=1;	Delay(2000);LED12=1; LED21=1;	Delay(2000);LED13=1; LED22=1;	Delay(2000);LED14=1; LED23=1;	Delay(2000);LED15=1; LED24=1;	Delay(2000);LED16=1; LED10=1;	Delay(2000);LED25=1; LED9=1;	Delay(2000);LED26=1; LED8=1;	Delay(2000);LED27=1; LED7=1;	Delay(2000);LED28=1; LED6=1;	Delay(2000);LED29=1; LED5=1;	Delay(2000);LED30=1; LED4=1;	Delay(2000);LED31=1; LED3=1;	Delay(2000);LED32=1; LED2=1;	Delay(2000);LED17=1; LED1=1;	Delay(2000);Delay(12000);
}//反双线环绕
void chase_LED_reverse(void)
{LED17=0; LED1=0;	Delay(2000);LED32=0; LED2=0;	Delay(2000);LED31=0; LED3=0;	Delay(2000);LED30=0; LED4=0;	Delay(2000);LED29=0; LED5=0;	Delay(2000);LED28=0; LED6=0;	Delay(2000);LED27=0; LED7=0;	Delay(2000);LED26=0; LED8=0;	Delay(2000);LED25=0; LED9=0;	Delay(2000);LED16=0; LED10=0;	Delay(2000);LED15=0; LED24=0;	Delay(2000);LED14=0; LED23=0;	Delay(2000);LED13=0; LED22=0;	Delay(2000);LED12=0; LED21=0;	Delay(2000);LED11=0; LED20=0;	Delay(2000);LED10=0; LED19=0;	Delay(2000);LED9=0;	 LED18=0;	Delay(2000);LED17=1; LED1=1;	Delay(2000);LED32=1; LED2=1;	Delay(2000);LED31=1; LED3=1;	Delay(2000);LED30=1; LED4=1;	Delay(2000);LED29=1; LED5=1;	Delay(2000);LED28=1; LED6=1;	Delay(2000);LED27=1; LED7=1;	Delay(2000);LED26=1; LED8=1;	Delay(2000);LED25=1; LED9=1;	Delay(2000);LED16=1; LED10=1;	Delay(2000);LED15=1; LED24=1;	Delay(2000);LED14=1; LED23=1;	Delay(2000);LED13=1; LED22=1;	Delay(2000);LED12=1; LED21=1;	Delay(2000);LED11=1; LED20=1;	Delay(2000);LED10=1; LED19=1;	Delay(2000);LED9=1;	 LED18=1;	Delay(2000);Delay(12000);
}//双线往返环绕
void chase_LED_back(void)
{LED17=0; LED1=0;	Delay(2000);LED32=0; LED2=0;	Delay(2000);LED31=0; LED3=0;	Delay(2000);LED30=0; LED4=0;	Delay(2000);LED29=0; LED5=0;	Delay(2000);LED28=0; LED6=0;	Delay(2000);LED27=0; LED7=0;	Delay(2000);LED26=0; LED8=0;	Delay(2000);LED25=0; LED9=0;	Delay(2000);LED16=0; LED10=0;	Delay(2000);LED15=0; LED24=0;	Delay(2000);LED14=0; LED23=0;	Delay(2000);LED13=0; LED22=0;	Delay(2000);LED12=0; LED21=0;	Delay(2000);LED11=0; LED20=0;	Delay(2000);LED10=0; LED19=0;	Delay(2000);LED9=0;	 LED18=0;	Delay(2000);LED9=1;	 LED18=1;	Delay(2000);LED10=1; LED19=1;	Delay(2000);LED11=1; LED20=1;	Delay(2000);LED12=1; LED21=1;	Delay(2000);LED13=1; LED22=1;	Delay(2000);LED14=1; LED23=1;	Delay(2000);LED15=1; LED24=1;	Delay(2000);LED16=1; LED10=1;	Delay(2000);LED25=1; LED9=1;	Delay(2000);LED26=1; LED8=1;	Delay(2000);LED27=1; LED7=1;	Delay(2000);LED28=1; LED6=1;	Delay(2000);LED29=1; LED5=1;	Delay(2000);LED30=1; LED4=1;	Delay(2000);LED31=1; LED3=1;	Delay(2000);LED32=1; LED2=1;	Delay(2000);LED17=1; LED1=1;	Delay(2000);Delay(12000);
}//反双线往返环绕
void chase_LED_back_reverse(void)
{LED9=0;	 LED18=0;	Delay(2000);LED10=0; LED19=0;	Delay(2000);LED11=0; LED20=0;	Delay(2000);LED12=0; LED21=0;	Delay(2000);LED13=0; LED22=0;	Delay(2000);LED14=0; LED23=0;	Delay(2000);LED15=0; LED24=0;	Delay(2000);LED16=0; LED10=0;	Delay(2000);LED25=0; LED9=0;	Delay(2000);LED26=0; LED8=0;	Delay(2000);LED27=0; LED7=0;	Delay(2000);LED28=0; LED6=0;	Delay(2000);LED29=0; LED5=0;	Delay(2000);LED30=0; LED4=0;	Delay(2000);LED31=0; LED3=0;	Delay(2000);LED32=0; LED2=0;	Delay(2000);LED17=0; LED1=0;	Delay(2000);LED17=1; LED1=1;	Delay(2000);LED32=1; LED2=1;	Delay(2000);LED31=1; LED3=1;	Delay(2000);LED30=1; LED4=1;	Delay(2000);LED29=1; LED5=1;	Delay(2000);LED28=1; LED6=1;	Delay(2000);LED27=1; LED7=1;	Delay(2000);LED26=1; LED8=1;	Delay(2000);LED25=1; LED9=1;	Delay(2000);LED16=1; LED10=1;	Delay(2000);LED15=1; LED24=1;	Delay(2000);LED14=1; LED23=1;	Delay(2000);LED13=1; LED22=1;	Delay(2000);LED12=1; LED21=1;	Delay(2000);LED11=1; LED20=1;	Delay(2000);LED10=1; LED19=1;	Delay(2000);LED9=1;	 LED18=1;	Delay(2000);Delay(12000);
}//延时控制变量
int one_time = 1500;void one_LED(void)
{	if(one_time > 10){//单灯绕圈LED25=0; LED16=1;	Delay(one_time);LED26=0; LED25=1;	Delay(one_time);LED27=0; LED26=1;	Delay(one_time);LED28=0; LED27=1;	Delay(one_time);LED29=0; LED28=1;	Delay(one_time);LED30=0; LED29=1;	Delay(one_time);LED31=0; LED30=1;	Delay(one_time);LED32=0; LED31=1;	Delay(one_time);LED17=0; LED32=1;	Delay(one_time);LED18=0; LED17=1;	Delay(one_time);LED19=0; LED18=1; 	Delay(one_time);LED20=0; LED19=1;	Delay(one_time);LED21=0; LED20=1; 	Delay(one_time);LED22=0; LED21=1; 	Delay(one_time);LED23=0; LED22=1;	Delay(one_time);LED24=0; LED23=1;	Delay(one_time);LED8=0;	 LED24=1;	Delay(one_time);LED7=0;	 LED8=1;	Delay(one_time);LED6=0;	 LED7=1; 	Delay(one_time);LED5=0;	 LED6=1;	Delay(one_time);LED4=0;	 LED5=1;	Delay(one_time);LED3=0;	 LED4=1;	Delay(one_time);LED2=0;	 LED3=1;	Delay(one_time);LED1=0;	 LED2=1;	Delay(one_time);	LED9=0;	 LED1=1;	Delay(one_time);LED10=0; LED9=1;	Delay(one_time);LED11=0; LED10=1;	Delay(one_time);LED12=0; LED11=1;	Delay(one_time);LED13=0; LED12=1;	Delay(one_time);LED14=0; LED13=1; 	Delay(one_time);LED15=0; LED14=1;	Delay(one_time);LED16=0; LED15=1;	Delay(one_time);//反单灯绕圈LED16=1; LED15=0;	Delay(one_time);LED15=1; LED14=0;	Delay(one_time);LED14=1; LED13=0; 	Delay(one_time);LED13=1; LED12=0;	Delay(one_time);LED12=1; LED11=0;	Delay(one_time);LED11=1; LED10=0;	Delay(one_time);LED10=1; LED9=0;	Delay(one_time);LED9=1;	 LED1=0;	Delay(one_time);LED1=1;	 LED2=0;	Delay(one_time);	LED2=1;	 LED3=0;	Delay(one_time);LED3=1;	 LED4=0;	Delay(one_time);LED4=1;	 LED5=0;	Delay(one_time);LED5=1;	 LED6=0;	Delay(one_time);LED6=1;	 LED7=0; 	Delay(one_time);LED7=1;	 LED8=0;	Delay(one_time);LED8=1;	 LED24=0;	Delay(one_time);LED24=1; LED23=0;	Delay(one_time);LED23=1; LED22=0;	Delay(one_time);LED22=1; LED21=0; 	Delay(one_time);LED21=1; LED20=0; 	Delay(one_time);LED20=1; LED18=0; 	Delay(one_time);LED18=1; LED17=0;	Delay(one_time);LED17=1; LED32=0;	Delay(one_time);LED32=1; LED31=0;	Delay(one_time);LED31=1; LED30=0;	Delay(one_time);LED30=1; LED29=0;	Delay(one_time);LED29=1; LED28=0;	Delay(one_time);LED28=1; LED27=0;	Delay(one_time);LED27=1; LED26=0;	Delay(one_time);LED26=1; LED25=0;	Delay(one_time);LED25=1; LED16=0;	Delay(one_time);}else{for(i = 1; i <= 29; i++){//全开turn_on();Delay(i*10);//全关turn_off();Delay((29 - i)*10);}}//当延时时间高于10*10us时if(one_time > 100){one_time -= 300;  //延时每圈减300}//当延时在10以上以及100以下时else if(one_time > 10 && one_time <= 100){one_time -= 3;  //延时每圈减3}//当延时在10以下或者100以上时else{one_time = 10;  //延时10}
}
//从下往上依次亮灯
appear_LED(void)
{LED16=0;Delay(3000);LED15=0;LED25=0;Delay(3000);LED14=0;LED26=0;Delay(3000);LED13=0;LED27=0;Delay(3000);LED12=0;LED28=0;Delay(3000);LED11=0;LED29=0;Delay(3000);LED10=0;LED30=0;Delay(3000);LED9=0;LED31=0;Delay(3000);LED1=0;LED32=0;Delay(3000);LED2=0;LED17=0;Delay(3000);LED3=0;LED18=0;Delay(3000);LED4=0;LED19=0;Delay(3000);LED5=0;LED20=0;Delay(3000);LED6=0;LED21=0;Delay(3000);LED7=0;LED22=0;Delay(3000);LED8=0;LED23=0;Delay(3000);LED24=0;Delay(3000);}//竖向变换
void vertical_LED(void)
{//依次亮起两个灯LED9=1;  LED1=1;  LED27=0; LED22=0;	Delay(5000);LED10=1; LED2=1;  LED28=0; LED21=0;	Delay(5000);LED11=1; LED3=1;  LED29=0; LED20=0;	Delay(5000);LED12=1; LED4=1;  LED30=0; LED19=0;	Delay(5000);LED13=1; LED5=1;  LED17=0; LED18=0;	Delay(5000);LED14=1; LED6=1;  LED9=0;  LED1=0;	Delay(5000);LED15=1; LED7=1;  LED10=0; LED2=0;	Delay(5000);LED16=1; LED8=1;  LED11=0; LED3=0;	Delay(5000);LED25=1; LED24=1; LED12=0; LED4=0;	Delay(5000);LED26=1; LED23=1; LED13=0; LED5=0;	Delay(5000);LED27=1; LED22=1; LED14=0; LED6=0;	Delay(5000);LED28=1; LED21=1; LED15=0; LED7=0;	Delay(5000);LED29=1; LED20=1; LED16=0; LED8=0;	Delay(5000);LED30=1; LED19=1; LED25=0; LED24=0;	Delay(5000);LED31=1; LED18=1; LED26=0; LED23=0;	Delay(5000);LED32=1; LED17=1; LED27=0; LED22=0;	Delay(5000);
}void transverse_LED(void)
{//横向亮灯LED16=1;Delay(4000);LED15=1; LED8=1; LED25=1; 	Delay(4000);LED14=1; LED7=1; LED26=1; LED24=1;	Delay(4000);LED13=1; LED6=1; LED27=1;  LED23=1;	Delay(4000);LED12=1; LED5=1; LED28=1; LED22=1;	Delay(4000);LED11=1; LED4=1; LED29=1; LED21=1;	Delay(4000);LED10=1; LED3=1; LED30=1; LED20=1;	Delay(4000);LED9=1; LED2=1; LED31=1; LED19=1;	Delay(4000);LED1=1; LED32=1; LED17=1;LED18=1;	Delay(4000);Delay(20000);
}//反横向亮灯
void tran_LED(void)
{LED1=0; LED32=0; LED17=0;LED18=0;	Delay(4000);LED9=0; LED2=0; LED31=0; LED19=0;	Delay(4000);LED10=0; LED3=0; LED30=0; LED20=0;	Delay(4000);LED11=0; LED4=0; LED29=0; LED21=0;	Delay(4000);LED12=0; LED5=0; LED28=0; LED22=0;	Delay(4000);LED13=0; LED6=0; LED27=0;  LED23=0;	Delay(4000);LED14=0; LED7=0; LED26=0; LED24=0;		Delay(4000);LED15=0; LED8=0; LED25=0; Delay(4000);LED16=0;Delay(4000);Delay(20000);
}
void main()
{//全关turn_off();transverse_LED();tran_LED();turn_on;while(1){for(i = 0; i < 5; i++){//单灯循环one_LED();}appear_LED();//呼吸灯部分breathe_LED();turn_off();//流水灯部分run_LED();turn_off();run_LED_2();turn_off();//上下往返fall_rise_LED();turn_off();//满天星star_LED();turn_off();for(i = 0; i < 2; i++){//双线环绕往返正向chase_LED();//双线环绕往返反向chase_LED_reverse();}for(i = 0; i < 2; i++){//双线环绕chase_LED_back();//双线环绕反方向chase_LED_back_reverse();}turn_off();for(i = 0; i < 2; i++){//竖向闪灯vertical_LED();turn_off();}for(i = 0; i < 2; i++){//横向闪灯transverse_LED();tran_LED();if(i < 1){  //第2次不关灯turn_off();}}for(i = 0; i < 2; i++){//呼吸灯breathe_LED();}//将单灯循环延时变量恢复原值one_time = 1500;}
}

  本篇博客就到此为止,谢谢大家的支持!dcbceae2607c46b4ac10f9d6b3e8795a.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/192615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

selenium+python

selenium 八大查找元素 from selenium import webdriver from selenium.webdriver.common.by import By# 创建一个 WebDriver 实例 driver webdriver.Chrome()# 打开网页 driver.get("https://www.baidu.com/")# 使用 find_element 方法查找元素 element driver.…

springboot 整合 Spring Security 上篇

1.创建springBoot 项目工程(spring6.0的底层、JDK17) 1.添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>配置完成启动访问controller会出现登录…

prometheus部署及与grafana结合应用

一、prometheus 介绍 prometheus server 是 Prometheus组件中的核心部分&#xff0c;负责实现对监控数据的获取&#xff0c;存储以及查询。它会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据&#xff0c;当新拉取到的数据大于配置的内存缓存区时&…

绘制彩色正多边形-第11届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第10讲。 绘制彩色正多边形…

论文解读--Visual Lane Tracking and Prediction for Autonomous Vehicles

自动驾驶汽车视觉车道线跟踪和预测 摘要 我们提出了一种用于自动驾驶汽车跟踪水平道路车道标记位置的可视化方法。我们的方法是基于预测滤波的。预测步骤估计在每个新的图像帧中期望的车道标记位置。它也是基于汽车的运动学模型和嵌入式测程传感器产生的信息。使用适当准备的测…

弱网模拟工具

一、背景 一个人晚上在家通过 Wi-Fi 上网&#xff0c;在线电影播放基本流畅&#xff0c;可一旦在晚间用网高峰期打视频电话就画面糊&#xff0c;这时不仅可能带宽受限了&#xff0c;还可能有较高的丢包率。与有线网络通信相比&#xff0c;无线网络通信受环境影响会更大&#x…

【Java Web学习笔记】 1 - HTML入门

项目代码 https://github.com/yinhai1114/JavaWeb_LearningCode/tree/main/html 零、网页的组成 HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息&#xff0c;可以包含文字、图片视频等。 CSS样式是表现。就像网页的外衣。比如&#xff0c;标题字体、…

树基本概念+前中后序遍历二叉树

&#x1f308;一、树的基本概念 ☀️1.树的定义&#xff1a;树是一种非线性结构&#xff0c;看起来像一棵倒挂的树&#xff0c;根朝上&#xff0c;而叶朝下。 ☀️2.相关术语 1.根节点&#xff1a;图中的A&#xff0c;无前驱结点 2.叶节点&#xff08;终端节点&#xff09;&a…

第九节HarmonyOS 常用基础组件4-Button

一、Button Button组件主要用来响应点击操作&#xff0c;可以包含子组件。 示例代码&#xff1a; Entry Component struct Index {build() {Row() {Column() {Button(确定, { type: ButtonType.Capsule, stateEffect: true }).width(90%).height(40).fontSize(16).fontWeigh…

Java类的初始化顺序

类初始化顺序遵循以下三个原则&#xff08;优先级依次递减&#xff09; 1、静态对象&#xff08;变量&#xff09;优先于非静态对象&#xff08;变量&#xff09;初始化&#xff0c;其中静态对象&#xff08;变量&#xff09;只初始化一次&#xff0c;而非静态对象&…

【海思SS528 | VO】MPP媒体处理软件V5.0 | 视频输出模块——学习笔记

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

谈谈MYSQL索引

基本介绍 索引是帮助MySQL高效获取数据的数据结构&#xff0c;主要是用来提高数据检索的效率&#xff0c;降低数据库的IO成本&#xff0c;同时通过索引列对数据进行排序&#xff0c;降低数据排序的成本&#xff0c;也能降低了CPU的消耗。 通俗来说, 索引就相当于一本书的目录,…

WebGL笔记:图形缩放的原理和实现

缩放 1 &#xff09;原理 缩放可以理解为对向量长度的改变&#xff0c;或者对向量坐标分量的同步缩放 如下图&#xff0c;比如让向量OA 收缩到点B的位置&#xff0c;也就是从OA变成OB&#xff0c;缩放了一半 2 &#xff09;公式 已知 点A的位置是(ax,ay,az)点A基于原点內缩了…

Redis 入门、基础。(五种基本类型使用场景)

文章目录 1. 概况1.1 认识 NoSQL1.1.1 查询方式1.1.2 事务1.1.3 总结 2. 认识 Redis4. Redis 常见命令4.1 Redis 数据结构介绍4.2 Redis 通用命令4.3 Redis 命令之 String 命令4.4 Redis 命令的层级结构4.5 Redis 命令之 Hash 命令4.6 Redis 命令之 List 命令4.7 set 唯一不排序…

SparkSQL远程调试(IDEA)

启动Intellij IDEA&#xff0c;打开spark源码项目&#xff0c;配置远程调试 Run->Edit Configuration 启动远程spark-sql spark-sql --verbose --driver-java-options "-Xdebug -Xrunjdwp:transportdt_socket,servery,suspendy,address5005"参数说明&#xff1a;…

css实现简单的抽奖动画效果和旋转效果,还有春联效果

使用css的animation和transform和transition可以实现简单的图片放大缩小&#xff0c;旋转&#xff0c;位移的效果&#xff0c;由此可以延伸的动画效果还是挺多的&#xff0c;比如图片慢慢放大&#xff0c;图片慢慢旋转并放大&#xff0c;图片慢慢变化位置等等&#xff0c; 抽奖…

重新认识Word——样式

重新认识Word Word样式给所有一级标题加上一级标题样式修改标题一样式&#xff0c;符合要求 正文样式标题前的小黑点导航窗格样式的相互复制Word一键转PPT 话说回来&#xff0c;一个程序员平时可能还看不起office全家桶的软件&#xff0c;但是&#xff0c;在实际的生活运用中&a…

springboot 整合 RocketMQ 可用于物联网,电商高并发场景下削峰,保证系统的高可用

本文根据阿里云 RocketMQ产品文档整理&#xff0c;地址:https://help.aliyun.com/document_detail/29532.html?userCodeqtldtin2 RocketMQ是由阿里捐赠给Apache的一款低延迟、高并发、高可用、高可靠的分布式消息中间件。经历了淘宝双十一的洗礼。RocketMQ既可为分布式应用系统…

内部培训平台的系统 PlayEdu搭建私有化内部培训平台

PlayEdu是由白书科技团队多年经营的线上教育系统&#xff0c;专为企业提供的全新企业培训方案 我们的目标是为更多的企业机构搭建私有化内部培训平台&#xff0c;以满足不断增长的培训需求 通过PlayEdu&#xff0c;企业可以有效地组织和管理培训资源&#xff0c;提供高质量的…

分类详情 API 返回值说明

为了进行此平台API的调用&#xff0c;首先我们需要做下面几件事情。 1、 获取一个KEY&#xff0c;点击获取测试key和secret 2、 参考API文档里的接入方式和示例。 3、查看测试工具是否有需要的接口&#xff0c;响应实例的返回字段是否符合参数要求。 4、利用平台的文档中心…