#include<reg52.h>
sbit P00=P0^0;
sbit P01=P0^1;
sbit P02=P0^2;
sbit P03=P0^3;
sbit P04=P0^4;
sbit P05=P0^5;
sbit P06=P0^6;
sbit P07=P0^7;
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
sbit P14=P1^4;
sbit P15=P1^5;
sbit P16=P1^6;
sbit P17=P1^7;
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P24=P2^4;
sbit P25=P2^5;
sbit P26=P2^6;
sbit P27=P2^7;
sbit P30=P3^0;
sbit P31=P3^1;
sbit P32=P3^2;
sbit P33=P3^3;
sbit P34=P3^4;
sbit P35=P3^5;
sbit P36=P3^6;
sbit P37=P3^7;
unsigned int x,y;
void rzmzy(); //红色走马左移声明
void rzmyy(); //红色走马右移声明
void rzmnwyd(); //红色走马内外移动声明
void rtbyd(); //红色跳变移动声明
void rjl(); //红色渐亮声明
void rja(); //红色渐暗声明
void rP0ja();//P0渐暗
void zkb(unsigned char d);
void delayms(int z)//延时声明,修改s的数值,就可以改变时间
{
int i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void Onall() //开启所有灯
{P0=0x00;P1=0x00;P2=0x00;P3=0x00;}
void Offall()//关闭所有灯
{P0=0xff;P1=0xff;P2=0xff;P3=0xff;}
//void fxls()//逆时针逐个等时流水灯
//{
// P0=0xfe;delayms(50);
// P0=0xfd;delayms(50);
// P0=0xfb;delayms(50);
// P0=0xf7;delayms(50);
// P0=0xef;delayms(50);
// P0=0xdf;delayms(50);
// P0=0xbf;delayms(50);
// P0=0x7f;delayms(50);
// P0=0xff;
//
// P2=0x7f;delayms(50);
// P2=0xbf;delayms(50);
// P2=0xdf;delayms(50);
// P2=0xef;delayms(50);
// P2=0xf7;delayms(50);
// P2=0xfb;delayms(50);
// P2=0xfd;delayms(50);
// P2=0xfe;delayms(50);
// P2=0xff;
//
// P3=0x7f;delayms(50);
// P3=0xbf;delayms(50);
// P3=0xdf;delayms(50);
// P3=0xef;delayms(50);
// P3=0xf7;delayms(50);
// P3=0xfb;delayms(50);
// P3=0xfd;delayms(50);
// P3=0xfe;delayms(50);
// P3=0xff;
//
// P1=0x7f;delayms(50);
// P1=0xbf;delayms(50);
// P1=0xdf;delayms(50);
// P1=0xef;delayms(50);
// P1=0xf7;delayms(50);
// P1=0xfb;delayms(50);
// P1=0xfd;delayms(50);
// P1=0xfe;delayms(50);
// P1=0xff;
//}
//void ls()//顺时针逐个等时流水灯
//{
// Offall();
// P1=0xfe;delayms(50);
// P1=0xfd;delayms(50);
// P1=0xfb;delayms(50);
// P1=0xf7;delayms(50);
// P1=0xef;delayms(50);
// P1=0xdf;delayms(50);
// P1=0xbf;delayms(50);
// P1=0x7f;delayms(50);
// P1=0xff;
//
// P3=0xfe;delayms(50);
// P3=0xfd;delayms(50);
// P3=0xfb;delayms(50);
// P3=0xf7;delayms(50);
// P3=0xef;delayms(50);
// P3=0xdf;delayms(50);
// P3=0xbf;delayms(50);
// P3=0x7f;delayms(50);
// P3=0xff;;
//
// P2=0xfe;delayms(50);
// P2=0xfd;delayms(50);
// P2=0xfb;delayms(50);
// P2=0xf7;delayms(50);
// P2=0xef;delayms(50);
// P2=0xdf;delayms(50);
// P2=0xbf;delayms(50);
// P2=0x7f;delayms(50);
// P2=0xff;;
//
// P0=0x7f;delayms(50);
// P0=0xbf;delayms(50);
// P0=0xdf;delayms(50);
// P0=0xef;delayms(50);
// P0=0xf7;delayms(50);
// P0=0xfb;delayms(50);
// P0=0xfd;delayms(50);
// P0=0xfe;delayms(50);
// P0=0xff;
//}
void bsb()//双边同时流水 由上至下
{
Offall();delayms(50);
P0=0xfe;delayms(50);
P0=0xfd;P1=0xfe;delayms(50);
P0=0xfb;P1=0xfd;delayms(50);
P0=0xf7;P1=0xfb;delayms(50);
P0=0xef;P1=0xf7;delayms(50);
P0=0xdf;P1=0xef;delayms(50);
P0=0xbf;P1=0xdf;delayms(50);
P0=0x7f;P1=0xbf;delayms(50);P0=0xff;
P2=0x7f;P1=0x7f;delayms(50);P1=0xff;
P2=0xbf;P3=0xfe;delayms(50);
P2=0xdf;P3=0xfd;delayms(50);
P2=0xef;P3=0xfb;delayms(50);
P2=0xf7;P3=0xf7;delayms(50);
P2=0xfb;P3=0xef;delayms(50);
P2=0xfd;P3=0xdf;delayms(50);
P2=0xfe;P3=0xbf;delayms(50);P2=0xff;
P3=0x7f;delayms(50);P3=0xff;
}
//void fbsb() //半双边流水 由下至上
//{
// Offall();
// P3=0x7f;delayms(80);
// P2=0xfe;P3=0xbf;delayms(80);
// P2=0xfd;P3=0xdf;delayms(80);
// P2=0xfb;P3=0xef;delayms(80);
// P2=0xf7;P3=0xf7;delayms(80);
// P2=0xef;P3=0xfb;delayms(80);
// P2=0xdf;P3=0xfd;delayms(80);
// P2=0xbf;P3=0xfe;delayms(80);Offall();
// P2=0x7f;P1=0x7f;delayms(80);Offall();
//
// P0=0x7f;P1=0xbf;delayms(80);
// P0=0xbf;P1=0xdf;delayms(80);
// P0=0xdf;P1=0xef;delayms(80);
// P0=0xef;P1=0xf7;delayms(80);
// P0=0xf7;P1=0xfb;delayms(80);
// P0=0xfb;P1=0xfd;delayms(80);
// P0=0xfd;P1=0xfe;delayms(80);
// P0=0xfe;P1=0xff;delayms(80);
//}
void ss(y)//闪烁(y为闪烁间隔时间)
{
Onall();delayms(y);
Offall();delayms(y);
}
//void fxsz() //反向生长
//{
// Offall();
// P0=0xfe;delayms(50);
// P0=0xfc;delayms(50);
// P0=0xf8;delayms(50);
// P0=0xf0;delayms(50);
// P0=0xe0;delayms(50);
// P0=0xc0;delayms(50);
// P0=0x80;delayms(50);
// P0=0x00;delayms(50);
//
// P2=0x7f;delayms(50);
// P2=0x3f;delayms(50);
// P2=0x1f;delayms(50);
// P2=0x0f;delayms(50);
// P2=0x07;delayms(50);
// P2=0x03;delayms(50);
// P2=0x01;delayms(50);
// P2=0x00;delayms(50);
//
// P3=0x7f;delayms(50);
// P3=0x3f;delayms(50);
// P3=0x1f;delayms(50);
// P3=0x0f;delayms(50);
// P3=0x07;delayms(50);
// P3=0x03;delayms(50);
// P3=0x01;delayms(50);
// P3=0x00;delayms(50);
//
// P1=0x7f;delayms(50);
// P1=0x3f;delayms(50);
// P1=0x1f;delayms(50);
// P1=0x0f;delayms(50);
// P1=0x07;delayms(50);
// P1=0x03;delayms(50);
// P1=0x01;delayms(50);
// P1=0x00;delayms(50);
//
// Offall();delayms(100);
// Onall();delayms(100);
// Offall();delayms(100);
// Onall();delayms(500);
// Offall();delayms(50);
//}
void zxsz() //正向生长
{
Offall();
P0=0xfe;delayms(50);
P1=0xfe;delayms(50);
P1=0xfc;delayms(50);
P1=0xf8;delayms(50);
P1=0xf0;delayms(50);
P1=0xe0;delayms(50);
P1=0xc0;delayms(50);
P1=0x80;delayms(50);
P1=0x00;delayms(50);
P3=0xfe;delayms(50);
P3=0xfc;delayms(50);
P3=0xf8;delayms(50);
P3=0xf0;delayms(50);
P3=0xe0;delayms(50);
P3=0xc0;delayms(50);
P3=0x80;delayms(50);
P3=0x00;delayms(50);
P2=0xfe;delayms(50);
P2=0xfc;delayms(50);
P2=0xf8;delayms(50);
P2=0xf0;delayms(50);
P2=0xe0;delayms(50);
P2=0xc0;delayms(50);
P2=0x80;delayms(50);
P2=0x00;delayms(50);
P0=0x7e;delayms(50);
P0=0x3e;delayms(50);
P0=0x1e;delayms(50);
P0=0x0e;delayms(50);
P0=0x06;delayms(50);
P0=0x02;delayms(50);
P0=0x00;delayms(50);
Offall();delayms(100);
Onall();delayms(100);
Offall();delayms(100);
Onall();delayms(500);
Offall();delayms(100);
}
//void fxsw() //反向死亡
//{
// Onall();
// P0=0x01;delayms(50);
// P0=0x03;delayms(50);
// P0=0x07;delayms(50);
// P0=0x0f;delayms(50);
// P0=0x1f;delayms(50);
// P0=0x3f;delayms(50);
// P0=0x7f;delayms(50);
// P0=0xff;delayms(50);
//
// P2=0x80;delayms(50);
// P2=0xc0;delayms(50);
// P2=0xe0;delayms(50);
// P2=0xf0;delayms(50);
// P2=0xf8;delayms(50);
// P2=0xfc;delayms(50);
// P2=0xfe;delayms(50);
// P2=0xff;delayms(50);
//
// P3=0x80;delayms(50);
// P3=0xc0;delayms(50);
// P3=0xe0;delayms(50);
// P3=0xf0;delayms(50);
// P3=0xf8;delayms(50);
// P3=0xfc;delayms(50);
// P3=0xfe;delayms(50);
// P3=0xff;delayms(50);
//
// P1=0x80;delayms(50);
// P1=0xc0;delayms(50);
// P1=0xe0;delayms(50);
// P1=0xf0;delayms(50);
// P1=0xf8;delayms(50);
// P1=0xfc;delayms(50);
// P1=0xfe;delayms(50);
// P1=0xff;delayms(50);
//}
void c(x) //间隔闪烁x为闪烁间隔时间
{
Offall();
P0=0xaa;P2=0x55;P3=0x55;P1=0x55;delayms(x);
P0=0x55;P2=0xaa;P3=0xaa;P1=0xaa;delayms(x);
}
/*----------------------------------------------------------*/
void cx() //出现一点点
{
Offall();delayms(500);
P0=0xff;P2=0xff;P1=0xbf;P3=0xff;delayms(500);
P0=0xdf;P2=0xbf;P1=0xbf;P3=0xff;delayms(500);
P0=0xdb;P2=0xbd;P1=0xbf;P3=0xfb;delayms(500);
P0=0x59;P2=0xa5;P1=0x5d;P3=0x9a;delayms(500);
P0=0x11;P2=0x20;P1=0x24;P3=0x10;delayms(500);
P0=0x00;P2=0x00;P1=0x00;P3=0x00;delayms(500);
}
//void df() //单飞
//{
// P0=0xfe;delayms(50);
// P0=0xfc;delayms(50);
// P0=0xf8;delayms(50);
// P0=0xf0;delayms(50);
// P0=0xe0;delayms(50);
// P0=0xc0;delayms(50);
// P0=0x80;delayms(50);
// P0=0x00;delayms(50);//先引出单飞
//
// P0=0x01