多功能六位电子钟说明书
闹钟功能说明文档
一、功能描述本工程包括矩阵键盘和数码管显示模块,共同实现一个带有闹钟功能、可以设置时间的数字时钟。
具体功能如下:1.数码管可以显示时十位、时个位、分十位、分个位、秒十位、秒个位。
2.上电后,数码管显示000000,并开始每秒计时。
3.按下按键0进入时间设置状态。
再按下按键0退出时间设置状态,继续计时。
4.在时间设置状态,通过按键1来选择设置的时间位,在0~5之间循环选择。
5.在时间设置状态,通过按键2来对当前选择的时间位进行加1。
6.在计时状态下,按下按键14,进入闹钟时间点设置状态。
再按下按健15,退出闹钟设置状态。
7.在闹钟设置状态,按下按键13选择设置的时间位,此时可以按下所需要的按键序号设置对应闹钟时间。
8.当前时间与所设置的时间点匹配上了,蜂鸣器响应5秒。
二、平台效果图三、实现过程首先根据所需要的功能,列出工程顶层的输入输出信号列表。
我们把工程分成四个模块,分别是数码管显示模块,矩阵键盘扫描模块,时钟计数模块,闹钟设定模块。
1.数码管显示模块本模块实现了将时钟数据或者闹钟数据显示到七段译码器上的功能。
七段译码器引脚图:根据七段译码器的型号共阴极或者共阳极,给予信号0或1点亮对应的led灯,一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选(a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。
显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。
数码管的8段,对应一个字节的8位,a对应最低位,dp 对应最高位。
所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即;共阳数码管的字符编码为11000000。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
6位LED显示单片机控制电子钟.doc
6位LED显示单片机控制电子钟/计数器这是我们设计的单片机电子钟/计时器学习板,它采用6位LED数码管显示时、分、秒,以24小时计时方式。
可以通过按键实现时分调整、秒表/时钟功能转换、省电(关闭显示)等功能。
我们能提供的完整的汇编语言源程序清单及电路原理设计图有助于学习者进行分析和进行实验验证6位LED显示单片机控制电子钟/计数器成品板成品每套84元51单片机做的电子钟在很多地方都有介绍,对于单片机学习者来说这个程序基本上是一道门槛,掌握了电子钟程序,基本上可以说51单片机就掌握了80%。
常见的电子钟程序由显示部分、计算部分、时钟调整部分构成,本产品硬件上完全支持倒计时器,客户只要自己修改程序就能实现倒计时功能。
为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。
由于静态显示法需要数据锁存器等硬件,接口复杂一些。
考虑时钟显示只有六位,且系统没有其它复杂的处理任务,所以决定采用动态扫描法实现LED的显示。
单片机采用易购的AT89S51系列,这样单片机可具有足够的空余硬件资源实现其它的扩充功能,硬件系统的总体构成如下图所示:该板采用AT89S51单片机,最小化应用设计,采用共阳七段LED显示器,P0口输出段码数据,P2.0~P2.5做列扫描输出,P1.0,P1.1,P1.2,接三个按键开关,用以调时及功能设置。
为了提高共阳数码管的驱动电压,用9012做电源驱动输出。
采用12M晶振,有利于提高秒计时的精度。
本设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。
其主程序执行流程图见下左图:数码管显示的数据存放在内存单元70H~75H中。
其中70H~71H存放秒数据,72H~73H存放分数据,74H~75H存放时数据,每一地址单元内均为十进制BCD码。
由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。
显示时,先取出70H~~75H某一地址中的数据,然后查得对应的显示用段码,并从P0口输出,P2口将对应的数码管选中供电,就能显示该地址单元的数据值。
利用51单片机制作六位的电子数字钟
利用51单片机制作六位的电子数字钟关键字:电子钟,数字钟,51单片机摘要:对于学习单片机而言这个程序是一道门槛,掌握了电子钟程序,基本上51单片机就掌握了80%。
常见的电子钟程序由显示部分,计算部分,时钟调整部分构成,这样程序就有了一定的长度和难度。
时钟的基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。
10秒位到5后,即59秒,分钟加1,10秒位回0。
依次类推,时钟最大的显示值为23小时59分59秒。
这里只要确定了1秒的定时时间,其他位均以此为基准往上累加。
开始程序定义了秒,十秒,分,十分,小时,十小时,共6位的寄存器,分别存在30h,31h,32h,33h,34h,35h单元,便于程序以后调用和理解。
电路原理图:为了节省硬件资源,电路部分采用6位共阳极动态扫描数码管,数码管的段位并联接在51单片机的p0口,控制位分别由6个2N5401的PNP三极管作驱动接在单片机的p2.1,p2.2,p2.3,p2.4,p2.5,p2.6口。
从标号star开始把这些位全部清除为0,从而保证了开始时显示时间为0时0分0秒。
然后是程序的计算部分:inc a_bit(秒位),这里用到了一个inc指令,意思是加1,程序运行到这里自动加1。
然后把加1后的数据送acc:mov a,a_bit (秒位),这时出现了一个问题,如果不断往上加数字不会加爆?所以有了下面的一句话cjne a,#10,stlop; 如果秒位到10那么转到10秒处理程序。
cjne是比较的意思,比较如果a等于10 就转移到10秒处理程序,实际上也就限定了在这里a的值最大只能为9,同时mov a_bit,#00h,这时a_bit(秒位)被强行清空为0,又开始下一轮的计数。
秒位处理完了到下面10秒的处理程序:inc b_bit,把10秒位b_bit加1,由于程序开始对各位的寄存器已经清0,这时10秒位就变成1 ,然后同样送到累加器ACC:mov a,b_bit 现在开始新一轮的10秒位计数cjne a,#6,stlop 如果10秒到了6那么到分位处理程序。
AT89C2051的6位电子钟
AT89C2051的6位电子钟采用AT89C2051的6位电子钟原理如下图所示,只要硬件连接无误,保证成功。
另外图中的SET按纽用于校准时间。
按住2秒以上进入校准时间状态及换档和退出,快速点触用于调节时间数值。
三极管采用9015即可。
数码管最好采用红色的共阳型LE D数码管,亮度高些,因为是扫描的显示方式,所以各个数码管的abcdefg各脚采用了总线并联,改动510欧姆的电阻可以改变显示亮度。
电子钟原理图共阳数码管的管脚排列方式电子钟源程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AT89C2051时钟程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 定时器T0、T1溢出周期为50MS,T0为秒计数用, T1为调整时闪烁用,; P3.7为调整按钮,P1口为字符输出口,采用共阳显示管。
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 中断入口程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ORG 0000H ;程序执行开始地址LJMP START ;跳到标号START执行ORG 0003H ;外中断0中断程序入口RETI ;外中断0中断返回ORG 000BH ;定时器T0中断程序入口LJMP INTT0 ;跳至INTTO执行ORG 0013H ;外中断1中断程序入口RETI ;外中断1中断返回ORG 001BH ;定时器T1中断程序入口LJMP INTT1 ;跳至INTT1执行ORG 0023H ;串行中断程序入口地址RETI ;串行中断程序返回; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 主程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;START: MOV R0,#70H ;清70H-7AH共11个内存单元MOV R7,#0BH ;CLEARDISP: MOV @R0,#00H ;INC R0 ;DJNZ R7,CLEARDISP ;MOV 20H,#00H ;清20H(标志用)MOV 7AH,#0AH ;放入"熄灭符"数据MOV TMOD,#11H ;设T0、T1为16位定时器MOV TL0,#0B0H ;50MS定时初值(T0计时用)MOV TH0,#3CH ;50MS定时初值MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)MOV TH1,#3CH ;50MS定时初值SETB EA ;总中断开放SETB ET0 ;允许T0中断SETB TR0 ;开启T0定时器MOV R4,#14H ;1秒定时用初值(50MS×20)START1: LCALL DISPLAY ;调用显示子程序JNB P3.7,SETMM1 ;P3.7口为0时转时间调整程序SJMP START1 ;P3.7口为1时跳回START1 SETMM1: LJMP SETMM ;转到时间调整程序SETMM; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 1秒计时程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;T0中断服务程序INTT0: PUSH ACC ;累加器入栈保护PUSH PSW ;状态字入栈保护CLR ET0 ;关T0中断允许CLR TR0 ;关闭定时器T0MOV A,#0B7H ;中断响应时间同步修正ADD A,TL0 ;低8位初值修正MOV TL0,A ;重装初值(低8位修正值)MOV A,#3CH ;高8位初值修正ADDC A,TH0 ;MOV TH0,A ;重装初值(高8位修正值)SETB TR0 ;开启定时器T0DJNZ R4, OUTT0 ;20次中断未到中断退出ADDSS: MOV R4,#14H ;20次中断到(1秒)重赋初值MOV R0,#71H ;指向秒计时单元(71H-72H)ACALL ADD1 ;调用加1程序(加1秒操作)MOV A,R3 ;秒数据放入A(R3为2位十进制数组合)CLR C ;清进位标志CJNE A,#60H,ADDMM ;ADDMM: JC OUTT0 ;小于60秒时中断退出ACALL CLR0 ;大于或等于60秒时对秒计时单元清0MOV R0,#77H ;指向分计时单元(76H-77H)ACALL ADD1 ;分计时单元加1分钟MOV A,R3 ;分数据放入ACLR C ;清进位标志CJNE A,#60H,ADDHH ;ADDHH: JC OUTT0 ;小于60分时中断退出ACALL CLR0 ;大于或等于60分时分计时单元清0MOV R0,#79H ;指向小时计时单元(78H-79H)ACALL ADD1 ;小时计时单元加1小时MOV A,R3 ;时数据放入ACLR C ;清进位标志CJNE A,#24H,HOUR ;HOUR: JC OUTT0 ;小于24小时中断退出ACALL CLR0 ;大于或等于24小时小时计时单元清0OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移MOV 73H,77H ;入对应显示单元MOV 74H,78H ;MOV 75H,79H ;POP PSW ;恢复状态字(出栈)POP ACC ;恢复累加器SETB ET0 ;开放T0中断RETI ;中断返回; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 闪动调时程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;T1中断服务程序,用作时间调整时调整单元闪烁指示INTT1: PUSH ACC ;中断现场保护PUSH PSW ;MOV TL1, #0B0H ;装定时器T1定时初值MOV TH1, #3CH ;DJNZ R2,INTT1OUT ;0.3秒未到退出中断(50MS中断6次)MOV R2,#06H ;重装0.3秒定时用初值CPL 02H ;0.3秒定时到对闪烁标志取反JB 02H,FLASH1 ;02H位为1时显示单元"熄灭"MOV 72H,76H ;02H位为0时正常显示MOV 73H,77H ;MOV 74H,78H ;MOV 75H,79H ;INTT1OUT: POP PSW ;恢复现场POP ACC ;RETI ;中断退出FLASH1: JB 01H,FLASH2 ;01H位为1时,转小时熄灭控制MOV 72H,7AH ;01H位为0时,"熄灭符"数据放入分MOV 73H,7AH ;显示单元(72H-73H),将不显示分数据MOV 74H,78H ;MOV 75H,79H ;AJMP INTT1OUT ;转中断退出FLASH2: MOV 72H,76H ;01H位为1时,"熄灭符"数据放入小时MOV 73H,77H ;显示单元(74H-75H),小时数据将不显示MOV 74H,7AH ;MOV 75H,7AH ;AJMP INTT1OUT ;转中断退出; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 加1子程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ADD1: MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高四位与低四位交换ORL A,@R0 ;前一地址中数据放入A中低四位ADD A,#01H ;A加1操作DA A ;十进制调整MOV R3,A ;移入R3寄存器ANL A,#0FH ;高四位变0MOV @R0,A ;放回前一地址单元MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高四位与低四位交换ANL A,#0FH ;高四位变0MOV @R0,A ;数据放入当削地址单元中RET ;子程序返回; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 清零程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;对计时单元复零用CLR0: CLR A ;清累加器MOV @R0,A ;清当前地址单元DEC R0 ;指向前一地址MOV @R0,A ;前一地址单元清0RET ;子程序返回; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 时钟调整程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;当调时按键按下时进入此程序SETMM: cLR ET0 ;关定时器T0中断CLR TR0 ;关闭定时器T0LCALL DL1S ;调用1秒延时程序JB P3.7,CLOSEDIS ;键按下时间小于1秒,关闭显示(省电)MOV R2,#06H ;进入调时状态,赋闪烁定时初值SETB ET1 ;允许T1中断SETB TR1 ;开启定时器T1SET2: JNB P3.7,SET1 ;P3.7口为0(键未释放),等待SETB 00H ;键释放,分调整闪烁标志置1SET4: JB P3.7,SET3 ;等待键按下LCALL DL05S ;有键按下,延时0.5秒JNB P3.7,SETHH ;按下时间大于0.5秒转调小时状态MOV R0,#77H ;按下时间小于0.5秒加1分钟操作LCALL ADD1 ;调用加1子程序MOV A,R3 ;取调整单元数据CLR C ;清进位标志CJNE A,#60H,HHH ;调整单元数据与60比较HHH: JC SET4 ;调整单元数据小于60转SET4循环LCALL CLR0 ;调整单元数据大于或等于60时清0CLR C ;清进位标志AJMP SET4 ;跳转到SET4循环CLOSEDIS: SETB ET0 ;省电(LED不显示)状态。
多功能数字钟说明书
图6主程序流程图
6.2电路调试
6.2.1焊接调试过程
在焊接之前,先要对构成系统的所有元器件总体布局,这方便后面的硬件电路的调试。
首先,按照上课时的要求,焊接单片机的最小系统,包括单片机底座部分、电源部分、晶振、复位部分以及一个发光二极管。
电源部分:使用5V直流电源变压器的接口,插孔最后面的一个引脚为电源正极,其他两个引脚为接地。电源要经过一个可以锁定的开关,因为开关是六个引脚的,为了搞清哪两个引脚可以使用,分别在按下和松开的情况下,我用万用表测试了引脚之间的通断情况。后来经过检测找到其中一对引脚在按下通,松开时断,所以使用此两个引脚。因为整个电路图中有较多部分都要用到接地和接电源,所以为了方便焊接,将电源和地线分别连接至万用板的外围上。这样方便检查错误,接线时要规范,黑线表示接地,红线表示接电源。电源焊完之后,按下开关电源指示灯可以正常地发光。
五、系统硬件设计
5.1 51单片机最小系统设计
单片机最小系统如下图所示
以STC89C51单片机为核心,选用12MHZ的晶振,由于晶振的频率越高,单片机的运行速度就越快,但考虑到单片机的运行速度快会导致对存储器的要求就会变高,因此12MHZ晶振为最佳选择。外接电容的值虽然没有严格的要求,但是外接电容的大小会影响振荡器的频率高低、振荡器的稳定性和起振的快速性,因此我们选用30pF的电容作为起振电容。复位电路为按键高电平复位,当按键按下,RES端为高电平,当高电平持续4us的时间就可以使单片机复位。
6位单片机电子钟
《6位单片机电子钟》一.硬件电路设计:我们此次设计的电子钟采用2个3位共阳LED数码管作为显示器件,以STC89C52单片机作为控制器,可以显示时分秒。
具体电路设计如下图:二:源程序:#include "at89x52.h"#define uchar unsigned char#define uint unsigned intuchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};uchar code tab1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x42,0x78,0x00,0x10};uchar n;uchar hh,mm,ss;uchar nhh,nmm,nss;uint year;uchar day,mon,week;uchar hhs,hhg,mms,mmg,sss,ssg;uchar days,dayg,mons,mong;uchar nhhs,nhhg,nmms,nmmg,nsss,nssg;uchar set1=1,set2=1;sbit fm=P3^6;sbit k1=P1^0;sbit k2=P1^1;sbit k3=P1^2;sbit k4=P1^3;uchar table1[]={31,31,29,31,30,31,30,31,31,30,31,30,31}; //闰年uchar table2[]={31,31,28,31,30,31,30,31,31,30,31,30,31}; //非闰年void jishi();void baoshi();void alarm();void set_time();void set_alarm();void set_mdw();void key_change();void key_set();void delay(int m) //延时程序,延时m*0.5ms{uint i;uint j;for (i=0;i<m;i++){for(j=0;j<50;j++);}}void timer0( ) interrupt 1{TMOD=0x01;TH0=0x3c;TL0=0xb1;n++;jishi();}main(){TMOD=0x01;TH0=0x3c;TL0=0xb1;TR0=1;EA=1;ET0=1;hh=23;mm=59;ss=50;nhh=7;nmm=30;nss=0;year=2008;mon=12;day=1;week=1;while(1){hhs=hh/10;//时分秒hhg=hh%10;mms=mm/10;mmg=mm%10;sss=ss/10;ssg=ss%10;nhhs=nhh/10;//闹钟nhhg=nhh%10;nmms=nmm/10;nmmg=nmm%10;nsss=nss/10;nssg=nss%10;days=day/10;//月日dayg=day%10;mons=mon/10;mong=mon%10;key_change(); //k1按键扫描key_set(); //k2按键扫描set_time(); //设置时间set_mdw(); //设置月日星期set_alarm(); //设置闹钟if(set1==1) //正常走时显示{P0=tab[hhs];P2_5=0;delay(1);P2_5=1;//时十位P0=tab1[hhg];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[mms];P2_3=0;delay(1);P2_3=1;//分十位P0=tab1[mmg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[sss];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[ssg];P2_0=0;delay(1);P2_0=1;//秒个位}if(set1==2) //设置时间{P0=tab[hhs];P2_5=0;delay(1);P2_5=1;//时十位P0=tab1[hhg];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[mms];P2_3=0;delay(1);P2_3=1;//分十位P0=tab1[mmg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[sss];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[ssg];P2_0=0;delay(1);P2_0=1;//秒个位}if(set1==3) //正常显示月日-星期{P0=tab[mons];P2_5=0;delay(1);P2_5=1;//时十位P0=tab1[mong];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[days];P2_3=0;delay(1);P2_3=1;//分十位P0=tab1[dayg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[11];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[week];P2_0=0;delay(1);P2_0=1;//秒个位}if(set1==4) //设置月日-星期{P0=tab[mons];P2_5=0;delay(1);P2_5=1;//时十位P0=tab[mong];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[days];P2_3=0;delay(1);P2_3=1;//分十位P0=tab[dayg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[11];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[week];P2_0=0;delay(1);P2_0=1;//秒个位}if(set1==5) //正常显示定时{P0=tab[nhhs];P2_5=0;delay(1);P2_5=1;//时十位P0=tab[nhhg];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[nmms];P2_3=0;delay(1);P2_3=1;//分十位P0=tab[nmmg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[nsss];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[nssg];P2_0=0;delay(1);P2_0=01;//秒个位}if(set1==6) //设置闹钟定时{P0=tab[nhhs];P2_5=0;delay(1);P2_5=1;//时十位P0=tab[nhhg];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[nmms];P2_3=0;delay(1);P2_3=1;//分十位P0=tab[nmmg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[nsss];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[nssg];P2_0=0;delay(1);P2_0=01;//秒个位}baoshi(); //整点报时alarm(); //闹钟}}void jishi() //计时函数{if(n==20){n=0;ss++;if(ss==60){ss=0;mm++;if(mm==60){mm=0;hh++;if(hh==24){hh=0;day++;week++;if(week==8){week=0;}if(year%4==0&&year%100!=0||year%400==0) //闰年{if(day==table1[mon]+1){day=0;mon++;if(mon==13){mon=0;year++;}}}else //非闰年{if(day==table2[mon]+1){day=0;mon++;if(mon==13){mon=0;year++;}}}}}}}}uchar incone(uchar n) //加1函数{if(k3==0){delay(20);if(k3==0){n++;while(!k3);}}return(n);}uchar decone(uchar m) //减1函数{if(k4==0){delay(20);if(k4==0){m--;while(!k4);if(m<0){m=0;}}}return(m);}void key_change() //k1按键扫描{if(k1==0){delay(20);if(k1==0){set1++;while(!k1);if(set1==7){set1=1;}}}}void key_set() //k2按键扫描{if(k2==0){delay(20);if(k2==0){set2++;while(!k2);if(set2==4){set2=1;}}}}void baoshi() //整点报时函数{if(mm==00&&ss==00){fm=0;}if(ss==1){fm=1;}}void alarm( ) //闹钟函数{uchar x;if(nhh==0){goto end;}if(hh==nhh&&mm==nmm&&ss==nss) {for(x=0;x<6;x++){fm=0;delay(30);fm=1;delay(20);fm=0;delay(30);fm=1;delay(20);fm=0;delay(30);fm=1;delay(20);fm=0;delay(30);fm=1;delay(180);}}end:;}void set_time() //设置时间函数{if(set1==2){if(set2==1){hh=incone(hh);if(hh==24){hh=0;}if(hh==-1){hh=23;}hh=decone(hh);}if(set2==2){mm=incone(mm);if(mm==60){mm=0;}if(mm==-1){mm=59;}mm=decone(mm);}if(set2==3){ss=incone(ss);if(ss==60){ss=0;}if(ss==-1){ss=59;}ss=decone(ss);}}}void set_mdw() //设置月日星期函数{if(set1==4){if(set2==1){mon=incone(mon);if(mon==13){mon=1;}mon=decone(mon);if(mon==0){mon=12;}}if(set2==2){day=incone(day);if(day==32){day=1;}day=decone(day);if(day==0){day=31;}}if(set2==3){week=incone(week);if(week==8){week=1;}week=decone(week);if(week==0){week=7;}}}}void set_alarm() //设置闹钟函数{if(set1==6){if(set2==1){nhh=incone(nhh);if(nhh==24){nhh=0;}if(nhh==-1){nhh=23;}nhh=decone(nhh);}if(set2==2){nmm=incone(nmm);if(nmm==60){nmm=0;}nmm=decone(nmm);if(nmm==-1){nmm=59;}}if(set2==3){nss=incone(nss);if(nss==60){nss=0;}nss=decone(nss);if(nss==-1){nss=59;}}}}合作者:吴肖,陈耀,张鹏程,徐煜。
多功能数字钟的设计说明
《电子工艺实习》课程设计题目:多功能数字钟设计院别:机电学院专业:机械电子工程姓名:学号:同组人员:指导教师:日期:2011.6.20~2011.7.1多功能数字钟的设计摘要数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,并且可以实现更多的功能,如:定时控制、整点报时、闹钟、触摸报整点时数等,在现实生活中,各种数字钟已得到了非常广泛的使用。
数字钟的设计方法有许多种,例如,可用基于NE555的中小规模集成电路组成数字钟,也还可以利用单片机来实现数字钟等。
这些方法都各有其特点,其中利用中小规模集成电路组建数字钟,原理简单,但由于集成电路集成度有限,对于需要实现较多功能的电路设计比较复杂,对于制作者焊接和布线有较高的要求。
用单片机实现的电子钟具有结构简单,并便于功能的扩展,但需要涉及到汇编以及C语言编写程序,对设计者有较高的要求。
本次设计为用中小规模集成电路组成数字钟。
关键词:数字钟;单片机;集成电路;NE555目录1. 设计要求 (1)2.电路的设计 (2)2.1主体电路的设计 (2)2.1.1秒脉冲电路的设计 (2)2.1.2时分秒计数器的设计 (3)2.1.3 译码与显示电路的设计 (5)2.1.4校时电路的设计 (8)2.1.5整点报时电路的设计 (9)2.2整体电路的设计 (11)3.电路功能测试以及常见问题解决本法 (12)3.1Proteus软件介绍 (12)3.2电路功能测试 (13)4、设计总结 (14)5.元件清单 (15)6.参考文献 (15)1. 设计要求1、设计一台能显示日、时、分秒的数字电子钟,要求用六位数码管显示时间,格式为00:00:00。
2、手动校正功能:能分别进行分、时的校正。
3、整点报时功能。
整点报时电路要求在每个整点鸣叫。
根据设计要求,可建立数字钟系统组成框图,如图2-1所示,数字中电路系统由主体电路和扩展电路两大部分组成,其中,主体电路完成数字钟的基本计数功能,扩展电路完成数字钟的整点报时扩展功能。
电子表电子钟说明书
For personal use only in study and research; not for commercial use电子钟说明书主要功能日期、时间、温度切换显示;12小时或24小时制式选择;定时响闹功能;摄氏或华氏可选温度显示;七彩渐变背光欣赏;2000年至2099年年历查询。
产品图示:Back light—彩灯开关;3个状态,TR—自动;OFF—关闭;ON—开启;Return to time—时间返回开关;2个状态,OFF—关闭;ON—开启;RESET—重置键;M—Mode模式;S—Set设置;▲,上调;▼—下调使用说明一、电池安装打开电池盒,按电池盒内极性标志,装入三节“AAA”7号电池,如电池安装正确,产品将自动检测,显示屏自动全显示瞬间后,恢复到初试时间,2006年1月1日12点整,初始温度25℃,同时发出“BiBi,哔哔”的声。
否则重新安装电池。
二、查询、设置功能1.在正常时间显示状态下,且彩灯开关拨到“ON”或“OFF”时,连续按“M”键或轻触显示屏,显示屏按以下模式循环:TIME→TEMPERATURE→DATE→AL→TIMER,意思为时间→温度→日期→闹铃→定时器2.在正常时间显示状态下,且彩灯开关拨到“TR”时,首次按“M”键或轻触显示屏,彩灯亮、显示保持时间显示界面,再连续按“M”键或轻触显示屏,显示屏按以下模式循环:TIME→TEMPERATURE→DATE→AL→TIMER,意思为时间→温度→日期→闹铃→定时器3.在查询状态下,长按“S”键3秒,进入该项设置状态,按“▲”或“▼”键可对闪烁项进行调整。
设置完毕按“S”键,保存退出该项设置。
如再长按“S”键3秒,可循环设置该项功能。
4.在设置状态无按键动作,且时间返回开关拨到“ON”,显示10秒后,自动恢复正常时间显示状态。
5.在设定状态下,按住“▲”或“▼”键超过3秒,进入快速设置。
三、时间设置1.在正常时间显示模式下,按“S”键选择12小时制或24小时制显示模式。
多功能电子时钟说明文档
Delay_Nms(1); Week = RandomRead_I2C(0x08); Delay_Nms(1); //Init_Time();
//主循环 while(1) {
WDTRST=0x3c; //由于在按键调节 分钟 的时候要停定时器 2,这时不能在定时 器喂狗,故到主程序里喂狗;
SpitTime(); //拆分时间数据
四、硬件电路图
VCC
+
89S52
VCC P 1
S22
41
R1 6
32
4 P INKE Y 1 K
C J3 R1 7
1 0 UF
10K
C2 20P
Y2
1 1 .0 5 9 2 M Hz
C3 20P
D B 11 D B 22 D B 33 D B 44 D B 55 D B 66 D B 77 D B 88
1 2 3 4 5 6 7 8 9
VCC 1 0 K
F M VCC
DIOL A
R 1 8 1 8b 1 8 B2 0 S CL S DA
c
e
Q1 P NP
89S51
VCC
WR
RD
R2 2 R2 3
10K 10K
V SS 4
U6
1 2 3
A0 A1 A2
S D5A S C6L
7
S DA S CL WP
Init_MCU(); //初始化 MCU Init_I2C(); //初始化 I2C Init_LCD(); //初始化 LCD1602 Init_Time(); //先初始化时间和先读 I2C 有区别。先初始化时间:以后开机的时间是从 I2C 读出,初始化失效。
多功能六位电子钟
多功能六位电子钟引言:随着科技的不断发展,人们对于电子产品的需求越来越高。
电子钟作为一种实用的日常物品,也在不断创新与进步。
本文将介绍一款多功能六位电子钟,其拥有多种实用功能,方便人们的生活。
一、外观设计这款多功能六位电子钟采用简约现代的外观设计,外壳采用高质量的塑料材料制作,兼具耐用性和美观度。
时钟采用LED显示屏幕,显示数字清晰可见,不受光线影响。
二、时间显示功能这款电子钟可以准确显示时分秒,并且可以通过设置进行闹钟和倒计时功能。
用户可以根据个人需求设置多个闹钟,并选择不同的铃声。
倒计时功能可以帮助人们掌握时间,并提醒完成项任务。
三、温度与湿度显示功能除了时间显示功能,这款电子钟还可以显示当前的室内温度和湿度。
这个功能对于需要具备监测环境的场合非常有用,比如办公室、仓库、实验室等。
用户可以通过设定阈值,在温度或湿度超出设定值时,电子钟会自动发出警报。
四、日历功能这款电子钟还具有日历功能,可以显示日期和星期几。
对于需要日程管理的人来说,这个功能非常实用。
用户可以通过设定提醒功能,将重要的事项输入到电子钟中,提醒自己及时处理。
五、倒计时器功能这款电子钟还可以设置倒计时器功能,能够帮助人们进行倒计时计算。
无论是烹饪、运动、学习还是工作等,倒计时器都能够提醒使用者保持高效的时间管理。
六、背光功能为了满足不同使用环境下的需求,这款电子钟还具备背光功能。
当光线不足时,用户可以通过按下背光按键,点亮背光,方便夜间使用。
七、便携性这款电子钟尺寸适中,便于携带。
无论是旅行还是外出办公,用户都可以随身携带这款电子钟。
八、电源和节能功能这款电子钟可以使用电池或者插电两种方式供电。
同时,它还具有节能功能,当电池电量不足时,电子钟会自动进入低功耗模式,延长电池寿命。
结论:这款多功能六位电子钟集时钟、温度、湿度、日历、倒计时器和背光功能于一体,方便人们的生活。
它的外观时尚,功能丰富,便携易用。
无论是在家庭、办公室还是旅行中,都能够派上用场。
电子钟说明书
数字电子钟说明书姓名:杨华碧学号:1010401024指导老师:赖友源时间:2011年12月7日星期三数字电子钟说明书一、电子钟功能介绍可调整运行的电子钟具有三种工作状态:“P.”状态、运行状态、调整状态。
(1)、“P.”状态,依靠上电或者复位键进入,在此状态下,按B 、C 、D 键均无效,按A 键有效,进入运行状态;(2)、运行状态,按奇数次A 键进入,在此状态下,按B 、C 、D 键均无效,只有按A 键有效,按下A 键后,退出运行状态,进入调整状态;(3)、调整状态,按偶数次A 键进入,在此状态下,按B 、C 、D 键均有效,如按下A 键,则推出调整状态,进入运行状态;B 、C 、D 分别为调时、分、秒,分别使之加1;调整后,按A 键退出调整状态。
二、实现时钟计时的基本方法(1)计数初值计算:把定时器设为工作方式1,定时时间为50ms ,则计数溢出20次即得时钟计时最小单位秒。
假设使用T/CO,方式1,50ms 定时,fosc=12MHz 。
则初值X 满足us us MHz X 5000012*121*)2(16=- H CB X 03110000001111001015536→→=(2)采用中断方式进行溢出次数累计,计满20次为秒计时(1秒); (3)从秒到分和从分到时是通过累计加和数值比较实现。
三、电子钟的时间显示电子钟的时钟时间在六位数码管上显示,因此,在内部RAM 中设置显示缓冲区共8个单元。
四、电子钟的启、停及时间调整电子钟设置4个按键,通过程序控制来完成电子钟的启、停及时间调整。
A键控制电子钟的启、停;B键调整时;B键调整分;B键调整秒。
五、电子钟电路仿真图:六、电子钟元件清单:七、电子钟程序流程框图1、主程序流程图:2、按键子程序流程图3、中断服务子程序流程图4、显示子程序流程图八、电子钟程序清单#include<reg52.h>unsigned int start;unsigned int count=0;unsigned char fg;unsigned char c[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char sec,min,hour;sbit sec1=P2^7;sbit sec2=P2^6;sbit min1=P2^4;sbit min2=P2^3;sbit hour1=P2^1;sbit hour2=P2^0;sbit a=P2^5;sbit b=P2^2;sbit key_A=P1^0;sbit key_B=P1^1;sbit key_C=P1^2;sbit key_D=P1^3;void delay(unsigned int t){for(t;t>0;t--);}void display(){P2=0xff;P0= c[sec%10];sec1=0;delay(15);sec1=1;P0=c[sec/10];sec2=0;delay(15);sec2=1;P0=c[min%10];min1=0;delay(15);min1=1;P0=c[min/10]; min2=0;delay(15);min2=1;P0=c[hour%10]; hour1=0;delay(15);hour1=1;P0=c[hour/10]; hour2=0;delay(15);hour2=1;P0=0x40;a=0;delay(10);a=1;P0=0x40;b=0;delay(10);b=1;}void Intl(){unsigned char ts;P0=0xf3;P2=0xfe;for(ts=0;ts<12;ts++)delay(9999);sec=0,min=0,hour=0; }void keyA(){if(key_A==0){display();delay(30);if(key_A==1){if(TR0==1)TR0=0;else TR0=1;}}}void keyB(){if(key_B==0){display();if(key_B==1)sec++;}}void keyC(){if(key_C==0){display();if(key_C==1)min++;}}void keyD(){if(key_D==0){display();if(key_D==1)hour++;}}main(){P1=0xff;Intl();while(key_A);while(!key_A);TMOD=0x01;//定时器0工作方式1//EA=1; //开CPU中断//ET0=1; //开定时器0中断//TR0=1; //启动定时器// while(1){display();keyA();while(!TR0){display();keyA();keyB();keyC();keyD();}}}void tim0() interrupt 1{TH0=(65536-49993)/256;TL0=(65536-49993)%256;count++;if(count>=20){count=0;sec++;if(sec>=60){sec=0;min++;if(min>=60){min=0;hour++;if(hour>=24){hour=0;}}}}}九、程序不足与分析1不足:有时差产生;原因:在执行中断服务时,需要一定的时间,其长度难以测量准确。
电子闹钟说明书
本电子闹钟的设计是以单片机技术为核心,采用了小规模集成度的单片机制作的功能相对完善的电子闹钟。
硬件设计应用了成熟的数字钟电路的基本设计方法,并详细介绍了系统的工作原理。
硬件电路中除了使用AT89C51外,另外还有晶振、电阻、电容、发光二极管、开关、喇叭等元件。
在硬件电路的基础上,软件设计按照系统设计功能的要求,运用所学的汇编语言,实现的功能包括‘时时-分分-秒秒’显示,设定和修改定时时间的小时和分钟、校正时钟时间的小时、分钟和秒、定时时间到能发出一分钟的报警声。
一芯片介绍AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,外形及引脚排列如图1-1所示。
图1-1 AT89C51引脚图74LS573 的八个锁存器都是透明的D 型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。
当使能为低时,输出将锁存在已建立的数据电平上。
输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。
这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。
特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。
外形及引脚排列如图1-2所示。
图1-2 74LS573引脚图二硬件电路设计1 时钟电路设计AT89C51系列的单片机的时钟方式分为内部方式和外部方式。
内部方式就是在单片机的XTAL1和XTAL2的两引脚外接晶振,就构成了自己振荡器在单片机内部产生时钟脉冲信号。
多功能6位电子钟说明书
多功能6位电子钟说明书一、原理说明:1、显示原理:显示部分主要器件为2位共阳红色数码管,驱动采用PNP型三极管驱动,各端口配有限流电阻,驱动方式为扫描,占用P1.0~P1.6端口。
冒号部分采用4个Φ3.0的红色发光,驱动方式为独立端口驱动,占用P1.7端口。
2、键盘原理:按键S1~S3采用复用的方式与显示部分的P3.5、P3.4、P3.2口复用。
其工作方式为,在相应端口输出高电平时读取按键的状态并由单片机支除抖动并赋予相应的键值。
3、迅响电路及输入、输出电路原理:迅响电路由有源蜂鸣器和PNP型三极管组成。
其工作原理是当PNP型三极管导通后有源蜂鸣器立即发出定频声响。
驱动方式为独立端口驱动,占用P3.7端口。
输出电路是与迅响电路复合作用的,其电路结构为有源蜂鸣器,4.7K定值电阻R16,排针J3并联。
当有源蜂鸣器无迅响时J3输出低电平,当有源蜂鸣器发出声响时J3输出高电平,J3可接入数字电路等各种需要。
驱动方式为迅响复合输出,不占端口。
输入电路是与迅响电路复合作用的,其电路结构是在迅响电路的PNP型三极管的基极电路中接入排针J2。
引脚排针可改变单片机I/O口的电平状态,从而达到输入的目的。
驱动方式为复合端口驱动,占用P3.7端口。
4、单片机系统:本产品采用AT89C2051为核心器件(AT89C2051烧写程序必须借助专用编程器,我们提供的单片机已经写入程序),并配合所有的必须的电路,只具有上电复位的功能,无手动复位功能。
二、使用说明:1、功能按键说明: S1为功能选择按键,S2为功能扩展按键,S3为数值加一按键。
2、功能及操作说明:操作时,连续短时间(小于1秒)按动S1,即可在以上的6个功能中连续循环。
中途如果长按(大于2秒)S1,则立即回到时钟功能的状态。
1、时钟功能:上电后即显示10:10:00 ,寓意十全十美。
2、校时功能:短按一次S1,即当前时间和冒号为闪烁状态,按动S2则小时位加1,按动S3则分钟位加1,秒时不可调。
【设计】六位数码管电子钟
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 【关键字】设计毕业设计(论文)(2011届)题目六位数码管电子钟系别信息电子系专业信息电子工程管理班级信电0811姓名张淑娇指导教师2011年月日目录摘要 (1)文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 4六位数码管电子钟【摘要】数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能。
因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。
干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用24进制计时器,可实现对一天24小时的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过七位LED七段显示器显示出来。
整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。
校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的。
数字钟是以不同的计数器为基本单元构成的,它的用途十分广泛,只要有计时、计数的存在,便要用到数字钟的原理及结构;同时在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱。
【关键词】:校时电路、报时电路、振荡器第一章数字电子钟的设计方案论证1.1数字电子钟的应用意义数字电子钟是用数字电路实现“时”、“分”、“秒”数字显示的计时装置,主要由振荡器、分频器、计数器、译码显示器、校时电路、报时电路等六部分组成。
多功能数字时钟
一、实验任务及要求1.能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时、60分钟、60秒钟的计数器显示。
2.能进行闹钟的时、分、秒的设置,分别由6个数码管显示24小时、60分钟、60秒钟的闹钟显示。
3.当“mode”为“1”时,6个数码管显示显示正常计时状态,当“mode”为“0”时,6个数码管显示显示闹钟状态。
4.能利用实验系统上的按键实现计时状态下的“校时”与“校分”功能:(1)当“set_hour”为“1”时,每次按动“k_hour”键一次,“小时”+1,若一秒内未按动“k_hour”键则小时以4Hz的频率递增计数,并按24小时循环,计满23小时后在回00;(2)当“set_minute”为“1”时,每次按动“k_minute”键一次,“分钟”+1,若一秒内未按动“k_minute”键则分钟以4Hz的频率递增计数,并按60分钟循环,计满分钟后回00;(3)按下“reset”键时,“小时”,“分钟”,“秒”清零;5.能用实验系统上的按键实现闹钟下的“校时”与“校分”功能:(4)当“set_hour_alarm每次按动“k_hour_alarm”键一次,“小时”+1,若一秒内未按动“k_hour_alarm”键则小时以4Hz的频率递增计数,并按24小时循环,计满23小时后在回00;(5)当“set_minute_alarm”为“1”时,每次按动“k_minute_alarm”键一次,“分钟”+1,若一秒内未按动“k_minute_alarm”键则分钟以4Hz的频率递增计数,并按60分钟循环,计满分钟后回00;6.能利用蜂鸣器做整点报时:(1)当计时到达59’50’’时开始报时,在59’51’’、53’’、55’’、57’’鸣叫,鸣叫频率可为512Hz;(2)到达59’59’’时发频率为1024Hz的高音,结束时为整点。
7.能利用蜂鸣器做闹钟报时:当闹钟定时时间到时,蜂鸣器发出周期为1s的滴、滴声,持续时间为10s;8.用层次化设计方法设计该电路,用VHDL语言编写各个功能模块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多功能六位电子钟说明书
一、原理说明:
1、显示原理:
显示部分主要器件为3只两位一体共阳极数码管,驱动采用 PNP 型三极管驱动,各端口配有限流电阻,驱动方式为动态扫描,占用 P3.0~P3.5 端口,段码由P1.0~P1.6输出。
冒号部分采用 4 个Φ3.0的红色发光二极管,驱动方式为独立端口P1.7驱动。
2、键盘原理:
按键 S1~S3 采用复用的方式与显示部分的 P3.5、P3.4、P3.2 口复用。
其工作方式为,在相应端口输出高电平时读取按键的状态并由单片机消除抖动并赋予相应的键值。
3、迅响电路及输入、输出电路原理:
迅响电路由有源蜂鸣器和 PNP 型三极管组成。
其工作原理是当 PNP 型三极管导通后有源蜂鸣器立即发出定频声响。
驱动方式为独立端口驱动,占用P3.7端口。
输出电路是与迅响电路复合作用的,其电路结构为有源蜂鸣器,5.1K定值电阻R6,排针J3并联。
当有源蜂鸣器无迅响时J3输出低电平,当有源蜂鸣器发出声响时J3输出高电平,J3可接入数字电路等各种需要。
驱动方式为迅响复合输出,不占端口。
输入电路是与迅响电路复合作用的,其电路结构是在迅响电路的 PNP 型三极管的基极电路中接入排针J2。
引脚排针可改变单片机I/O口的电平状态,从而达到输入的目的。
驱动方式为复合端口驱动,占用P3.7端口。
4、单片机系统:
本产品采用了单片机AT89C2051为核心器件,并配合所有的外围电路,具有上电复位的功能,无手动复位功能。
二、使用说明:
1、功能按键说明:
S1为功能选择按键,S2为功能扩展按键,S3为数值加一按键。
2、功能及操作说明:
操作时,连续短时间(小于1秒)按动S1,即可在以上的6个功能中连续循环。
中途如果长按(大于2秒)S1,则立即回到时钟功能的状态。
1)时钟功能:上电后即显示10:10:00 ,寓意十全十美。
2)校时功能:短按一次 S1,即当前时间和冒号为闪烁状态,按动 S2 则小时位加 1,按动 S3则分钟位加1,秒时不可调。
3)闹钟功能:短按二次S1,显示状态为22:10:00,冒号为长亮。
按动S2刚小时位加1,按动S3则分钟位加1,秒时不可调。
当按动小时位超过23时则会显示--:--:--,这个表示关闭闹钟功能。
闹铃声为蜂鸣器长鸣3秒钟。
4)倒计时功能:短按三次S1,显示状态为 0,冒号为长灭。
按动S2则从低位依此显示高位,按动S3则相应位加1,当S2按到第6次时会在所设定的时间状态下开始倒计时,再次按动S2将再次进入调整功能,并且停止倒计时。
5)秒表功能:短按四次 S1,显示状态为 00:00:00,冒号为长亮。
按动 S2 则开始秒表计时,再次按动S2则停止计时,当停止计时的时候按动S3则秒表清零。
6)计数器功能:短按五次S1,显示状态为00:00:00,冒号为长灭,按动
S2则计数器加1,按动S3则计数器清零。
三、电路原理图
5
四、元件清单
成品实物图。