#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define PA XBYTE[0x7f01]
#define PB XBYTE[0X7F02]
#define PC XBYTE[0X7F03]
#define PK XBYTE[0X7F00]
uchar code shu[]={111,112,113,114,115,116,117,118,119,200};
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code tab2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar k=0,t;
void delay(uchar x)
{
uchar j;
while(x--)
for(j=110;j>0;j--);
}
void display(uchar l)
{
PB=tab2[1];
PA=tab[l/10];
delay(5);
PB=tab2[2];
PA=tab[(l%100)/10];
delay(5);
PB=tab2[3];
PA=tab[l%10];
delay(5);
}
void write()
{
uchar j=0,i;
for(i=0;i<10;i++)
{
XBYTE[0X7E00+j];
j++;
}
}
uchar read()
{
t=XBYTE[0X7E00+k];
return t;
}
void keyscan()
{
if(PC==0x02)
{
delay(10);
if(PC==0X02)
{
k+=1;
if(k==10)
{
k=0;
}
}
}
if(PC==0x01)
{
delay(10);
if(PC==0X01)
{
if(PC==0x03)
{
k-=1;
if(k==0)
{
k=10;
}
}
}
}
}
void main()
{
write();
PK=0X03;
while(1)
{
read();
keyscan();
display(t);
}
}

#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define PA XBYTE[0x7f01]
#define PB XBYTE[0X7F02]
#define PC XBYTE[0X7F03]
#define PK XBYTE[0X7F00]
uchar code shu[]={111,112,113,114,115,116,117,118,119,200};
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code tab2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar k=0,t;
void delay(uchar x)
{
uchar j;
while(x--)
for(j=110;j>0;j--);
}
void display(uchar l)
{
PB=tab2[1];
PA=tab[l/10];
delay(5);
PB=tab2[2];
PA=tab[(l%100)/10];
delay(5);
PB=tab2[3];
PA=tab[l%10];
delay(5);
}
void write()
{
uchar j=0,i;
for(i=0;i<10;i++)
{
XBYTE[0X7E00+j];
j++;
}
}
uchar read()
{
t=XBYTE[0X7E00+k];
return t;
}
void keyscan()
{
if(PC==0x02)
{
delay(10);
if(PC==0X02)
{
k+=1;
if(k==10)
{
k=0;
}
}
}
if(PC==0x01)
{
delay(10);
if(PC==0X01)
{
if(PC==0x03)
{
k-=1;
if(k==0)
{
k=10;
}
}
}
}
}
void main()
{
write();
PK=0X03;
while(1)
{
read();
keyscan();
display(t);
}
}
