多功能6位电子钟说明书
多功能六位电子钟说明书
多功能六位电子钟说明书一、原理说明: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,秒时不可调。
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;}}}}合作者:吴肖,陈耀,张鹏程,徐煜。
电子时钟使用说明
电子时钟使用说明书目录1电子时钟 (1)1.1电子时钟简介 (1)1.2 电子时钟的基本特点 (1)2作品构成 (1)3核心器件 (3)3.1 单片机(STC12C5A60S2) (3)3.2 时钟芯片(DS1302) (4)3.3液晶屏模块(LCD12864) (5)4 作品功能及操作说明 (6)4.1 功能介绍 (6)4.2操作说明 (7)5注意事项 (8)1 电子时钟1.1 电子时钟简介1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。
现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时清零。
从而达到计时的功能,是人民日常生活补课缺少的工具。
1.2 电子时钟的基本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。
2 作品构成品名型号/规格数量(PCS)液晶屏模块LCD128641单片机STC12C5A60S21时钟芯片DS13021温度芯片DS18B201石英晶体12.00MHz1石英晶体32.768KHz1电容0.1μF2电容30pF2电容100μF 1 电阻1kΩ1扬声器无源1三极管85501微动开关12×12×6mm4钮扣电池3V锂电池1光敏电阻0~20KΩ1电源适配器5V 500mA13 核心器件3.1 单片机(STC12C5A60S2)STC12C5A60S2系列单片机管脚图该作品采用STC12C5A60S2单片机驱动程序,该单片机共包含40个可用引脚,完全可以应付时钟电路在接口电路上的要求。
电子表电子钟说明书
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 读出,初始化失效。
多功能数字时钟
一、实验任务及要求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. 使用步骤3.1 设置时间和日期1. 使用时钟中的设置按钮进入设置菜单。
2. 使用上下按钮切换到时间设置选项。
3. 使用左右按钮调整小时和分钟值。
4. 确认并保存设置。
3.2 设置闹钟1. 使用时钟中的设置按钮进入设置菜单。
2. 使用上下按钮切换到闹钟设置选项。
3. 使用左右按钮调整闹钟时间。
4. 确认并保存设置。
3.3 调节亮度1. 使用时钟中的设置按钮进入设置菜单。
2. 使用上下按钮切换到亮度调节选项。
3. 使用左右按钮调整亮度值。
4. 确认并保存设置。
3.4 切换时区显示1. 使用时钟中的设置按钮进入设置菜单。
2. 使用上下按钮切换到时区设置选项。
3. 使用左右按钮选择所需的时区。
4. 确认并保存设置。
4. 注意事项- 在使用电子钟之前,请先仔细阅读本说明书,并按照说明进行正确设置和使用。
- 请注意电子钟所使用的电池类型,并遵循正确的安装方法。
- 如果电子钟长时间不使用,请及时取出电池以防止电池泄漏损坏电子钟。
- 请避免将电子钟暴露在极端温度和湿度的环境中,以免影响其正常使用和寿命。
- 如有其他问题,请参考使用说明书或联系售后服务。
5. 维护和保养- 定期清洁电子钟表面,可使用干净的软布轻轻擦拭。
- 避免使用化学清洁剂或溶剂来清洁电子钟。
多功能六位电子钟
多功能六位电子钟引言:随着科技的不断发展,人们对于电子产品的需求越来越高。
电子钟作为一种实用的日常物品,也在不断创新与进步。
本文将介绍一款多功能六位电子钟,其拥有多种实用功能,方便人们的生活。
一、外观设计这款多功能六位电子钟采用简约现代的外观设计,外壳采用高质量的塑料材料制作,兼具耐用性和美观度。
时钟采用LED显示屏幕,显示数字清晰可见,不受光线影响。
二、时间显示功能这款电子钟可以准确显示时分秒,并且可以通过设置进行闹钟和倒计时功能。
用户可以根据个人需求设置多个闹钟,并选择不同的铃声。
倒计时功能可以帮助人们掌握时间,并提醒完成项任务。
三、温度与湿度显示功能除了时间显示功能,这款电子钟还可以显示当前的室内温度和湿度。
这个功能对于需要具备监测环境的场合非常有用,比如办公室、仓库、实验室等。
用户可以通过设定阈值,在温度或湿度超出设定值时,电子钟会自动发出警报。
四、日历功能这款电子钟还具有日历功能,可以显示日期和星期几。
对于需要日程管理的人来说,这个功能非常实用。
用户可以通过设定提醒功能,将重要的事项输入到电子钟中,提醒自己及时处理。
五、倒计时器功能这款电子钟还可以设置倒计时器功能,能够帮助人们进行倒计时计算。
无论是烹饪、运动、学习还是工作等,倒计时器都能够提醒使用者保持高效的时间管理。
六、背光功能为了满足不同使用环境下的需求,这款电子钟还具备背光功能。
当光线不足时,用户可以通过按下背光按键,点亮背光,方便夜间使用。
七、便携性这款电子钟尺寸适中,便于携带。
无论是旅行还是外出办公,用户都可以随身携带这款电子钟。
八、电源和节能功能这款电子钟可以使用电池或者插电两种方式供电。
同时,它还具有节能功能,当电池电量不足时,电子钟会自动进入低功耗模式,延长电池寿命。
结论:这款多功能六位电子钟集时钟、温度、湿度、日历、倒计时器和背光功能于一体,方便人们的生活。
它的外观时尚,功能丰富,便携易用。
无论是在家庭、办公室还是旅行中,都能够派上用场。
数字电子实训数字钟的设计(6位)
内容摘要电子产品的研发日新月异,不仅是在通信技术方面数字化取代于模拟信号,就连我们的日常生活也进于让数字化取缔。
说明数字时代已经到来,而且渗透于我们生活的方方面面。
就拿我们生活的实例来说明一下“数字”给我们带来的便捷。
下面就以数字钟为例简单介绍一下,数字钟我们听到这几个字,第一反应就是我们所说的数字,不错数字钟就是以数字显示取代模拟表盘的钟表,在显示上它用数字反应出此时的时间,相比模拟钟能给人一种一目了然的感觉,不仅如此它还能同时显示时、分、秒。
而且能对时、分、秒准确校时,这是普通钟所不及的。
与此同时数字钟还能准确定时,在你所规定的时间里准确无误的想你发出报时声音,提醒你在此时所需要去做的事。
与旧式钟表相比它更适用于现代人的生活。
这学期恰好遇上学校的《专业基础》课程设计,题目是数字钟的设计。
因而在所学专业的基础上做了以下课程设计。
希望给大家带来方便的同时,使自己对所学专业有进一步的了解!关键词:数字钟;校时;时间显示;定时目录一、数字钟设计的基本概要 1二、数字钟的原理框图 2三、数字钟电路的设计 3四、电路功能测试以及常见问题解决本法 12五、总结体会 13六、致谢 14七、参考文献 15一、数字钟设计的基本概要1.1数字钟设计的目的该数字钟具有基本功能和扩展功能两部分。
其中,基本功能部分的有准确计时,以数字形式显示时、分、秒的时间和校时功能。
扩展功能部分则具有:仿广播电台整点报时、自动报整点时数的功能。
数字钟的电路也是由主体电路和扩展电路两部分构成,在电路中,基本功能部分由主体电路实现,而扩展功能部电路实现。
这两部分都有一个共同特点就是它们都要用到振荡电路提供的1Hz脉冲信号。
在计时出现误差时电路还可以进行校时和校分,为了使电路简单所设计的电路不具备校秒的功能。
并且要用数码管显示时、分、秒,各位均为两位显示,扩展部分要有相应的响应电路。
1.2数字钟设计的功能要求(一)基本功能:(1)时的计时要求为“24翻1”,分和秒的计时要求为60进制(2)准确计时,以数字形式显示时,分,秒的时间(3)校正时间(二)扩展功能:(1)仿广播电台整点报时功能;(2)自动报整点时数;二、数字钟的原理框图根据设计要求,可建立数字钟系统组成框图,如图(1)所示,数字钟电路系统由主体电路和扩展电路两大部分组成,其中,主体电路完成数字钟的基本计数功能,扩展电路完成数字钟的定时、整点报时扩展功能。
电子钟说明书
数字电子钟说明书姓名:杨华碧学号: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不足:有时差产生;原因:在执行中断服务时,需要一定的时间,其长度难以测量准确。
多功能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,秒时不可调。
电子时钟使用说明
电子时钟使用说明书目录1电子时钟 (1)电子时钟简介 (1)1.2 电子时钟的根本特点 (1)2作品构成 (1)3核心器件 (3)3.1 单片机〔STC12C5A60S2〕 (3)3.2 时钟芯片〔DS1302〕 (4)3.3液晶屏模块〔LCD12864〕 (5)4 作品功能及操作说明 (6)4.1 功能介绍 (6)操作说明 (7)5考前须知 (8)1 电子时钟电子时钟简介1957年,Ventura创造了世界上第一个电子表,从而奠定了电子时钟的根底,电子时钟开始迅速开展起来。
现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时清零。
从而到达计时的功能,是人民日常生活补课缺少的工具。
电子时钟的根本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。
2 作品构成品名型号/规格数量〔PCS〕液晶屏模块LCD128641单片机STC12C5A60S21时钟芯片DS13021温度芯片DS18B201石英晶体1石英晶体1电容2电容30pF2电容100μF 1 电阻1kΩ1扬声器无源1三极管85501微动开关12×12×6mm4钮扣电池3V锂电池1光敏电阻0~20KΩ1电源适配器5V 500mA13 核心器件单片机〔STC12C5A60S2〕STC12C5A60S2系列单片机管脚图该作品采用STC12C5A60S2单片机驱动程序,该单片机共包含40个可用引脚,完全可以应付时钟电路在接口电路上的要求。
此外,其内部的I/O接口具有4种工作方式,分别为准双向口〔标准8051输出模式〕、推挽输出、高阻以及开漏输出四种。
【设计】六位数码管电子钟
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 【关键字】设计毕业设计(论文)(2011届)题目六位数码管电子钟系别信息电子系专业信息电子工程管理班级信电0811姓名张淑娇指导教师2011年月日目录摘要 (1)文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 4六位数码管电子钟【摘要】数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能。
因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。
干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用24进制计时器,可实现对一天24小时的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过七位LED七段显示器显示出来。
整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。
校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的。
数字钟是以不同的计数器为基本单元构成的,它的用途十分广泛,只要有计时、计数的存在,便要用到数字钟的原理及结构;同时在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱。
【关键词】:校时电路、报时电路、振荡器第一章数字电子钟的设计方案论证1.1数字电子钟的应用意义数字电子钟是用数字电路实现“时”、“分”、“秒”数字显示的计时装置,主要由振荡器、分频器、计数器、译码显示器、校时电路、报时电路等六部分组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多功能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,秒时不可调。
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则计数器清零。
四、器件清单(见下页)
多功能六位电子钟套件器件清单
序号名称型号/规格数量备注
01 单片机加底座(已烧好程序)AT89C2051或STC12C2052 1+1
02 三端稳压集成电路78L05 1
03 石英晶体振荡器12MHz 1
04 2位动态共阳数码管0.4寸 3
05 发光二极管Φ3红或绿 4
06 蜂鸣器5V有源 1
07 瓷片电容30PF 2
08 独石电容104 2
09 电解电容10UF/16V 2
10 三极管Q1-Q78550或9012 7
11 碳膜电阻R110K/(1/8W) 1
12 碳膜电阻R2R10-R15R17R18 1K/(1/8W) 9
13 碳膜电阻R3-R9200/(1/8W) 7
14 碳膜电阻R16 4.7K/(1/8W) 1
15 单排针间距2.54mm 8P
16 PCB板 1
17 2P接线端子 1
18 DC电源插头内径6mm内芯约2.1mm 1
19 固定支撑螺丝M3 4
20 按键6*6*6(或者6*6*其他规格) 3
21 CR2032纽扣电池加底座1+1
22
23
24。