|
#include<regx52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
sbit dula = P2^6;
sbit wela = P2^7;
int code a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
int code b[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
int code c[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
int code d[]={0x76,0x79,0x38,0x38,0x3f};
void delayms(uint);
void display(uint,uint,uint,uint,uint);
uint ge=0,shi =2,bai = 2;
void aa()
{
int i=0;
while(!key1)
{P0=a[i];
delayms(500);
i++;
if(i==7)
P0=1;
}
}
void bb()
{
int i=0;
while(!key2)
{P0=b[i];
delayms(200);
i++;
if(i==7)
P0=1;
}
}
void cc()
{
int i=0;
while(!key3)
{P0=c[i];
delayms(500);
i++;
if(i==7)
P0=0;
}
}
void dd()
{
while(!key4)
display(0x76,0x79,0x38,0x38,0x3f);
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void display(uint bai,uint shi,uint ge,uint k,uint n)
{
dula = 1;
P0 = d[bai];
dula = 0;
P0 = 0xff;
wela = 1;
P0 = 0xfe;
wela = 0;
delayms(1);
dula = 1;
P0 = d[shi];
dula = 0;
P0 = 0xff;
wela = 1;
P0 = 0xfd;
wela = 0;
delayms(1);
dula = 1;
P0 = d[ge];
dula = 0;
P0 = 0xff;
wela = 1;
P0 = 0xfb;
wela = 0;
delayms(5);
dula = 1;
P0 = d[k];
dula = 0;
P0 = 0xff;
wela = 1;
P0 = 0xf7;
wela = 0;
delayms(1);
dula = 1;
P0 = d[n];
dula = 0;
P0 = 0xff;
wela = 1;
P0 = 0xef;
wela = 0;
delayms(1);
}
main()
{while(1)
{P0=0xff;
while(!key1)aa();
while(!key2)bb();
while(!key3)cc();
while(!key4)dd();
}
}
|
|