|
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code tabie[]={0x01,0x02,0x04,0x08};
uchar code tabie1[]={0x08,0x04,0x02,0x01};
uchar code tabie2[]={0x10,0x20,0x40,0x80};
uchar code tabie3[]={0x80,0x40,0x20,0x10};
uchar code tabie4[]={0xf7,0xfb,0xfd,0xfe,0xfe,0xfd,0xfb,0xf7,0x7f,0xbf,
0xdf,0xef,0xef,0xdf,0xbf,0x7f};
uchar code tabie5[]={0x0f,0x0f,0x0f,0x0f,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,
0xf0,0xf0,0x0f,0x0f,0x0f,0x0f};
uchar code tabie6[]={0xee,0xdd,0xbb,0x77,0x77,0xbb,0xdd,0xee,
0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf3,0xf1,0xf0,0xe0,0xc0,0x80,0x00,
0xcf,0x3f,0x3f,0xcf,0xfc,0xf3,0xf3,0xfc};
uchar code tabie7[]={0x60,0x60,0x60,0x60,0x9f,0x9f,0x9f,0x9f,
0x01,0x03,0x07,0x0f,0x8f,0xcf,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0x33,0x33,0xcc,0xcc,0xcc,0xcc,0x33,0x33};
uchar code tabie8[]={0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,};
uchar code tabie9[]={0x01,0x02,0x04,0x08,0x80,0x40,0x20,0x10,0x10,0x20,0x40,0x80,0x08,0x04,0x02,0x01,};
uchar code tabie10[]={0x0f,0x0f,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x0f,0x0f,0x0f,0x0f};
uchar code tabie11[]={0x48,0xc0,0xc0,0x48,0x44,0x22,0x21,0x30,0x30,0x21,0x22,0x44};
uchar code tabie12[]={0x0f,0x0f,0xf0,0xf0,0xf0,0x0f,0x0f,0xee,0xdd,0xbb,0x77,0xbb,0xdd,0xee};
uchar code tabie13[]={0x0f,0xf0,0xf0,0x0f,0xf0,0xf0,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
uint k;
uchar tab;
void yanshi(uint x)
{
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void hai()
{
for(k=0;k<14;k++)
{
P2=tabie12[k]; P0=tabie13[k]; yanshi(100);
}
}
void taoyong(uchar lad,uchar lab,uchar lbd,uchar lbb)
{
for(k=0;k<20;k++)
{
P2=lad;P0=lab;yanshi(4);P2=lbd;P0=lbb;yanshi(4);
}
}
void taoyong2(uchar lad,uchar lab,uchar lbd,uchar lbb,uchar lcd,uchar lcb,uchar ldd,uchar ldb)
{
for(k=0;k<8;k++)
{
P2=lad;P0=lab;yanshi(4);P2=lbd;P0=lbb;yanshi(4);
P2=lcd;P0=lcb;yanshi(4);P2=ldd;P0=ldb;yanshi(4);
}
}
void ask(uchar num,uchar unm)
{
for(k=0;k<4;k++)
{
P0=tabie[k] ;P2=num;yanshi(30);
}
for(k=0;k<4;k++)
{
P0=tabie1[k];P2=unm;yanshi(30);
}
}
void esk(uchar num,uchar unm)
{
for(k=0;k<4;k++)
{
P0=tabie2[k] ;P2=num;yanshi(30);
}
for(k=0;k<4;k++)
{
P0=tabie3[k];P2=unm;yanshi(30);
}
}
void mit()
{
ask(0x7f,0xbf);ask(0xdf,0xef);esk(0xef,0xdf);esk(0xbf,0x7f);
esk(0xf7,0xfb);esk(0xfd,0xfe);ask(0xfe,0xfd);ask(0xfb,0xf7);
}
void mkd()
{
for(k=0;k<16;k++)
{
P2=tabie4[k];P0=tabie5[k];yanshi(100);
}
}
void mka()
{
for(k=0;k<16;k++)
{
P2=tabie8[k];P0=tabie9[k];yanshi(100);
}
}
void mie()
{
for(k=0;k<31;k++)
{
P2=tabie6[k];P0=tabie7[k];yanshi(200);
}
}
void feng()
{
uchar f;
for(f=0;f<4;f++)
{
for(k=0;k<12;k++)
{
P2=tabie10[k];P0=tabie11[k];yanshi(75);
}
}
}
void xia()
{
P2=0x00;P0=0x88;yanshi(100);
taoyong(0x11,0x88,0xee,0x44);
for(k=0;k<10;k++)
{
P2=0x33;P0=0x88;yanshi(5);P2=0xdd;P0=0x44;yanshi(1);P2=0xee;P0=0x22;yanshi(1);
}
for(k=0;k<10;k++)
{
P2=0x77;P0=0x88;yanshi(5);P2=0xbb;P0=0x44;yanshi(1);P2=0xdd;P0=0x22;yanshi(1);
P2=0xee;P0=0x11;yanshi(1);
}
for(k=0;k<10;k++)
{
P2=0x77;P0=0x88;yanshi(5);P2=0xbb;P0=0x44;yanshi(1);P2=0xdd;P0=0x22;yanshi(1);
P2=0xdd;P0=0x11;yanshi(1);
}
for(k=0;k<10;k++)
{
P2=0x77;P0=0x88;yanshi(5);P2=0xbb;P0=0x44;yanshi(1);
P2=0xbb;P0=0x22;yanshi(1);
P2=0xbb;P0=0x11;yanshi(1);
}
P2=0x77;P0=0xff;yanshi(100);
}
void xiezou()
{
P2=0x0f;P0=0x01;yanshi(100);
P2=0x0f;P0=0x13;yanshi(100);
taoyong(0x0f,0x37,0xf0,0x10);
taoyong(0x0f,0x7f,0xf0,0x31);
taoyong(0x0f,0xff,0xf0,0x73);
taoyong(0x0f,0xff,0xf0,0xf7);
P2=0x00;P0=0xff;yanshi(100);
}
void xieyou()
{
P2=0x00;P0=0xff;yanshi(100);
taoyong(0x0f,0xff,0xf0,0xf7);
taoyong(0x0f,0xff,0xf0,0x73);
taoyong(0x0f,0x7f,0xf0,0x31);
taoyong(0x0f,0x37,0xf0,0x10);
P2=0x0f;P0=0x13;yanshi(100);
P2=0x0f;P0=0x01;yanshi(100);
}
void fongr()
{
uchar b;
for(b=0;b<5;b++)
{
taoyong(0x0f,0x48,0xf0,0x21);
taoyong(0x0f,0xc0,0xf0,0x30);
taoyong(0xf0,0xc0,0x0f,0x30);
taoyong(0xf0,0x48,0x0f,0x21);
taoyong(0x0f,0x22,0xf0,0x44);
taoyong(0x0f,0x44,0xf0,0x22);
}
}
void gang()
{
P2=0xee;P0=0x60;yanshi(300);P2=0xee;P0=0x09;yanshi(300);P2=0xee;P0=0xff;yanshi(300);
taoyong(0xee,0xff,0xdd,0x09);
for(k=0;k<50;k++)
{
P2=0xee;P0=0xff;yanshi(5);P2=0xdd;P0=0x09;yanshi(1);P2=0xbb;P0=0x09;yanshi(1);
}
taoyong2(0xee,0xff,0xdd,0x09,0xbb,0x09,0x77,0x09);
taoyong2(0xee,0xff,0xdd,0x09,0xbb,0x09,0x77,0xff);
P2=0x99;P0=0x60;yanshi(300);
P2=0x00;P0=0xff;yanshi(300);
}
void ffa()
{
P2=0xef;P0=0x08;yanshi(200);P2=0xdf;P0=0x08;yanshi(200);
P2=0xbf;P0=0x08;yanshi(200);P2=0x7f;P0=0x08;yanshi(200);P2=0x7f;P0=0x84;yanshi(200);
taoyong(0x7f,0x02,0xf7,0x80);
taoyong(0x7f,0x01,0xf7,0x08);
}
void xiayu(uchar asb,uchar num,uchar unm)
{
P2=0xee;P0=asb;yanshi(300);
for(k=0;k<25;k++)
{
P2=0xee;P0=num;yanshi(5);P2=0xdd;P0=unm;yanshi(1);
}
for(k=0;k<25;k++)
{
P2=0xee;P0=num;yanshi(5);P2=0xbb;P0=unm;yanshi(1);
}
for(k=0;k<25;k++)
{
P2=0xee;P0=num;yanshi(5);P2=0x77;P0=unm;yanshi(1);
}
}
void yur()
{
xiayu(0xff,0xfe,0x01);xiayu(0xfe,0xfc,0x02);xiayu(0xfc,0xf8,0x04);xiayu(0xf8,0xf0,0x08);
xiayu(0xf0,0x70,0x80);xiayu(0x70,0x30,0x40);xiayu(0x30,0x10,0x20);xiayu(0x10,0x00,0x10);
}
void haiil()
{
P2=0x0f;P0=0x07;yanshi(200);P2=0x0f;P0=0x0e;yanshi(200);P2=0x0f;P0=0x8c;yanshi(200);
taoyong(0x0f,0x88,0xf0,0x80);taoyong(0x0f,0x80,0xf0,0x88);
P2=0xf0;P0=0x8c;yanshi(200);P2=0xf0;P0=0x0e;yanshi(200);P2=0xf0;P0=0x07;yanshi(200);P2=0xf0;P0=0x13;yanshi(200);
taoyong(0xf0,0x11,0x0f,0x10);taoyong(0xf0,0x10,0x0f,0x11);P2=0x0f;P0=0x13;yanshi(200);
}
void zuoxuan()
{ uchar a;
for(a=0;a<5;a++)
{
taoyong2(0xef,0x0f,0xdf,0xf0,0xfb,0xf0,0xf7,0x0f);
taoyong2(0xef,0xf0,0xdf,0xf0,0xfb,0xf0,0xf7,0xf0);
taoyong2(0xfe,0xf0,0xfd,0xf0,0xbf,0xf0,0x7f,0xf0);
taoyong2(0xfe,0x0f,0xfd,0xf0,0xbf,0xf0,0x7f,0x0f);
taoyong(0xfd,0xff,0xbf,0xff);
taoyong(0xfb,0xff,0xdf,0xff);
}
}
void main()
{
while(1)
{
haiil();yur();ffa();gang();xieyou();xiezou();hai();
mit();mkd();mka();mie();feng();xia();fongr();zuoxuan();
}
}
|
|