#include#define uchar unsigned char#define uint unsigned intsbit w1=P0^0;sbit w2=P0^1;sbit w3=P0^2;sbit w4=P0^3;sbit k1=P0^4; //定义按键sbit k2=P0^5;sbit k3=P0^6;sbit k4=P0^7;sbit fm=P3^4;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0--9 十六进制数共阴void timetune(); //时间校正函数 void delayms(uint); //延迟函数void keyscan(); //闹钟设置函数void keyscan1(); //闹钟检测函数 void display(uint anum,uint anum1,uint anum2,uint anum3); //显示函数uint num0,num,num1,num2,num3,anum,anum1,anum2,anum3,temp,temp0,temp1,temp2,temp3,temp4,s,s1,s2,s3,s4;void main(){TMOD=0x01; //设置定时器 0 为工作方式 1(0000 0001)TH0=(65536-45872)/256; //装初值 50 毫秒中断一次TL0=(65536-45872)/256;EA=1; //开总中断ET0=1; //开定时器 0 终中断TR0=1; // 开定时器 while(1) //中断后进入死循环时间永不停止计时{ timetune(); // 调用时间设置函数keyscan(); //调用闹钟设置函数 if(num0==20) {num0=0;num++;if(nu