
#include<REGX52.H>
#include<stdlib.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar flag=0;
void delay(uint n)
{
uint i;
for(i=0;i<n;i++)
{
unsigned char a,b,c;
for(c=5;c>0;c--)
for(b=4;b>0;b--)
for(a=248;a>0;a--);
}
}
void init()
{
TMOD = 0x02;
SCON = 0x50;
TH0=0x00;
TL0=0xff;
EA = 1;
TR0 = 1;
EX0 = 1;
IT0 = 1;
}
void random()
{
unit i;
P3=0x7F;
for(i=0;i<3;i++)
{
delay(100);
P3=_cror_(P2,1);
}
for(i=0;i<5;i++)
{
delay(50);
P3=_cror_(P2,1);
}
P3=0xFF;
P4=0x7F;
for(i=0;i<8;i++)
{
delay(9);
P4=_cror_(P1,1);
}
}
P3=0x7F;
P4=0xFF;
srand(TL0);
for(a=0;a<(rand()%16);a++)
{
delay(9);
if(a>7)
{
P3=0xFF;
if(a==8)
{
P1=0x7F;
}
else
P1=_cror_(P1,1);
}
if(a<7)
{
P3=_cror_(P3,1);
}
}
}
void inter0() interrupt 0 using 1
{
flag = 1;
}
void main(void)
{
flag = 0;
uchar a,b,i,j;
init();
while(1)
{
if(flag == 1)
{
a=0xFE;
b=0xBF;
for(i=0;i<8;)
{
p1=a;
delay(100);
a=_crol_(a,1);
}
p1=0xFF;
p2=b;
for(i=0;i<2;i++)
{
delay(100);
b=_cror_(b,1);
}
random();
flag=0;
}
}
}