#include #define uchar unsigned char #define uint unsigned int sbit 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==