📄 chesr.c
字号:
#include<reg51.h>
void effect1(void);
void effect2(void);
void effect3(void);
void effect4(void);
void effect5(void);
void incdly(void);
void decdly(void);
void delay();
void dly(int d);
unsigned int x,f=0;
void incdly()
{
if(x<10) x++;
delay();
}
void decdly()
{
if(x>1) x--;
delay();
}
void dly(int d)
{
int a,b;
for(b=0;b<d;b++)
for(a=0;a<2000;a++);
}
void delay()
{
int w,z;
for(w=0;w<100;w++)
for(z=0;z<1000;z++);
}
void effect1()
{
int i,j,k;
P1=0xFF;
while(P1==0xFF)
{
P2=0xFF;
P3=0xFF;
P0=0xFE;
for(i=0;i<8;i++)
{
dly(x);
P0=P0<<1;
}
P2=0xFE;
for(j=0;j<8;j++)
{
dly(x);
P2=P2<<1;
}
P3=0xFE;
for(k=0;k<8;k++)
{
dly(x);
P3=P3<<1;
}
P3=0x7F;
for(i=0;i<8;i++)
{
dly(x);
P3=P3>>1;
}
P2=0x7F;
for(j=0;j<8;j++)
{
dly(x);
P2=P2>>1;
}
P0=0x7F;
for(k=0;k<8;k++)
{
dly(x);
P0=P0>>1;
}
}
}
void effect3()
{
P1=0xFF;
while(P1==0xFF)
{
P0=0xAA;
P2=0xAA;
P3=0xAA;
dly(x);
P0=0x55;
P2=0x55;
P3=0x55;
dly(x);
}
}
void effect2()
{
int i,j,k;
P1=0xFF;
while(P1==0xFF)
{
P2=0x00;
P3=0x00;
P0=0x01;
for(i=0;i<8;i++)
{
dly(x);
P0=P0<<1;
}
P2=0x01;
for(j=0;j<8;j++)
{
dly(x);
P2=P2<<1;
}
P3=0x01;
for(k=0;k<8;k++)
{
dly(x);
P3=P3<<1;
}
P3=0x80;
for(i=0;i<8;i++)
{
dly(x);
P3=P3>>1;
}
P2=0x80;
for(j=0;j<8;j++)
{
dly(x);
P2=P2>>1;
}
P0=0x80;
for(k=0;k<8;k++)
{
dly(x);
P0=P0>>1;
}
}
}
void effect4()
{
int i,j;
P1=0xFF;
while(P1==0xFF)
{
P0=0x01;
P2=0x01;
P3=0x01;
for(i=0;i<8;i++)
{
dly(x);
P0=P0<<1;
P2=P2<<1;
P3=P3<<1;
}
P0=0x80;
P2=0x80;
P3=0x80;
for(j=0;j<8;j++)
{
dly(x);
P0=P0>>1;
P2=P2>>1;
P3=P3>>1;
}
}
}
void effect5()
{
int i;
P1=0xFF;
while(P1==0xFF)
{
P0=0x01;
P2=0x00;
P3=0x80;
for(i=0;i<8;i++)
{
dly(x);
P0=P0<<1;
P3=P3>>1;
}
P2=0x81;
dly(x);
P2=0x42;
dly(x);
P2=0x24;
dly(x);
P2=0x18;
dly(x);
P2=0x24;
dly(x);
P2=0x42;
dly(x);
P2=0x81;
dly(x);
P0=0x80;
P3=0x01;
for(i=0;i<8;i++)
{
dly(x);
P0=P0>>1;
P3=P3<<1;
}
}
}
void main()
{
x=5;
agin:P1=0xFF;
P2=0x00;
P3=0x00;
P0=0x00;
do
{
P0=0xFF;
P2=0xFF;
P3=0xFF;
dly(x);
P0=0x00;
P2=0x00;
P3=0x00;
dly(x);
}
while(P1==0xFF);
loop:switch(P1)
{
case 0xFE:
delay();
f=1;
effect1();
break;
case 0xFD:
delay();
f=1;
effect2();
break;
case 0xFB:
delay();
f=1;
effect3();
break;
case 0xF7:
delay();
f=1;
effect4();
break;
case 0xEF:
delay();
f=1;
effect5();
break;
case 0xDF:
delay();
f=2;
break;
case 0xBF:
incdly();
f=0;
break;
case 0x7F:
decdly();
f=0;
break;
}
if(f==1)goto loop;
else if(f==0) goto agin;
else
{
P0=0x00;
P2=0x00;
P3=0x00;
}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -