数字电子钟设计3546263878.docx

上传人:夺命阿水 文档编号:1027423 上传时间:2024-03-01 格式:DOCX 页数:30 大小:394.04KB
返回 下载 相关 举报
数字电子钟设计3546263878.docx_第1页
第1页 / 共30页
数字电子钟设计3546263878.docx_第2页
第2页 / 共30页
数字电子钟设计3546263878.docx_第3页
第3页 / 共30页
数字电子钟设计3546263878.docx_第4页
第4页 / 共30页
数字电子钟设计3546263878.docx_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《数字电子钟设计3546263878.docx》由会员分享,可在线阅读,更多相关《数字电子钟设计3546263878.docx(30页珍藏版)》请在课桌文档上搜索。

1、数字电子钟设计3546263878单片机技术课程设计说明书数字电子钟系、部:电气与信息工程系学生姓名:指导教师:王韧职称副教授专业:电子信息工程班级:电子0902完成时间:20111225电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。因此设计一个简易数字电子钟很有必要。本电子钟使用ATMEL公司的AT89S52单片机为核心,使用12MHZ晶振与单片机AT89S52相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟与秒的要求,并在计时过程中具有定时功能,当时间到达提早定好的时间进行蜂鸣报时。该电子钟设有四

2、个按键SI、S2、S3与S4键,进行相应的操作就可实现校时、定时、复位功能。具有的时候间显示、整点报时、校正等功能。走时准确、显示直观、运行稳固等优点。具有极高的推广应用价值。关键词:电子钟;AT89S52;硬件设计;软件设计ABSTRACTClockiswidelyusedinlife,andasimpledigitalclockismorewelcomedbypeople.Sotodesignasimpledigitalelectronicclockisnecessary.ThesystemuseasinglechipAT89S52ofATMEL,sasitscoretocontrolTh

3、ecrystaloscillatorclock,usingofE-12MHzisconnectedwiththemicrocontrollerAT89S52,throughthesoftwareprogrammingmethodtoachievea24-hourcycle,andeight7-segmentLEDdigitaltube(twofourinonedigitaltube)displayshours,minutesandsecondsrequirements,andinthetimecourseofatimingfunction,whenthetimearrivedaheadofsc

4、heduledtimetobuzzagoodtimekeeping.TheclockhasfourbuttonsS1,S2,S3andS4key,andmaketheappropriateactioncanbeachievedwhentheschool,timing,reset.Withatimedisplay,alarmclocksettings,timerfunction,correctiveaction.Accuratetraveltime,displayandintuitive,precision,stability,andsoon.Withahighapplicationvalue.

5、Keywordselectronicclock;AT89S52;hardwaredesign;softwaredesign1设计课题任务、功能要求说明及方案介绍11.1 设计课题任务11.2 功能要求说明11.3 设计课题总体方案介绍及工作原理说明12设计课题硬件系统的设计22.1 设计课题硬件系统各模块功能简要介绍22.2 设计课题电路原理图、PCB图、元器件布局图22.3 设计课题元器件清单23设计课题软件系统的设计33.1设计课题使用单片机资源的情况33.2设计课题软件系统个模块功能简要介绍33.3设计课题软件系统程序流程框图33.4木王/Hl74设计结论、仿真结果、误差分析、教学建议1

6、74.1设计课题的设计结论及使用说明174.2设计课题的仿真结果174.3设计课题的误差分析184.4设计体会184.5教学建议18结束语19参考文献20致谢21附录A电路原理图22附录B兀器件布局图23附录CPCB顶层布线图24附录DPCB底层布线图25附录E元器件清单261设计课题任务、功能要求说明及方案介绍1.1 设计课题任务设计一个具有特定功能的电子钟。具有的时候间显示、报时等功能。并有的时候间设定,时间调整功能。1.2 功能要求说明设计一个具有特定功能的电子钟。该电子钟上电或者按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从。时O分O秒开

7、始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,如今可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。1.3 设计课题总体方案介绍及工作原理说明本电子钟要紧由单片机、4*1独立键盘、显示接口电路与复位电路构成,设计课题的总体方案如图1所示:犍盘复位电路晶振电路LED摩刘思舟1.1 体设计方案图本电子钟的所有的软件、参数均存放在AT89S52的FlashROM与内部RAM中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。键盘使用动态扫描方式。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内

8、部处理的数据,同时通过端口读入当前外部操纵状态来改变程序的不一致状态,实现不一致功能。2设计课题硬件系统的设计1.2 设计课题硬件系统各模块功能简要介绍本设计的硬件系统要紧使用下列基本模块来实现,单片机最小系统模块,输入模块、输出模块、电源模块。(1)单片机最小系统模块:包含低功耗、高性能CMOS8位微操纵器AT89S52;复位电路;晶振电路。本本模块AT89S52系统操纵核心,单片机系统复位由复位电路完成,单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端位位引脚XTAL2o通过这两个引脚在芯片外并接石英晶体振荡器与两只电容。这样就构成一个稳固的自激振荡器。(2)输入

9、模块:本模块共用到了5个按键,1个电源开关,1个复位键,单片机运行期间,利用按键完成复位操作。3个按键独立式键盘,Sl键操纵电子钟的启动调整状态,S2键为加1键,S3键为减1键。且Sl、S2、S3任一键都独自连一个I/O(PI.0、PLl、P1.2)口线,说明它们能够独立实现相应的电子钟功能。(3)输出模块:本次设计显示为8位,使用两个四位一体数码管(共阳极)作为显示窗口,既能够节约成本又能简化电路。数码管用8个PNP三极管驱动。(4)电源模块:现在市面上销售的编程器有很多都是由PC机的USB口直接供电为了降低本设计的成本及节约设计时间,没有另外设计编程器,而直接购买了市场上的USB供电及下载

10、器。1.3 设计课题电路原理图、PCB图、元器件布局图电路原理图见附录A,元器件布局图见附录B,PCB顶层布线图见附录C,PCB顶层布线图见附录D。1.4 设计课题元器件清单设计课题元器件清单见附录Eo3设计课题软件系统的设计3.1设计课题使用单片机资源的情况设计课题使用单片机资源的情况如下:PO口输出数码管段选信号,P3口输出数码管位选信号;晶振12MHz;调整选择键SET_KEY:Pl.0;通过选择键选择调整位,选中位闪烁;增加键ADD_KEY:Pl.1;按一次使选中位加1;减少键DECj(EY:Pl.2;按一次使选中位减1;P2.1为蜂鸣器发声报时;50H-5FH;16个寄存器单元作为显

11、示单元;50H用于操纵秒基准时钟源的产生;51H清零秒寄存器;52H清零分寄存器;53H清零时寄存器;5FH用于秒个位;5EH用于秒十位;5DH用于分个位;5CH用于分十位;5BH用于时个位;5AH用于时十位;54H用于操纵调时闪烁;堆栈栈底:70Ho3.2设计课题软件系统个模块功能简要介绍本设计的软件系统要紧使用下列基本模块来实现,主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块与延时模块。(1)主程序:要紧是用于对输入信号的处理、输出信号的操纵与对各个功能程序模块的运用及其操纵。(2)中断服务程序:要紧是用于电子钟的准确运行、数据输入过程中的闪烁。(3)键盘输入程序模块:要紧是用

12、于确定按键并得到特定的键码值。(4)数码管及其驱动模块:要紧是用于驱动数码管及利用数码管显示时间。(5)延时模块:程序中有两种延时子程序,一种是短延时用于判键按下等,一种是长延时。3.3设计课题软件系统程序流程框图系统软件使用汇编语言按模块化方式进行设计,然后通过Keil软件开发平台将程序转变成十六进制程序语言,接着使用PrOteoUS进行仿真,读出显示数据。主程序流程框图如2所示;加1子程序如3所示;中断服务程序程序如4所示;键盘扫描子程序框图如5所示;显示子程序框图如6所示;图2主程序流程框图图4中断子程序流程框图图5键盘扫描子程序流程框图3.4程序清单;程序入口ORG0000H;程序入口

13、地址LJMPSTARTORGOOOBH;定时器0中断入口地址LJMPTIMETOORG1000H显P.程序功能:能够在8个数码闪烁移位进行屏保START:MOVR6,#2;闪烁次数MOVA,#OFEH;位选TT:MOVP2,AMOVPO,#0CH;段码P.LCALLDELAYMOVP2,#0FFHDJNZR6,TTLCALLDELAYLCALLDELAYlRRJBPl.0,TT;键是否按下,没按下则转移LCALLDELAY;延时去抖JNBPl.0,KAI;再次推断键是否按下KAI:SETBPl.OCLR;状态恢复MOVPO,#0FFHLCALLDELAYlSETB48H;用于调时闪烁标志SET

14、B47H;用于产生脉冲用于调时快进的脉冲MOVRl,no;键功能标志:0计时、1调时、2调分、3调秒MOVMOVR0,R6,#50H#10H;初始化CLERJCQ:MOVR0,#00H;清寄存器INCRODJNZR6,CLERJCQMOVIP,#02HSETBEASETBETOMOVTMOD,#01H;设定定时器0工作方式1MOVTH0,#3CHMOVTL0,#0B0H;赋定时初值,定时50msSETBTRO;启动定时器0MOVSP,#70H;堆栈f;主程序9MAIN:LCALLDlSPLAYLCALLKEY_SCANJZMAINLCALLSET.KEYJB46H,MAIN;假如已进行调时快进

15、,则不再执行下面的调整LCALLADDKEY;调用增加键处理子程序,加一LCALLDECKEY;调用减少键处理子程序,减一LJMPMAIN;重新循环f;显示处理程序9DISPLAYrMOVA,51HANLA,#0FHMOV5FH,A;转换出秒个位,存入5FHMOVA,51HANLA,#0FOHSWAPAMOV5EH,A;转换出秒十位,存入5EHJB46H,MIN;假如调时快进,则跳过闪烁处理程序CJNERl,#3,MIN;假如Rl为3,闪烁秒位待调整JB48H,MINMOV5FH,#0AH;使该位为10,查表得到使该位不显示MOV5EH,#0AHMIN:MOVA,52HANLA,#0FHMOV

16、5DH,A;转换出分个位,存入5DHMOVA,52HANLA,#0FOHSWAPMOV5CH,A;转换出分十位,存入5CHJB46H,HOURCJNERl,#2,HOUR;假如Rl为2,闪烁分位待调整JB48H,HOURMOV5DH,#0AHMOV5CH,#0AHHOUR:MOVA,53HANL,#0FHMOV5BH,A;转换出时个位,存入5BHMOVA,53HANLA,#0FOHSWAPMOV5AH,A;转换出时十位,存入5AHJB46H,DISPCJNERl,#1,DISP;假如Rl为1,闪烁时位待调整JB48H,DISPMOV5BH,#0AH;使该位为10,查表得到使该位不显示MOV5A

17、H,#0AH;数码管动态扫描显示DISP:MOVDPTR,-TABLEMOVA,5FHMOVC,A+DPTRMOVPO,CLRP2.0LCALLDELAYSETBP2.O;显示秒个位MOVA,5EHMOVCA,A+DPTRMOVPO,CLRP2.1LCALLDELAYSETBP2.1;显示秒十位MOVA,#0BFHMOVPO,ACLRP2.5LCALLDELAYSETBP2.5;显示“-”MOVA,5DHMOVCA,A+DPTRMOVPO,CLRP2.3LCALLDELAYSETBP2.3;显示分个位MOVA,5CHMOVCA,A+DPTRMOVPO,CLRP2.4LCALLDELAYSETB

18、P2.4;显示分十位MOVA,#0BFHMOVPO,ACLRP2.2LCALLDEI,YSETBP2.2;显示“-”MOVA,5BHMOVC,A+DPTRMOVPO,CLRP2.6LCALLDELAYSETBP2.6;显示时个位MOVDPTR,#TABLEI;该位使用TABLEl以消除时的十位置0MOVA,5AHMOVCA,ADPTRMOVPO,ACLRP2.7LCALLDELAYSETBP2.7;显示时十位RETt;定时器中断IS程序fTIMETO:PUSHCC;保护现场PUSHPSWMOVTHO,#3CHMOVTLO,#0BOHCPL47H;产生脉冲用于调时快进INC54HMOVA,54H

19、CJNEA,#10,ADD_JnME;产生0.5秒,用于调时闪烁CPL48H;取反调时闪烁标志位MOV54H,#00HADD_TIME:INC50HMOVA,50HCJNEA,#10,ZDBACD;整点报时时蜂鸣器响延迟时间SETBP3.1;关蜂鸣器ZDBACD:CJNEA,#20,RETI1;产生1秒时钟MOV50H,#00H;一秒钟时间到,清零50HMOVA,51HADDA,#01HDAA;十进制调整MOV51H,ACJNEA,#60H,RETIlMOV51H,#00H;一分钟到MOVA,52HADDA,#01HDAAMOV52H,CJNEA,#60H,RETIlCLRP3.1MOV52H

20、,#00H;一小时到,开蜂鸣器,清分显示MOVA,53HADDA,#01HDAMOV53H,ACJNEA,#24H,RETIlMOV53H,#00H;到24点,清零小时RETIl:POPPSWPOPACC;恢复现场RETI;中断返回9;键盘扫描程序;R4设置为OOH是为了在进入长按处理前加长延时,以区分长按与短按键9KEY_SCAN:CLR46H;关闭调时快进标志MOVPl,#0FFH;将Pl设置成输入状态MOVA,PlCPLAANLA,#07H,口低3位连接3个按键,只推断该3位JZEXITKEYLCALLDELAY;延时去抖动MOVA,Pl;重新推断CPLAANL,#07HJZEXITKE

21、YMOVR5,AMOVR4,#00H;用于操纵调时快进速度LOOP:LCALLDISPI,Y;进入长按处理MOVA,PlCPLAANL,#07HJB47H,LOOPlINCR4;调时快进间隔时间基准加1LOOPl:CJNERl,#03H,L00P2;假如调秒时长按,则不处理LJMPL00P3L00P2:CJNER4,#99H,L00P3MOVR4,#70H;确认长按后,加快调时快进速度SETB46HLCALLADDKEYLCALLDEC_KEYL00P3:JNZLOOP;等待键释放MOV,R5;输出键值RETEXIT_KEY:RETf;延时子程序9DELAY:MOVR7,#200DJNZR7,

22、$RETDELAYl:MOVR3,#50MOVTMOD,#00HMOVTHl,#63HMOVTLl,#18HSETBTRlLP1:JBCTFl,LP2SJMPLPlLP2:MOVTHl,#63HMOVTLl,#18HDJNZR3,LPlRET;选择键处理子程序fSETKEY:CJNER5,#01H,EXIT;选择键键值INCRl;调整选择功能标志加一CJNERl,#4,EXITMOVRl,#0MOV54H,#00H;调时闪烁清零RETt;加1子程序fADDKEY:CJNER5,#02H,EXIT;加1键值CJNERl,#01H,NEXTl;选择键功能标志为1调时,否则跳出MOV,53HADDA

23、,#01HDAAMOV53H,CJNEA,#24H,EXITMOV53H,#00HNEXTl:CJNERl,#02H,NEXT2;选择键功能标志为2调分,否则跳出MOV,52HADDA,#01HDAAMOV52H,ACJNE,#60H,EXITMOV52H,#00HNEXT2:CJNERl,#03H,EXIT;选择键功能标志为3调秒,否则跳出MOV,51HADDA,#01HDAAMOV51H,CJNEA,#60H,EXITMOV51H,#00H;如加1键按下直接清零秒RET;减1子程序DEC,KEY:CJNECJNER5,Rl,#04H,EXIT#01H,NEXT3;减1键键值;选择键功能标志

24、为1调时,否则跳出MOVA,53HADD,#99HDAAMOV53H,ACJNEA,#99H,EXITMOV53H,#23HNEXT3:CJNERl,#02H,NEXT4;选择键功能标志为2调分,否则跳出MOVA,52HADDA,#99HDAAMOV52H,ACJNEA,#99H,EXITMOV52H,#59HNEXT4:CJNERl,#03H,EXIT;选择键功能标志为3调秒,否则跳出MOVA,51HADD,#99HDAAMOV51H,ACJNEA,#99H,EXITMOV51H,#59HRET;返回子程序EXIT:RET;数码管字形编码表TABLE:DBOCOH,0F9H,04H,OBOH

25、,99H,92H,82H,0F8H,80H,90H,OFFH八L小rc-t,H;0,I,2,3,4,5,6,7,8,9,不显不TABLElrDBOFFH,0F9H,0A4H,OBOH,99H,92H,82H,0F8H,80H,90H,OFFH;小时编码;不显示,1,2,3,4,5,6,7,8,9,不显示END4设计结论、仿真结果、误差分析、教学建议4.1 设计课题的设计结论及使用说明本设计为基于单片机的电子钟的设计。刚开始,我们很多地方理不清头绪,无从下手,但通过认真研究设计课题,找书上网查资料买元件,确定基本设计方案,对所用芯片功能进行查找、调试,然后画电路图制PCB板、打孔、溶铜、焊接等,

26、确实经历了许多困难,却积存了很多宝贵的经验,本设计用2个四位一体的共阳数码管做为显示器,它显示时间值;设计中有三个按键,其中SI为启动/选择调整位置,S2为加操纵键S3为减操纵键,当整点时间到时,蜂鸣器报警。这样的结果与设计要求完全相符,本设计成功。完成了设计任务。4.2 设计课题的仿真结果在PrOteUSlSlS的DebUg菜单中选择EXeeUte,运行程序,系统仿真结果如图7与图8所示。实现功能:可调整运行的电子钟具有三种工作状态:“P.”状态、运行状态、调整状态。(1)、“P.”状态,依靠上电或者按复位键进入,在此状态下,按S2、S3键均无效,按Sl键有效,进入运行状态;(2)、运行状态

27、,在此状态下,按S2、S3键均无效,只有按Sl键有效,按下Sl键后,退出运行状态,进入调整状态;(3)、调整状态,按Sl键进入时、分、秒的闪烁,在此状态下,按S2(+l键)、S3(-1键)键均有效;调整结束后务必按Sl键,即可退出调整状态,进入运行状态。在调整状态时长按S2、S3时能够连加及连减。时间显示格式为:时-分一秒;图7“P.”运行状态仿真图8时钟运行状态仿真4.3 设计课题的误差分析该电子钟在运行中存在一定的误差,误差产生有三种可能,首先是使用的计时方案是软件计时的,计时优势利用中断来实现。而当电子钟运行时间1秒时,又得去执行中断程序,这个过程是需要时间的,因此就产生了一定的误差,当

28、然这个误差是避免不了的,其次还有硬件系统也有一定的影响。第三,设计用到11.0592MHZ的晶振,计算是满20次为一秒钟,但实际会慢很多。4.4 设计体会本次课程设计,让我受益匪浅,认识到了自己的许多缺点与不足,使我深深的感受到了理论联系实际的必要性及其重要性。在我们以往的学习过程中,我们刻意地去加强理论的基础,关于一个程序我们只求它在运行时没有出错,我们便以为我们的计划成功了岂不知它能否在硬件结构中得以实现则是另外一回事,这就要求我们的动手能力,假如无法使软件与硬件实现有机的结合,那么再好的程序也只是一堆废字符。4.5 教学建议通过一个学期王韧老师教诲的的单片机学习,我掌握了很多单片机学习的

29、宝贵经验,特别在编程的思路与PCB实物的制作上面。编程思路是整个程序的灵魂,没有编程思路,程序就不可能编出来,就失去了编程的意义。在开始编程之前,想好编程的思路,编程能力才会提高,编程的过程才会顺畅,程序的质量才会提高。在王韧老师的教学过程中,幽默轻松的教学方式常常让课堂气氛很活跃,幽默诙谐,授课内容条理清晰,经常运用各类实例,娓娓道来,给人印象深刻。王老师在课堂上也十分注重与同学们的互动,经常会用一些亲身实践的经验为例,让同学们在基于事实的基础上更好的懂得有关理论,充分做到了理论与实际的结合,既形象生动,又丰富有趣。结合自己课堂的学习与单片机学习效果总结几点教学建议希望老师接纳:(1)、每一

30、位学生都要进展,但不必求一样的进展;每一位学生都要提高,但不必是同步的提高;每一位学生都要合格,但不必是相同的规格;(2)、学生不可能说的,您鼓励他说;学生说不准的,您引导他说。结束语本设计设计的数字电子钟使用单片机内部定时器进行定时,数码管显示与传统的指针式钟表相比,具有的时候间准确、其输出时间使用数字显示读数直观方便等优点。系统上电或者按键复位后能自动显示系统提示符“P.”,进入工作准备状态。当按下Sl键时,电子钟开启,同时该电子钟具有清零时间、调节时间等功能。通过测试与修改,该数字电子钟完成了设计任务,符合设计要求。参考文献1代启化.基于Proteus的电路设计与仿真J.现代电子技术.2

31、006,第19期.DaiQiHua.Proteus-basedcircuitdesignandsimulationJ.Modernelectronictechnology.2006,No.19.2刘文秀.单片机应用系统仿确实研究J.现代电子技术.2005,第286期.1.iuWenXiu.MicrocontrollerApplicationSystemSimulationJ.Modernelectronictechnology.2005,No.286.3曹巧媛.单片机原理及应用M,北京:电子工业出版社,1997.7.CaoQiaoYuan.MicrocontrollerTheoryandApp

32、licationsM,Beijing:ElectronicIndustryPress,1997.7.4张洪润.兰清华,单片机应用技术教程M,北京:清华大学出版社,1997.11.ZhangHongrun,LanQinghua,MCUapplicationtechnologytutorialM,Beijing:TsinghuaUniversityPress,1997.11.5李广第.单片机基础M,北京航空航天大学出版社,2006.7.1.iGuangdi.MicrocontrollerbasedonM,BeijingAerospaceUniversityPress,2006.7.通过不断努力,终

33、于完成了此次单片机的课程设计。在此,首先感谢王韧老师,正是他在万忙之中还抽出宝贵的时间对我们进行精心的指导,才使我顺利完成了此次单片机课程设计。同时也感谢各位同学与老师对我提供的帮助。使我在此次设计中学到了许多宝贵的知识与经验。在此,衷心地感谢你们!附录A电路原理图一LED LEDl附录B元器件布局图1.EDLED2UO0uhUU1.nlDlnlngglnIDInInioggInlOpopt08Q70605CM03。2OlmCOM2ffC0N2附录CPCB顶层布线图OOOOOOODOoooooo6Doooooooo8,s附录DPCB底层布线图附录E元器件清单序号名称、大小数量1电阻200Q1个2电阻470Q24个3电阻1K3个4电阻4.7K1个5电容22F1个6电容33pF2个718B201个8AT89S521个9单排插40个11四位一体共阳极数码管2个12LED9个13PNP9个14四脚按钮9个15六脚开关1个16USB电源接口1个17下载口1个18晶振12MHz1个

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号