#include<reg52.h> //头文件
#define uint unsigned int //宏定义
#define uchar unsigned char //宏定义
#include<intrins.h> //循环函数的头文件
uchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//从低位往高位移一个灯
uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//从高位往低位移一个灯
uchar code table2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xa0,0x80,0x00};//从低位到高位逐步全部点亮
uchar code table3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//从高位到低位逐步全部点亮
uchar code table4[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//从低位到高位逐步全部熄灭
uchar code table5[]={0x80,0xa0,0xe0,0xf0,0xf8,0xfa,0xfe,0xff};//从高位到低位逐步全部熄灭
uchar code table6[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//从低位到高位,灭一个灯移动
uchar code table7[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};//从高位到低位,灭一个灯移动
uchar i,b;
uchar temp;
uchar temb;
void delay(uint x)
{
uint i,j;
for(i=0;i<x;i++)
for(j=0;j<200;j++);
}
void led1()//亮一个灯顺时针转一圈
{ P0=0xff;P2=0xff;P1=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P2=table1[i];
delay(30);
}
P2=0xff;
for(i=0;i<8;i++)
{
P3=table1[i];
delay(30);
}
P3=0xff;
for(i=0;i<8;i++)
{
P1=table1[i];
delay(30);
}
P1=0xff;
for(i=0;i<8;i++)
{
P0=table0[i];
delay(30);
}
P0=0xff;
}
void led2()//灭一个灯顺时针转一圈
{
P0=0x00;P1=0x00;P3=0x00;P2=0x00;
for(i=0;i<8;i++)
{
P2=table7[i];
delay(30);
}
P2=0x00;
for(i=0;i<8;i++)
{
P3=table7[i];
delay(30);
}
P3=0x00;
for(i=0;i<8;i++)
{
P1=table7[i];
delay(30);
}
P1=0x00;
for(i=0;i<8;i++)
{
P0=table6[i];
delay(30);
}
P0=0x00;
P0=0xff;P2=0xff;P1=0xff;P3=0xff;
}
void led3()//亮一个灯逆时针转一圈
{ P0=0xff;P2=0xff;P1=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P0=table1[i];
delay(30);
}
P0=0xff;
for(i=0;i<8;i++)
{
P1=table0[i];
delay(30);
}
P1=0xff;
for(i=0;i<8;i++)
{
P3=table0[i];
delay(30);
}
P3=0xff;
for(i=0;i<8;i++)
{
P2=table0[i];
delay(35);
}
P2=0xff;
}
void led4()//灭一个灯顺时针转一圈
{
P0=0x00;P1=0x00;P3=0x00;P2=0x00;
for(i=0;i<8;i++)
{
P2=table6[i];
delay(30);
}
P2=0x00;
for(i=0;i<8;i++)
{
P0=table7[i];
delay(30);
}
P3=0x00;
for(i=0;i<8;i++)
{
P1=table6[i];
delay(30);
}
P1=0x00;
for(i=0;i<8;i++)
{
P3=table6[i];
delay(30);
}
P3=0x00;
P0=0xff;P2=0xff;P1=0xff;P3=0xff;
}
void led5()//对称二个灯顺时针转一圈
{ P0=0xff;P2=0xff;P1=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P0=table1[i];
P3=table0[i];
delay(25);
}
P0=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P2=table0[i];
P1=table0[i];
delay(25);
}
P2=0xff; P1=0xff;
}
void led6()//对称二个灯逆时针转一圈
{ P0=0xff;P2=0xff;P1=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P0=table0[i];
P3=table1[i];
delay(25);
}
P0=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P2=table1[i];
P1=table1[i];
delay(25);
}
P2=0xff; P1=0xff;
}
void led7()//对称四个灯顺时针转一圈
{ P0=0xff;P2=0xff;P1=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P0=table1[i];
P3=table0[i];
P2=table0[i];
P1=table0[i];
delay(40);
}
P0=0xff;P3=0xff;P2=0xff; P1=0xff;
}
void led8()//左右各一个灯同时向下流水
{
for(i=0;i<8;i++)
{
P0=table1[i];
P2=table1[i];
delay(40);
}
P0=0xff;P2=0xff;
for(i=0;i<8;i++)
{
P1=table0[i];
P3=table1[i];
delay(40);
}
P1=0xff;P3=0xff;
}
void led9()//左右各一个灯同时向下流水
{
for(i=0;i<8;i++)
{
P1=table1[i];
P3=table0[i];
delay(40);
}
P1=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P0=table0[i];
P2=table0[i];
delay(40);
}
P0=0xff;P2=0xff;
}
void led10()//对称二个灯顺时针转一圈
{ P0=0xff;P2=0xff;P1=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P0=table0[i];
P3=table1[i];
delay(40);
}
P0=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P2=table1[i];
P1=table1[i];
delay(40);
}
P2=0xff; P1=0xff;
}
void led11()//对称二个灯逆时针转一圈
{ P0=0xff;P2=0xff;P1=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P0=table1[i];
P3=table0[i];
delay(40);
}
P0=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P2=table0[i];
P1=table0[i];
delay(40);
}
P2=0xff; P1=0xff;
}
void led12()//对称四个灯顺时针转一圈
{ P0=0xff;P2=0xff;P1=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P0=table0[i];
P3=table1[i];
P2=table1[i];
P1=table1[i];
delay(40);
}
P0=0xff;P3=0xff;P2=0xff; P1=0xff;
}
void led13()//对称四个灯顺时针转一圈
{ P0=0xff;P2=0xff;P1=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P0=table1[i];
P3=table0[i];
P2=table0[i];
P1=table0[i];
delay(30);
}
P0=0xff;P3=0xff;P2=0xff; P1=0xff;
}
void led14()//左右各一个灯同时向下流水
{
for(i=0;i<8;i++)
{
P0=table0[i];
P2=table0[i];
delay(30);
}
P0=0xff;P2=0xff;
for(i=0;i<8;i++)
{
P1=table1[i];
P3=table0[i];
delay(30);
}
P1=0xff;P3=0xff;
}
void led15()//左右各一个灯同时向上流水
{
for(i=0;i<8;i++)
{
P1=table0[i];
P3=table1[i];
delay(30);
}
P1=0xff;P3=0xff;
for(i=0;i<8;i++)
{
P0=table0[i];
P2=table0[i];
delay(30);
}
P0=0xff;P2=0xff;P1=0xff;P3=0xff;
}
void led16()//顺时针逐步点亮全部LED灯
{
P2=0xff;P3=0xff;P1=0xff;P0=0xff;
for(i=0;i<8;i++)
{
P2=table3[i];
delay(30);
}
for(i=0;i<8;i++)
{
P3=table3[i];
delay(30);
}
for(i=0;i<8;i++)
{
P1=table3[i];
delay(30);
}
for(i=0;i<8;i++)
{
P0=table2[i];
delay(30);
}
}
void led17() //顺时针逐步熄灭全部LED灯
{
P0=0x00;P1=0x00;P2=0x00;P3=0x00;
for(i=0;i<8;i++)
{
P2=table5[i];
delay(30);
}
for(i=0;i<8;i++)
{
P3=table5[i];
delay(30);
}
for(i=0;i<8;i++)
{
P1=table5[i];
delay(30);
}
for(i=0;i<8;i++)
{
P0=table4[i];
delay(30);
}
}
void led18() //逆时针逐步熄灭全部LED灯
{
P0=0x00;P1=0x00;P2=0x00;P3=0x00;
for(i=0;i<8;i++)
{
P0=table5[i];
delay(30);
}
for(i=0;i<8;i++)
{
P1=table4[i];
delay(30);
}
for(i=0;i<8;i++)
{
P3=table4[i];
delay(30);
}
for(i=0;i<8;i++)
{
P2=table4[i];
delay(30);
}
}
void led19()//四组,顺时针间隔8个灯旋转
{
for(i=0;i<8;i++)
{
P0=table0[i];
P2=table1[i];
P3=table1[i];
P1=table1[i];
delay(100);
}
P0=0xff;P1=0xff;P2=0xff;P3=0xff;
}
void led20()//二组,顺时针展开,点亮所有灯
{
for(i=0;i<8;i++)
{
P0=table2[i];
P3=table3[i];
delay(30);
}
for(i=0;i<8;i++)
{
P2=table3[i];
P1=table3[i];
delay(30);
}
P0=0xff;P1=0xff;P2=0xff;P3=0xff;
}
void led21()//二组,顺时针,熄灭所有灯
{
P0=0x00;P1=0x00;P2=0x00;P3=0x00;
for(i=0;i<8;i++)
{
P0=table4[i];
P3=table5[i];
delay(30);
}
for(i=0;i<8;i++)
{
P2=table5[i];
P1=table5[i];
delay(30);
}
P0=0xff;P1=0xff;P2=0xff;P3=0xff;
}
void led22()//二组,逆时针,熄灭所有灯
{
P0=0x00;P1=0x00;P2=0x00;P3=0x00;
for(i=0;i<8;i++)
{
P0=table5[i];
P3=table4[i];
delay(30);
}
for(i=0;i<8;i++)
{
P2=table4[i];
P1=table4[i];
delay(30);
}
P0=0xff;P1=0xff;P2=0xff;P3=0xff;
}
void led23()//二组,逆时针展开,点亮所有灯
{
for(i=0;i<8;i++)
{
P0=table3[i];
P3=table2[i];
delay(30);
}
for(i=0;i<8;i++)
{
P2=table2[i];
P1=table2[i];
delay(30);
}
P0=0xff;P1=0xff;P2=0xff;P3=0xff;
}
void led24()//四组,顺时针展开,点亮所有灯
{
for(i=0;i<8;i++)
{
P0=table2[i];
P2=table3[i];
P3=table3[i];
P1=table3[i];
delay(50);
}
P0=0xff;P1=0xff;P2=0xff;P3=0xff;
}
void led25()//四组,逆时针展开,点亮所有灯
{
for(i=0;i<8;i++)
{
P0=table3[i];
P2=table2[i];
P3=table2[i];
P1=table2[i];
delay(50);
}
P0=0xff;P1=0xff;P2=0xff;P3=0xff;
}
void led26()//四组,顺时针,关闭所有灯
{
for(i=0;i<8;i++)
{
P0=table4[i];
P2=tabl