#include"reg52.h"
#define uchar unsigned char
sbit S6=P2^7;
uchar a,b,d,num,time;
uchar code TAB[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar c[2]={0xff,0xff};
void delayms()
{
for(a=10;a>0;a--)
for(b=124;b>0;b--);
}
void delayms2()
{
for(a=5;a>0;a--)
for(b=124;b>0;b--);
}
void anjian()
{
if(S6==0)
{
delayms();
if(S6==0)
{
TR0=~TR0;
}
while(!S6);
}
c[0]=TAB[num/10];
c[1]=TAB[num%10];
}
void xianshi()
{
if(d==2)d=0;
P2=~(++d);
P0=c[d-1];
delayms2();
P0=0xff;
P2=~(++d);
P0=c[d-1];
delayms2();
P0=0xff;
}
main()
{
IE=0x82;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0 = 0;
while(1)
{
anjian();
xianshi();
}
}
void T0_() interrupt 1
{
TR0=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(++time==20)
{
time=0;
num++;
num=(num>=60)?0:num;
}
c[1]=TAB[num/10];
c[0]=TAB[num%10];
TR0=1;
}
程序不是已经消隐了吗?为啥还会出现鬼影?
|