1、- &nbs
2、p; -基于单片机数码管的电子钟郭天祥系列单片机1、功能说明1本电子钟可以显示当前时刻、年月日和闹钟时刻。不同时间的显示可以用key4来切换。 2、独立键盘key1-key4(左到右调节不同功能,7段数码管显示。 (3) 整点提示功能:当时间为整点时,蜂鸣器会滴滴滴响,响20秒; (4) 闹铃
3、功能:本程序有闹铃功能,当定时时间到时,闹铃会滴滴滴报警,报警30秒; 5附加功能:当在闹铃和整点时,8个发光二极管会闪亮; 6时、分、秒之间和年、月、日之间也是用“.分割。2、键盘控制1key1-键移动调整单位,每按一次移动一个单位,可调整时分秒、年月日和闹钟时间。比方:在显示时分秒时,按下key1键,可通过key2和key3对秒加减;再按一下key1,可对分加减;再按一下key1,可对时加减;再按key1,时间开场走动2key2-加1;key3-减1;3key4-键切换时分秒、年月日和闹铃时间的显示。比方:当前为时分秒,按一下key4
4、,那么显示年月;再按一下,那么显示闹铃时间;再按一下,那么显示时分秒时间。附录:C语言程序/设计工程:带闹铃的电子钟/功能: key1-键:开场/调时分秒/调年月日/调定时/ key2-键:加1/ key3-键:减1/ key4-键:切换页面#include#define uchar unsigned char#define uint unsigned intsbit dula=P26;sbit wela=P27;sbit key1=P34;sbit key
5、2=P35;sbit key3=P36;sbit key4=P37;sbit bear=P23;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar sec1,min1,hour1,year1,mon1,day1,temp1,temp2,sec2,min2,hour2;void keyscan();void display(uchar hour,uchar min,uchar sec);void delay(uint z)uint x,y;fo
6、r(x=0;x<z;x+)for(y=0;y<110;y+); void="" tmod="0X02;" th0="6;" tl0="6;" ea="1;" et0="1;" tr0="1;" hour1="=hour2&&min1=min2&&(sec1" min1="=0)min1=60;min1-;break;" sec1="=0)sec1=60;sec1-
7、;break;" year1="=0)year1=100;year1-;break;" mon1="=1)mon1=13;mon1-;break;" day1="=1)day1=31;day1-;break;" uchar="" s2="sec/10;" s1="sec%10;" m2="min/10;" m1="min%10;" h2="hour/10;" h1="hour%10;"
8、dula="0;" p0="0Xdf;" wela="1;" key1="=0)" temp1="0;" case="" key2="=0)" temp2="0;" sec2="=0)sec2=60;sec2-;break;" min2="=0)min2=60;min2-;break;" hour2="=0)hour2=24;hour2-;break;" key3="
9、=0)" key4="=0)" uint="">=sec2&&sec1<sec2+30)|(min1=0&&sec1<20)for(i=0;i<20;i+)bear=bear;P1=P1;switch(temp2)case 0:display(hour1,min1,sec1);break;case 1:display(year1,mon1,day1);break; case 2:display(hour2,min2,sec2);break;delay(30);be
10、ar=1;P1=0xff;void main()init();while(1) keyscan();if(key1=0 | key2=0 | key3=0 | key4=0 )Bear=0alarm();void time1()interrupt 1uint m;m+;if(m=3686)m=0; sec1+;if(sec1=60) sec1=0; min1+; if(min1=60)min1=0;hour1+; if(hour1=24) hour1=0; &n
11、bsp;day1+; if(day1=31) day1=1; mon1+;if(mon1=13)mon1=1;year1+;if(year1=100)year1=0; - - word.zl-