#include <REGX51.H>
unsigned char a[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
unsigned char b[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80 } ;
unsigned char d[]={~0x21,~0x12,~0x22,~0x42,~0x14,~0x24,~0x44,~0x18,~0x28,~0x48};
unsigned char e[]={~0x01,~0x02,~0x04,~0x08};
unsigned char c[8];
unsigned int i,j,k,l,n,nm,ny;
unsigned int y1,y2;
unsigned int x=5;
void delay(unsigned int x)
{
x--;
}
void shuguan(unsigned int m)
{
j=0;
if(m!=0)
{
n=m;
do
{
j++;
m=m/10;
}while(m!=0);
k=1;
m=n;
while(k<=j)
{
l=m;
m=m/10;
c[8-k]=a[l-10*m];
k++;
}
k=j;
i=0;
while((8-k)>0)
{
c[ i]=0xff;
i++;
k++;
}
}
else
{
for(i=0;i<7;i++)
{ c[ i]=0xff;
}
c[7]=a[0];
}
for(i=0;i<8;i++)
{
P0=0xff;
P2=b[ i];
P0=c[ i];
delay(300);
}
}
void anj()
{
for(i=0;i<4;i++)
{
P1=e[ i];
if(P1!=e[ i])
{
y2=i ;
for(nm=0;nm<10;nm++)
{
if(P1==d[nm])
{
ny=nm;
y1=1;
}
}
}
if(i==y2)
{
if(P1==e[ i]&&y1==1)
{
x=x*10+ny;
y1=0;
}
}
}
}
void main()
{
x=2;
while(1)
{
shuguan(x);
anj();
}
} |