【郭天祥 TX-1C经典版 51单片机开发板试用体验】+ 花样点灯

  • mr_liu
  • LV4工程师
  • |      2017-09-29 23:36:07
  • 浏览量 1403
  • 回复:4
bg1.png六、花样点灯 1、效果图 【一分钟 GIF效果不好, 所以就这样传了上来】花样点灯 播放密码是ickey 2、源代码
#include 

#include 



unsigned char Bright_Level={0,40,80,120,150,180,210,240};

unsigned char counter=0;

unsigned char code a={0x81,0x42,0x24,0x18,0x18,0x24,0x42,0x81}; //10000001  1000010  100100 11000  11000  100100  1000010  10000001

unsigned char code b={0xc3,0x66,0x3c,0x18,0x18,0x3c,0x66,0xc3};

unsigned char code c={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};



void delay(unsigned int time)

{

	while(time--);

}



void flash1(unsigned int time)

{

	 unsigned int counter=0;

	 unsigned char i;

	 for(i=0;i<8;i++)

	 { 

		  delay(time);

		  P1=~a;

		  counter%=8;

	 } 

}



void flash2(unsigned int time)

{

	 unsigned int counter=0;

	 unsigned char i;

	 for(i=0;i<8;i++)

	 { 

		  delay(time);

		  P1=~b;

		  counter%=8;

	 } 

}



void flash3(unsigned int time)

{

	 unsigned int counter=0;

	 unsigned char i;

	 for(i=0;i<8;i++)

	 { 

		  delay(5000);

		  P1=~c;

		  counter%=8;

	 }

	 counter=0;

	 for(i=0;i<8;i++)

	 { 

		  delay(5000);

		  P1=~c;

		  counter%=8;

	 }

}



void initTimer(void)

{

	 TMOD=0x01;

	 TH0=0xff;

	 TL0=0xff-46;

	 TR0=1;

	 ET0=1;

	 EA=1;

} //timer0/counter0 interrupt



void timer0(void) interrupt 1

{

	 unsigned char i;

	 TR0=0;

	 TH0=0xff;

	 TL0=0xff-46;



	 counter++;

	 for(i=0;i<8;i++)

	 {

		  if(counter>Bright_Level) P1|=(1<=Bright_Level;

			   delay(500);

		  }

		  Bright_Level=temp;

		  delay(500);

	 }

 

 

	 for(i=0;i<8;i++)

	 {

		Bright_Level=0x00;

	 }



	delay(30000);



	for(j=0;j<5;j++)

	{

		 for(i=0;i<255;i++)

		 {

			  Bright_Level=Bright_Level=i;

			  delay(50);

		 }

		 for(i=255;i>0;i--)

		 {

			  Bright_Level=Bright_Level=i;

			  delay(50);

		 }



		  for(i=0;i<255;i++)

		 {

			  Bright_Level=Bright_Level=i;

			  delay(50);

		 }

		 for(i=255;i>0;i--)

		 {

			  Bright_Level=Bright_Level=i;

			  delay(50);

		 }



		 for(i=0;i<255;i++)

		 {

			  Bright_Level=Bright_Level=i;

			  delay(50);

		 }

		 for(i=255;i>0;i--)

		 {

			  Bright_Level=Bright_Level=i;

			  delay(50);

		 }



		 for(i=0;i<255;i++)

		 {

			  Bright_Level=Bright_Level=i;

			  delay(50);

		 }

		 for(i=255;i>0;i--)

		 {

			  Bright_Level=Bright_Level=i;

			  delay(50);

		 }

	}



	EA=0;



	 for(i=0;i<256;i++)

	 {

		  P1=~i;

		  delay(10000);

	 }



	delay(10000);

	 for(j=0;j<4;j++)

	 {

		 flash1(60000);

		 flash2(60000);

		 flash3(60000);

	 }



} 

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
sllyo@sina.cn 2017-10-09
本帖最后由 sllyo@sina.cn 于 2017-10-9 08:20 编辑 给力给力给力
0   回复
举报
发布
mr_liu 回复 2017-10-09
谢谢~:lol
1   回复
举报
发烧电子BOY 回复 2017-10-09
大哥 图呢~
0   回复
举报
x
收藏成功!点击 我的收藏 查看收藏的全部帖子