霓虹灯.c

来自「此源码是基于凌阳系列单片机编写的」· C语言 代码 · 共 123 行

C
123
字号
                      #include "SPCE061A.H"
unsigned int Delay (unsigned int i)
{
	for (;i>0;i--)		
	{
		*P_Watchdog_Clear= 0x0001;
	}
}
void xunhuan ()
{
	unsigned int led,i,j,b,k,m;
	*P_IOA_Data=1;
	*P_IOB_Data=1;
	led=2;
	for (i=0;i<15;i++)
	{
		*P_IOA_Data=led;
		*P_IOB_Data=led;
		Delay (10000);
		led*=2;
	}
	k=0x8000;
    led=0x8000;
    m=15;
	for (i=0;i<14;)
	{
	led=led+1;
	*P_IOA_Data=led;
	*P_IOB_Data=led;
	b=1;
	for (j=0;j<m;j++)
	{
		*P_IOA_Data=led;
		*P_IOB_Data=led;
		Delay (10000);
		led=led+b;
		b*=2;
	}
	led=led-b/2;
	i++;
	m--;
	}	   
}
void shangxia ()
{
	*P_IOA_Data=0x01c0;
	*P_IOB_Data=0x01c0;
	Delay (10000);
	*P_IOA_Data=0x03e0;
	*P_IOB_Data=0x03e0;
	Delay (10000);
	*P_IOA_Data=0x07f0;
	*P_IOB_Data=0x07f0;
	Delay (10000);
	*P_IOA_Data=0x0ff8;
	*P_IOB_Data=0x0ff8;
	Delay (10000);
	*P_IOA_Data=0x01ffc;
	*P_IOB_Data=0x01ffc;
	Delay (10000);
	*P_IOA_Data=0x3ffe;
	*P_IOB_Data=0x3ffe;
	Delay (10000);
	*P_IOA_Data=0xffff;
	*P_IOB_Data=0xffff;
	Delay (10000);
	*P_IOA_Data=0xfe3f;
	*P_IOB_Data=0xfe3f;
	Delay (10000);
	*P_IOA_Data=0xfc1f;
	*P_IOB_Data=0xfc1f;
	Delay (10000);
	*P_IOA_Data=0xf80f;
	*P_IOB_Data=0xf80f;
	Delay (10000);
	*P_IOA_Data=0xf007;
	*P_IOB_Data=0xf007;
	Delay (10000);
	*P_IOA_Data=0xe003;
	*P_IOB_Data=0xe003;
	Delay (10000);
	*P_IOA_Data=0xc001;
	*P_IOB_Data=0xc001;
	Delay (10000);
}
void shang ()
{
	*P_IOA_Data=0xaaaa;
	*P_IOB_Data=0xaaaa;
	Delay (65535);
	*P_IOA_Data=0x5555;
	*P_IOB_Data=0x5555;
	Delay (65535);
}
main ()
{
	unsigned int i=5;
	*P_IOA_Dir = 0xffff;
	*P_IOA_Attrib = 0xffff;
	*P_IOA_Data = 0;
	*P_IOB_Dir = 0xffff;
	*P_IOB_Attrib = 0xffff;
	*P_IOB_Data=0;
	while (1)
	{
		xunhuan ();
		*P_IOA_Data=0xffff;
		*P_IOB_Data=0xffff;
	
		while (i--)
		{
			shang ();
		}
		i=5;
		while (i--)
		{
			shangxia ();
		}
		i=5;
	}
}

⌨️ 快捷键说明

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