《单片机课程设计__数字电子钟.docx》由会员分享,可在线阅读,更多相关《单片机课程设计__数字电子钟.docx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学校代码: 学 号: xia 延 边 大 学单 片 机 课 程 设 计 题 目:数字电子钟 学生姓名:x-wei学 院:工学院专 业:电子信息工程专业班 级:2007级指导教师:摘要钟表作为一种定时工具被广泛的使用在生产生活的各方面。人类最初依靠太阳的角度来进行定时,所以受天气的影响比较大,为了克服依靠自然现象定时的缺点人们发明的机器钟表,电子钟表一系列的定时工具。而电子钟表具有价格便宜,质量轻,定时误差小等优点,被广泛的应用在生产,生活的各个方面。由于电子钟的能提供精确定时又被广泛的运用在测量之中。此电子钟采用单片机进行设计,8段数码通过单片机进行刷新显示。其设计的产品除了单片机之外没有用到
2、其他集成块,使其成本可以大大降低,而其便于维修。成品可以被广泛的用于公共场所,匾额装饰,以及教学等方面。关键字: 电子时钟 ;51单片机; 数码管ABSTRACTKeyward: 目录摘要IABSTRACTII第一章 设计概要1第二章 硬件设计方案12.1设计框架图12.2总体设计方案说明22.3数码显示管设计部分32.4 键盘控制电路32.5 闹铃电路42.6电源电路42.7 总体电路图设计5第三章 软件设计方案63.1 程序流程图63.2 总体程序设计7第四章 心得体会124.1心得体会12参考文献13辞谢14第一章 设计概要使用51单片机提供精确定时使用8段数码显示管显示时,分,秒采用2
3、4小时制具有一键节能模式,实现电池使用的最大化具有五组闹钟,能够满足不同的提醒需要省去了反复调时的需要带断电保护功能第二章 硬件设计方案2.1设计框架图 闹铃主电源八段数码显示P08051单片机-*备用电源P2P1.0-P1.3控制键盘图2.1-12.2总体设计方案说明设计框架图如图2.1所示总共分为5小部分:时间显示部分,键盘控制部分,单片机部分,闹钟部分,电源部分。本设计各部分由统一电源集中供电,外加被用电源确保主电源断电时备用电源及时供电避免时间的丢失.采用12MHZ晶振为单片机提供时钟。显示部分采用容易购买的LED八段数码显示管 ,利用单片机输出高低电平实现数码管的刷新显示。LED具有
4、显示明亮,容易识别,价格便宜等优点,特别适合时间的显示。按键部分采用普通的按建开关,使用查询方式从而节约元件。2.3数码显示管设计部分. 图3.1-1数码显示部分采用八块共阳极八段数码显示管分别对时,分,秒进行显示。将第三块和第六块显示横杠,可以使时间显示更美观.显示部分采用刷新显示方案.具体如下:当p2口输出第一块的三极管导通,u1数码管被选中,然后p0口输出数字的数码管编码。如p0口输出时u1数码管就输出数字0。当循环右移一位是u2被选通显示。依次类推u1-u8数码管显示完成,再循环显示。由于单片机的刷新速度很快所以8个数码管看起来就像同时显示的一样。2.4 键盘控制电路键盘部分采用普通的
5、按键进行设计,使用软件延时消除开关抖动.2.5 闹铃电路闹铃电路通过p1.7口输出1HZ脉冲使蜂鸣器发出间隔为一秒的蜂鸣声.2.6电源电路 2.7 总体电路图设计图3.4-1第三章 软件设计方案3.1 程序流程图开始否是闹钟时间响铃处理子程序中断返回计时程序定时器中断有输入调用显示程序初始化3.2 总体程序设计/主程序ORG0000HAJMPMAINORG000BHAJMPTZPORG0030HMAIN:MOVSP,#60HMOVR4,#00HMOVTMOD,#02hMOVTH0,#06HMOVTL0,#06HSETBEASETBET0SETBTR0/初始化MOVR2,#3MOVR1,#30H
6、LOOP:MOVR1,#00HINCR1DJNZR2,LOOPLCALLRINGPI/LOOP2:MOVR2,#6MOVR1,#30HLCALLDPZP/开启节能功能JBP1.0,XWJNJBP1.0,$/ 闹钟设置入口ZWJN:JBP1.1,XPP1LCALLRINGPLCALLRELAY/调时入口XPP1:JBP1.3,XPP2LCALLZPP1XPP2:JBP1.2,ZPPLCALLZPP2ZPP:AJMPLOOP2/定时器0中断TZP:PUSH00HPUSH03HINC R4 / 软件-硬件延时1秒CJNER4,#40,ENDIMOVR4,#0INCR5CJNER5,#100,ENDI
7、 /结束MOVR5,#0ZP:MOVR0,#30HMOVR3,#3MOVDPTR,#TCOUNTLCALLTTZPLCALLRINGENDI:POP03HPOP00HRETI/定时器0中断返回/软中断1ZPP1:MOVA,31HADDA,#1DA AMOV31H,ACJNEA,#60H,END1MOV31H,#00HEND1:LCALLRELAYRET/软中断2ZPP2:MOVA,32HADDA,#1DAAMOV32H,ACJNEA,#24H,END2MOV32H,#00HEND2:LCALLRELAYRET/延时显示程序RELAY:MOVR6,#255REP:MOVR7,#4REEE:MOV
8、R2,#6MOVR1,#30HLCALLDPZPDJNZR7,REEEDJNZR6,REPRET/延时显示程序结束/显示子程序DPZP:MOVP0,#0FFH / 显示横杠MOVP2,#0DBHMOVP0,#0BFH / ENDDPZP1:MOVP0,#0FFHMOVDPTR,#CHART /P3partMOVA,R2MOVCA,A+DPTRMOVP2,A /MOVDPTR,#LEDMOVA,R1JNBF0,DPZPSINCR1 SWAPADPZPS:ANLA,#0FHMOVCA,A+DPTRMOVP0,ACPLF0DJNZR2,DPZP1RET/显示子程序结束/不规则循环加一子程序TTZP:
9、MOVA,R0ADDA,#1DAAMOVR0,AMOVA,R3MOVCA,A+DPTRCLRCSUBBA,R0JNCRTTZPMOVR0,#0INCR0DJNZR3,TTZPRTTZP:RET/响铃程序RING:MOVR0,#34HMOV24H,#6RRING:MOVA,31HSUBBA,R0JNZERINGINCR0MOVA,32HSUBBA,R0DECR0JNZERINGCPLP1.7RETERING:MOVA,R0ADDA,#3MOVR0,ADJNZ24H,RRINGSETBP2.1RET/闹钟调整程序RINGP: MOV20H,#33HMOV21H,#6MOVR3,#20MOV22H,
10、#5LPRP:LCALLRELAY1JBP1.1,LPRP1MOVR3,#20MOVA,20HADDA,#3MOV20H,ADJNZ22H,LPRPRETLPRP1:JBP1.3,LPRP2MOVR3,#20HMOVA,20HADDA,#1MOVR0,AMOVA,R0ADDA,#1MOVR0,ADAACJNEA,#60H,LPRP21MOVR0,#00HLPRP21:LCALLRELAY1LPRP2:JBP1.2,LPRP3MOVR3,#20HMOVA,20HADDA,#2MOVR0,AMOVA,R0ADDA,#1DAAMOVR0,ACJNEA,#24H,LPRP31MOVR0,#00HLPR
11、P31:LCALLRELAY1LPRP3:DJNZR3,LPRPLPRPEND:RET/闹钟组初始化程序(共5组)RINGPI:MOVR2,#5MOVR1,#41HLPRPI:MOVR1,#00HDECR1MOVR1,#00HDECR1MOVA,#00HORLA,#0A0HADDA,R2MOVR1,ADECR1DJNZR2,LPRPIRET/延时显示程序1RELAY1:MOVR6,#255REP1:MOVR7,#4REEE1:MOVR2,21HMOVR1,20HLCALLDPZPDJNZR7,REEE1DJNZR6,REP1RET/延时显示程序结束/数据表LED:DB0c0H,0f9H,0a4
12、H,0b0H,099H,092H,82H,0f8H,80H,90H,8EH,0A8H/0,1,2,3,4,5,6,7,8,9,F,nCHART:DB0FEH,0FEH,0FDH,0F7H,0EFH,0BFH,7FHTCOUNT:DB0,23H,59H,59HEND第四章 心得体会4.1心得体会在整个课程设计完后,总的感觉是:有收获。以前上课都是上一些最基本的东西,而现在却可以将以前学的东西作出有实际价值的东西。在这个过程中,我的确学得到很多在书本上学不到的东西,如:如何利用现有的元件组装得到设计要求,如何找到错误的原因,如何利用计算机来画图等等。但也遇到了不少的挫折,有时遇到了一个错误怎么找也找不到原因所在,找了老半天结果却是芯片的管脚接错了,有时更是忘接电源了。在学习中的小问题在课堂上不可能犯,在动手的过程中却很有可能犯。特别是在接电路时,一不小心就会犯错,而且很不容易检查出来。但现在回过头来看,还是挺有成就感的。 参考文献1 2 3 4 5辞谢在本次数字电路课程设计完成之际,谨向我的指导老师*老师致予衷心的谢意。此次课程设计得到了*老师细心指导,给我很大的支持。这设计过程中遇到了很多困难,诸如怎样不熟悉的集成块的使用,数字电路的编码等问题。在解决这些问题的过程中多得到了*老师的大力支持,在此再次衷心的感谢*老师。