1、;w2=0;P2=tableanum1;w3=1;delayms(;w3=0;P2=tableanum;w4=1;delayms(;w4=0;voidtimetune()/时间校正程序if(k4=/当每按下第四个键后会出现temp不同的值,然后用delayms(;/不同的值作为不同的条件给四个数码管加减值来校正时间if(k4=temp+;while(!k;if(temp=if(k2=delayms(;/按键时由于会产生机械振动,为了准确检测到按键if(k2=/按下所以要延时num+;if(num=num=0;while(!k。
2、;if(s=if(k2=delayms(;if(k2=s1+;if(s1=s1=0;while(!k;if(s=if(k2=delayms(;if(k2=s2+;if(s2=s2=0;while(!k;if(s=if(k2=delayms(;if(k2=s3+;if(s3=s3=0;while(!k;if(s=if(k2=delayms(;if(k2=s4+;if(s4=s4=0;while(!k;if(s4=3&s3=/同时间调整程序一样s3=0;if(s=s=0;voiddelayms(uintxms)uinti,j;for(i=xms;i0;i-)for(j=110;j0;j-);voidT0_time()interrupt1/中断服务程序EA=0;TH0=(65536-/256;TL0=(65536-/256;num0+;EA=1;。
3、函数voidkeyscan();/闹钟设置函数voidkeyscan1();/闹钟检测函数voiddisplay(uintanum,uintanumuintanumuintanum;/显示函数uintnumnum,numnumnumanum,anumanumanumtemp,temptemptemptemptemps,ssss4;voidmain()TMOD=0x01;/设置定时器0为工作方式1(TH0=(65536-/256;/装初值50毫秒中断一次TL0=(。
4、um2=0;if(temp=temp=0;/为了让时间能够反复校正,temp要清0voidkeyscan1()/闹钟判断程序if(s1=num&s2=num1&s3=num2&s4=num3&temp0=/闹钟判断条件temp0=0;/当闹钟判断条件成立后,第一次闹钟响了后,为了能够进行第二次闹钟的设置,所以temp0要清0fm=0;/蜂鸣器voidkeyscan()/闹钟调整程序if(k3=delayms(;if(k3=temp0+;while(!k;/按键释放if(k1=delayms(;if(k1=s+;while(!k?
5、;if(temp=if(k2=delayms(;if(k2=num1+;if(num1=num1=0;while(!k;if(temp=if(k2=delayms(;if(k2=num2+;if(num2=num2=0;while(!k;if(temp=if(k2=delayms(;if(k2=num3+;if(num3=num3=0;while(!k;if(num3=2&num2=/前面由于num2可以加到十,但是num2最多只能是所以/当num3加到2时,num2只能最大为大于4后要清0n。
6、m=0;num1=0;if(temp0=/为了防止闹钟时间显示和正常时间显示同时显示出现数码管显示不清晰,所以display(ssss;/写两个对立的if条件判断语句(temp=1和temp!=来作为限制条件.if(temp0!=display(num,numnumnum;/keyscan1();voiddisplay(uintanum,uintanumuintanumuintanum/时间显示函数P2=tableanum3;w1=1;delayms(;w1=0;P2=tableanum2;w2=1;delayms(。
7、include#defineucharunsignedchar#defineuintunsignedintsbitw1=P00;sbitw2=P01;sbitw3=P02;sbitw4=P03;sbitk1=P04;/定义按键sbitk2=P05;sbitk3=P06;sbitk4=P07;sbitfm=P34;ucharcodetable=0x3f,0x0x5b,0x4f,0x0x6d,0x7d,0x0x7f,0x6f;/0-9十六进制数共阴voidtimetune();/时间校正函数voiddelayms(uint);/延迟。
8、65536-/256;EA=1;/开总中断ET0=1;/开定时器0终中断TR0=1;/开定时器while(/中断后进入死循环时间永不停止计时timetune();/调用时间设置函数keyscan();/调用闹钟设置函数if(num0=num0=0;num+;if(num=num1+;num=0;if(num1=num2+;num1=0;if(num2=/和下面if必须分开,否则时间到24小时后不会清0继续走下去num3+;num2=0;if(num3=2&num2=/当时间走到24小时后自动清0num3=0;num2=0;nu。