
1个回答
展开全部
#include<reg51.h>
unsigned char ledtab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};
unsigned char sec;
void t0isr() interrupt 1 //秒计时
{
TR0=0;
TH0=0x3c;
TL0=0xb0;
TR0=1;
time++;
if(time==20)
{
time=0;
sec++;
if(sec>59)sec=0;
}
}
void t1isr() interrupt 3 //显示
{
TR1=0;
TH1=0xec;
TL1=0x78;
TR1=1;
switch(scanled)
{
case 0:
P1=0x01;
P0=ledtab[sec/10];
break;
case 1:
P1=0x02;
P0=ledtab[sec%10];
break;
default:break;
}
scanled++;
scanled%=2;
}
main()
{
TMOD=0x11;
TH0=0x3c;
TL0=0xb0;
TH1=0xec;
TL1=0x78;
EA=1;
TR0=1;
TR1=1;
ET0=1;
ET1=1;
sec=0;
time=0;
while(1);
}
unsigned char ledtab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};
unsigned char sec;
void t0isr() interrupt 1 //秒计时
{
TR0=0;
TH0=0x3c;
TL0=0xb0;
TR0=1;
time++;
if(time==20)
{
time=0;
sec++;
if(sec>59)sec=0;
}
}
void t1isr() interrupt 3 //显示
{
TR1=0;
TH1=0xec;
TL1=0x78;
TR1=1;
switch(scanled)
{
case 0:
P1=0x01;
P0=ledtab[sec/10];
break;
case 1:
P1=0x02;
P0=ledtab[sec%10];
break;
default:break;
}
scanled++;
scanled%=2;
}
main()
{
TMOD=0x11;
TH0=0x3c;
TL0=0xb0;
TH1=0xec;
TL1=0x78;
EA=1;
TR0=1;
TR1=1;
ET0=1;
ET1=1;
sec=0;
time=0;
while(1);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询