#include <reg51.H>
sbit BUZZER =P3^1;
unsigned char code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x00};
unsigned char second=60;
unsigned char keycnt;
unsigned int tcnt;
unsigned int flag;
void delay05s(void)
{
unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=200;j>0;j--)
for(k=248;k>0;k--);
}
void main(void)
{
unsigned char i,j;
TMOD=0x02;
ET0=1;
EA=1;
second=0;
P2=dispcode[second/10];
P1=dispcode[second%10];
while(1)
{
if(flag==1)
{
BUZZER=1;
delay05s();
BUZZER=0;
delay05s();
}
}
}
void t0(void) interrupt 1 using 0
{
tcnt++;
if(tcnt==4000)
{
tcnt=0;
second--;
if(second==0)
{
second=0;
flag=1;
TR0=0;
}
P2=dispcode[second/10];
P1=dispcode[second%10];
}
}
本回答被网友采纳