当前位置:首页 > 单片机 > 单片机
[导读] #include#defineuintunsignedintuintDIDA=0,SEC=0,MIN=0,HOUR=0,h=0;codechartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};voidtimer0()interrupt1using1{TR0=0;TH0=0x3c;TL0=0xb0;DIDA

#include
#defineuintunsignedint
uintDIDA=0,SEC=0,MIN=0,HOUR=0,h=0;
codechartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

voidtimer0()interrupt1using1
{
TR0=0;
TH0=0x3c;
TL0=0xb0;
DIDA++;
TR0=1;
}
main()
{uintp,k;
uintKEY();
voidCONV();
voidITX();
TMOD=0x01;
TH0=0x3c;TL0=0xb0;
ET0=1;EA=1;
TR0=1;

while(1)
{if(h==0)
{
P2=0x81;
P0=0x80;
for(p=0;p<200;p++);
}
else
{
P2=0x81;
P0=0x00;
for(p=0;p<200;p++);
}

CONV();
ITX();
P1=0x0f;
if(P1!=0x0f)
{for(p=0;p<=10000;p++);
if(P1!=0x0f)
{k=KEY();
if(k==0)
{MIN++;
if(MIN==60)
{MIN=0;
HOUR++;
if(HOUR==24)
HOUR=0;
}
}
elseif(k==4)
{HOUR++;
if(HOUR==24)
HOUR=0;
}
}
}
}
}
voidCONV()
{
if(DIDA==20)
{
DIDA=0;
SEC++;
h=!h;
if(SEC==60)
{SEC=0;
MIN++;
if(MIN==60)
{MIN=0;
HOUR++;
if(HOUR==24)
HOUR=0;
}
}
}
}

voidITX()
{uinti,j,k,e,p;
i=HOUR/10;
j=HOUR%10;
k=MIN/10;
e=MIN%10;
P2=0x80;
P0=tab[j];
for(p=0;p<200;p++);
P2=0x81;
P0=tab[i];
for(p=0;p<200;p++);
P2=0x82;
P0=tab[e];
for(p=0;p<200;p++);
P2=0x83;
P0=tab[k];
for(p=0;p<200;p++);
}

uintKEY()
{uinti,k;
unsignedcharcodetab[16]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,
0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};
P1=0x0f;
i=P1;
P1=0xf0;
i=i|P1;
for(k=0;tab[k]!=i&&k<16;k=k+1);
return(k);
}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭