#include <reg52.h>typedef unsigned int u16;typedef unsigned char u8;sbit beep=P1^5;sbit LSA=P3^2;sbit LSB=P3^3;sbit LSC=P3^4;u8 smgduan1[]={0x7d,0x6d,0x66,0x4f,0x5b,0x06,0x3f};u8 smgduan2[]={0x6f,0x7f,0x07,0x7d,0x6d,0x66,0x4f,0x5b,0x06,0x3f};void delay(u16 k){while(k--);}void Timer0int(){TMOD|=0X01;TH0=0XFC;TL0=0X18;ET0=1;EA=1;TR0=1;}void main(){Timer0int();}void Time0() interrupt 1{static u16 i;u8 j=60;for(j=60;j>=0;j--){static u16 i=0;TH0=0XFC;TL0=0X18;i++;while(i<=1000){LSA=0;LSB=0;LSC=0;P0=smgduan2[j%10];delay(1000);LSA=0;LSB=0;LSC=0;P0=smgduan1[j/10];delay(1000);}if(i==1000){i=0;}}while(1){beep=~beep;delay(10);}}