|
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar a,num,shi,ge,flag1,flag,shi1,ge1;
uchar code table[]={0x3f,0x06,
0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
sbit dula=P2^6;
sbit wela=P2^7;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void init()
{
flag1=0;
TH1=0xfd;
flag=0;
TMOD=0x20;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
}
void display(uchar shi,uchar ge)
{
dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delay(5);
dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
delay(5);
}
void main()
{
init();
while(1)
{
while(flag!=1)
{
display(0x00,0x00);
}
if(flag1==1)
{
ES=0;
SBUF=a;
while(!TI);
TI=0;
ES=1;
flag1=0;
}
if(flag1==1);
{
display(shi1,ge1);
}
}
}
void ser()interrupt 4
{
RI=0;
a=SBUF;
shi1=a/16;
ge1=a%16;
flag=1;
flag1=1;
}
|
|