⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text2.c

📁 光立方源程序
💻 C
字号:
#include "reg52.h"
#include "intrins.h"

#define uint unsigned int 
void delay(unsigned int count)
{
	unsigned int i,j;
	for(i=0;i<count;i++)
		for(j=0;j<110;j++);
}

void guanbi(void)
{
	P0=0x00;
	P2=0x00;
}


void moshi_1_1(void)
{
	uint temp,i;
	P0=0x01;
	temp=P0;
	delay(50);
	for(i=0;i<7;i++)
	{	
		temp=temp<<1;
		P0=temp;
		delay(50);
	}
	P0=0x00;
	P2=0x80;
	temp=P2;
	delay(50);
	for(i=0;i<7;i++)
	{	
		temp=temp>>1;
		P2=temp;
		delay(50);
	}
	P2=0x00;//结束第一层
}
void moshi_1_2(void)
{
	uint temp,i;
	P2=0x01;
	temp=P2;
	delay(50);
	for(i=0;i<7;i++)
	{	
		temp=temp<<1;
		P2=temp;
		delay(50);
	}
	P2=0x00;
	P0=0x80;
	temp=P0;
	delay(50);
	for(i=0;i<7;i++)
	{	
		temp=temp>>1;
		P0=temp;
		delay(50);
	}
	P0=0x00;//结束第二层
}
	
void moshi_1(void)//闪烁样式一
{	
	P0=0x00;
	P2=0x00;

	P1=0xfe;
	moshi_1_1();
		
	P1=0xfd;
	moshi_1_2();

	P1=0xfb;
	moshi_1_1();
	
	P1=0xf7;
	moshi_1_2();
	
	guanbi();
}

void moshi_2(void)	//闪烁样式二
{
	uint i;
	P0=0x00;
	P2=0x00;
	for(i=0;i<3;i++)
	{
		P1=0xf0;
		P0=0xff;
		P2=0xff;
		delay(800);
		P1=0xff;
		delay(800);
	}
	guanbi();
}

void moshi_3(void)	//闪烁样式三(六边依次点亮)
{
	uint i;
	for(i=0;i<1;i++)
	{
		P1=0xf0;
		P0=0x18;
		P2=0x18;
		delay(800);
		
		P0=0x00;
		P2=0x0f;
		delay(800);
		
		P2=0x81;
		P0=0x81;
		delay(800);
	
		P2=0x00;
		P0=0x0f;
		delay(800);
	
		P0=0x00;
		P1=0xf7;	
		P0=0xff;
		P2=0xff;
		delay(800);
		P1=0xfe;
		delay(800);

		P0=0x00;
		P2=0x00;
		P1=0xf9;
		P0=0x60;
		P2=0x60;
		delay(800);
	}
	guanbi();		
}

void moshi_4(void)	//闪烁样式四(滴水)
{
	P1=0xf7;
	P0=0xff;
	P2=0xff;
	delay(800);
	P1=0xfb;
	delay(800);
	P1=0xfd;
	delay(800);
	P1=0xfe;
	delay(800);	
	guanbi();		
}

void moshi_5(void)	//闪烁样式五(阶梯)
{
	uint i;
	P0=0x0f;
	P1=0xf7;
	delay(800);
	P0=0x00;
	for(i=0;i<400;i++)
	{
		P0=0xff;
		P1=0xfb;
		delay(1);
		P0=0xf0;
		P1=0xf3;
		delay(1);
		P0=0x00;
		P1=0xff;
	}
	for(i=0;i<266;i++)
	{
		P0=0xff;
		P2=0xf0;
		P1=0xfd;
		delay(1);

		P0=0xf0;
		P2=0xf0;
		P1=0xfb;
		delay(1);
		P0=0x00;
		P2=0xf0;
		P1=0xf7;
		delay(1);
		P2=0x00;
	}
	for(i=0;i<200;i++)
	{
		P0=0xff;		
		P2=0xff;
		P1=0xfe;
		delay(1);
		
		P0=0xf0;
		P2=0xff;
		P1=0xfc;
		delay(1);
		
		P0=0x00;
		P2=0xff;
		P1=0xf8;
		delay(1);
		
		P0=0x00;
		P2=0x0f;
		P1=0xf0;
		delay(1);
		P2=0x00;
	}
	guanbi();	
}
/*
void moshi_6(void)//流水
{
	uint i;
	P0=0x0f;
	P2=0x00;
	P1=0xf7;
	delay(800);

	for(i=0;i<400;i++)
	{	
		P0=0x0f;
		P1=0xfb;
		delay(1);
		P0=0xf0;
		P1=0xf7;
		delay(1);
	}
	
	for(i=0;i<266  ;i++)
	{
		P0=0x0f;
		P2=0x00;
		P1=0xfd;
		delay(1);
		
		P0=0xf0;
		P1=0xfb;
		delay(1);
		
		P0=0x00;
		P2=0xf0;
		P1=0xf7;
		delay(1);
	}
	for(i=0;i<200;i++)
	{
		P0=0x0f;
		P2=0x00;
		P1=0xfe;
		delay(1);
		
		P0=0xf0;
		P1=0xfd;
		delay(1);
		
		P0=0x00;
		P2=0xf0;
		P1=0xfb;
		delay(1);
		
		P2=0x0f;
		P1=0xf7;
		delay(1);
	}

	for(i=0;i<200;i++)
	{
		P0=0x0f;
		P2=0x00;
		P1=0xf7;
		delay(1);

		P0=0xf0;
		P1=0xfe;
		delay(1);
		
		P0=0x00;
		P2=0xf0;
		P1=0xfd;
		delay(1);
	
		P2=0x0f;
		P1=0xfb;
		delay(1);
	}
	
	for(i=0;i<200;i++)
	{
		P0=0x0f;
		P2=0x00;
		P1=0xfb;
		delay(1);

		P0=0xf0;
		P1=0xf7;
		delay(1);
		
		P0=0x00;
		P2=0xf0;
		P1=0xfe;
		delay(1);
	
		P2=0x0f;
		P1=0xfd;
		delay(1);
		P1=0xff;
	}

	for(i=0;i<200;i++)
	{
		P0=0x0f;
		P2=0x00;
		P1=0xfd;
		delay(1);

		P0=0xf0;
		P1=0xfb;
		delay(1);
		
		P0=0x00;
		P2=0xf0;
		P1=0xf7;
		delay(1);
	
		P2=0x0f;
		P1=0xfe;
		delay(1);
	}

	for(i=0;i<200;i++)
	{
		P0=0x0f;
		P2=0x00;
		P1=0xfe;
		delay(1);

		P0=0xf0;
		P1=0xfd;
		delay(1);
		
		P0=0x00;
		P2=0xf0;
		P1=0xfb;
		delay(1);
	
		P2=0x0f;
		P1=0xf7;
		delay(1);
	}
	guanbi();
}*/

void moshi_7(void)//条形
{
	uint i,temp;
	P1=0xf0;
	P2=0x00;
	temp=0x01;
	for(i=0;i<8;i++)
	{
		P0=temp;
		delay(300);
		temp=(temp<<1)|0x01;
	}

	temp=0x80;
	for(i=0;i<8;i++)
	{
		P2=temp;
		delay(300);
		temp=(temp>>1)|0x80;
	}
	guanbi();
}

void moshi_8_1(void)
{
	uint i,j,temp;
	for(i=0;i<5;i++)
	{
		temp=0xfe;
		for(j=0;j<4;j++)
		{
			P1=temp;
			delay(200);
			temp=temp<<1;
		}
	}
}
				
void moshi_8(void)//机枪条
{
	P0=0x40;
	moshi_8_1();
	P0=0x40;
	P2=0x40;
	moshi_8_1();
	P0=0x60;
	P2=0x60;
	moshi_8_1();
	P0=0x09;
	P2=0x09;
	moshi_8_1();
	P0=0xf6;
	P2=0xf6;
	moshi_8_1();
	P0=0xff;
	P2=0xff;
	moshi_8_1();
	guanbi();	
}	

void moshi_9(void)
{
	uint i,j;
	for(i=0;i<3;i++)
	{
		for(j=0;j<400;j++)
		{
			P0=0x9f;
			P2=0x9f;
			P1=0xf6;
			delay(1);
			P0=0x09;
			P2=0x09;
			P1=0xf9;
			delay(1);
		}
		for(j=0;j<800;j++)
		{
			P0=0x96;
			P2=0x96;
			P1=0xf9;
			delay(1);
		}
	}
	guanbi();
}

void moshi_10_1(void)
{
	uint i,j,temp;
	for(j=0;j<3;j++)
	{
		for(i=0;i<3;i++)
		{
			temp=0xf7;
			for(j=0;j<4;j++)
			{
				P1=temp;
				delay(200);
				temp=(temp>>1)&&0x07;
			}
		}
	}
}
	
void moshi_10(void)//冲锋枪向下
{
	P0=0x69;
	P2=0x69;
	moshi_10_1();
	P0=0x0f;
	P2=0x00;
	moshi_10_1();
	P0=0x9f;
	P2=0x9f;
	moshi_10_1();
	P0=0x60;
	P2=0x60;
	moshi_10_1();
	P0=0xff;
	P2=0xff;
	moshi_10_1();
	guanbi();
}

void moshi_11(void)//每隔一个亮
{
	uint i,j;
	for(i=0;i<4;i++)
	{
		for(j=0;j<400;j++)
		{
			P0=0xaa;
			P2=0xaa;
			P1=0xfa;
			delay(1);
			P0=0x55;
			P2=0x55;
			P1=0xf5;
			delay(1);
		}
		for(j=0;j<400;j++)
		{
			P0=0xaa;
			P2=0xaa;
			P1=0xf5;
			delay(1);
			P0=0x55;
			P2=0x55;
			P1=0xfa;
			delay(1);
		}
	}
	guanbi();
}
/*void moshi_12_1(void)//以中心边旋转边
{
	uint i;
	for(i=0;i<3;i++)
	{
		P0=0xe7;
		P2=0xa0;
		delay(200);
		P2=0xc0;
		delay(200);
		P0=0xc7;
		P2=0xe0;
		delay(200);
		P0=0xe3;
		delay(200);
		P0=0xe5;
		delay(200);
		P0=0xe6;
		delay(200);
		P0=0x67;
		delay(200);
		P0=0xe7;
		P2=0x60;
		delay(200);
	}
	for(i=0;i<4;i++)
	{
		P0=0x50;
		P2=0x7e;
		delay(200);
		P0=0x30;
		delay(200);
		P0=0x70;
		P2=0x3e;
		delay(200);
		P2=0x7c;
		delay(200);
		P2=0x7a;
		delay(200);
		P2=0x76;
		delay(200);
		P2=0x6e;
		delay(200);
		P0=0x60;
		P2=0x7e;
		delay(200);
	}
}
void moshi_12(void)
{
	P1=0xf7;
	moshi_12_1();
	P1=0xf0;
	moshi_12_1();
	guanbi();
}*/


void moshi_13(void)//左右移
{
	uint i;
	P1=0xf0;
	for(i=0;i<3;i++)
	{
		P0=0x0f;
		delay(200);
		P0=0xf0;
		delay(200);
		P0=0x00;
		P2=0xf0;
		delay(200);
		P2=0x0f;
		delay(200);
		P2=0xf0;
		delay(200);
		P2=0x00;
		P0=0xf0;
		delay(200);		
	}
	for(i=0;i<3;i++)
	{
		P0=0x18;
		P2=0x18;
		delay(200);
		P0=0x24;
		P2=0x24;
		delay(200);
		P0=0x42;
		P2=0x42;
		delay(200);
		P0=0x81;
		P2=0x81;
		delay(200);
		P0=0x42;
		P2=0x42;
		delay(200);
		P0=0x24;
		P2=0x24;
		delay(200);		
	}
	guanbi();
	
}

void moshi_14(void)//旋转面
{
	uint i,j;
	for(i=0;i<2;i++)
	{
		P1=0xf0;
		P0=0x0f;
		delay(400);
		P0=0x1e;
		delay(400);
		P0=0x1c;
		P2=0x10;
		delay(400);
		P0=0x18;
		P2=0x18;
		delay(400);
		P0=0x10;
		P2=0x1c;
		delay(400);
		P0=0x00;
		P2=0x1e;
		delay(400);
		P2=0x0f;
		delay(400);
		P2=0x87;
		delay(400);
		P2=0x83;
		P0=0x80;
		delay(400);
		P2=0x81;
		P0=0x81;
		delay(400);
		P2=0x80;
		P0=0x83;
		delay(400);
		P2=0x00;
		P0=0x87;
		delay(400);
		guanbi();
	}
	for(i=0;i<2;i++)
	{
		P0=0x0f;
		P1=0xf0;
		delay(400);
		for(j=0;j<200;j++)
		{
			P0=0x0f;
			P1=0xf1;
			delay(1);
			P0=0xf0;
			P1=0xf7;
			delay(1);
		}
		for(j=0;j<200;j++)
		{
			P0=0x0f;
			P2=0x00;
			P1=0xfb;
			delay(1);
			P0=0xff;
			P2=0xf0;
			P1=0xf7;
			delay(1);
		}
		P0=0xff;
		P2=0xff;
		P1=0xf7;
		delay(400);
		for(j=0;j<200;j++)
		{
			P0=0xf0;
			P2=0xff;
			P1=0xf7;
			delay(1);
			P0=0x00;
			P2=0x0f;
			P1=0xfb;
			delay(1);
		}
		
		for(j=0;j<200;j++)
		{
			P0=0x00;
			P2=0xff;
			P1=0xf7;
			delay(1);
			P2=0x0f;
			P1=0xf9;
			delay(1);
		}
		P2=0x0f;
		P1=0xf0;
		delay(400);
		for(j=0;j<200;j++)
		{
			P2=0x0f;
			P1=0xf9;;
			delay(1);
			P2=0xff;
			P1=0xfe;
			delay(1);
		}
		for(j=0;j<200;j++)
		{
			P2=0x0f;
			P0=0x00;
			P1=0xfd;
			delay(1);
			P2=0xff;
			P0=0xf0;
			P1=0xfe;
			delay(1);
		}
	
		P0=0xff;
		P2=0xff;
		P1=0xfe;
		delay(400);
		
		for(j=0;j<200;j++)
		{
			P2=0xf0;
			P0=0xff;
			P1=0xfe;
			delay(1);
			P2=0x00;
			P0=0x0f;
			P1=0xfd;
			delay(1);
		}
	
		for(j=0;j<200;j++)
		{
			P2=0x00;
			P0=0xff;
			P1=0xfe;
			delay(1);
			P0=0x0f;
			P1=0xf9;
			delay(1);	
		}
			
		P0=0x0f;
		P1=0xf0;
		delay(400);	
	}	
	guanbi();
}

/*void moshi_15(void)//雨点落下
{
	P0=0xff;
	P2=0xff;
	P1=0xf7;	
	delay(400);
	
	
}*/
void main()
{

	P0=0x00;
	P2=0x00;
	while(1)
	{
		moshi_1();
		moshi_2();
		moshi_3();
		moshi_4();
		moshi_5();
		moshi_6();
		moshi_7();
		moshi_8();
		moshi_9();
		moshi_10();
		moshi_11();
		moshi_12();
		moshi_13();
		moshi_14();
	}	

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -