单片机小系统电子钟的设计.doc

上传人:wux****ua 文档编号:7885796 上传时间:2020-03-25 格式:DOC 页数:21 大小:632.50KB
返回 下载 相关 举报
单片机小系统电子钟的设计.doc_第1页
第1页 / 共21页
单片机小系统电子钟的设计.doc_第2页
第2页 / 共21页
单片机小系统电子钟的设计.doc_第3页
第3页 / 共21页
点击查看更多>>
资源描述
单片机技术与应用课程设计报告题 目: 单片机小系统电子钟的设计 院 (系): 信息科学与技术系 专业班级: 电子信息工程0901班 学生姓名: 王 海 毅 学 号: 20091186025 指导教师: 陈 青 20 12 年 6 月 11 日至2012 年 6 月 25 日华中科技大学武昌分校制 单片机技术与应用 课程设计任务书一、设计(调查报告/论文)题目课题一:单片机小系统电子钟的设计二、设计(调查报告/论文)主要内容设计制作要求:用80C51/52单片机编程控制显示的电子钟。1)要有8位LED显示器,分别显示 “年号:月份:日期”/“时:分:秒:毫秒”例如“2005。10。 20”表示“2005年10月20日”/“10 52 49 99” 表示“10时52分49秒99毫秒”2)要有四位输入按键,功能分别是“移位”,“数字+”,“数字-”,“存储”即“SHIFT”,“NUM+”,“NUM-”,“SAVE”3)显示过程:实验板通电开机后,8位LED显示器显示“时:分:秒”按下“SHIFT”后第一位数字闪动,继续按下“SHIFT”后面数字闪动移位。再按“NUM+”数字增加,按“NUM-”数字减少,按“SAVE”储存修改结果。三、原始资料参看单片计算机原理课程设计指导书和教材。四、要求的设计(调查/论文)成果能够在制定的小系统板上成功演示,并通过验收回答相关问题,给出设计分数。五、进程安排整个课程设计安排1周完成周一:1、讲解课题内容,2、同学自选课题,3、发放课题元器件,4、焊接电路板周二:1、完善电路板焊接,2、编写调试课题软件周三、四:编写调试课题软件周五:验收课题,回答课题程序内容。六、主要参考资料1 陈青.单片计算机原理课程设计指导书.华中科技大学武昌分校2012.1.82 姜志海.单片微机原理及应用.北京:电子工业出版社.2005.3 李群芳.肖看.单片机原理、接口及应用.北京:清华大学出版社.2005.指导教师(签名): 2012年 06月 11日目 录1.课程设计的目的12.课程设计题目描述和要求 13.课程设计报告内容 33.1 课题设计方案及基本原理33.2 硬件电路介绍 43.3 软件设计 43.4 调试过程43.5 遇到的问题及解决方法44.实验总结 5参考资料5附录1 硬件实物图7附录2 源程序清单71. 课程设计的目的(1)单片机系统的整体设计流程。(2)能够正确安装和焊接硬件电路板。(3)单片机系统的硬件、软件调试方法及相关工具的使用。(4)各种常见元器件的选择及使用。2.课程设计题目描述和要求题目描述:电子钟的设计制作要求:用80C51/52单片机编程控制显示的电子钟。(1)要有8位LED显示器,分别显示“年号:月份:日期”/“时:分:秒:毫秒”先显示年份再显示日期。(2)可以设置四个输入按键,功能分别是“移位”,“数字+”,“数字-”,“存储”,即“SHIFT”,“NUM+”,“NUM-”,“SAVE”。(3) 显示过程:实验板通电开机后,8位LED显示器显示“时:分:秒”。按下“SHIFT”后第一位数字闪动,继续按下“SHIFT”后面数字闪动移位。再按“NUM+”数字增加,按“NUM-”数字减少,按“SAVE”储存修改结果。(4)能够正确安装和焊接硬件电路板。拿到元器件后,用万用表对电子元器件进行参数测量、检查。焊接时,要焊点饱满、光洁,无虚焊、漏焊、错焊。(5)熟悉单片机系统的工作原理及调测方法。软硬件安装调测完成后根据系统的工作原理、过程、测试数据及遇到的问题与处理情况、体会等完成课设报告。3.课程设计报告内容3.1课题设计方案及基本原理通过对单片机AT89C52软件编程来控制硬件使数码管显示年份与时间,并且可以通过按键来控制时间及年份的修改。基本原理:单片机AT89C52 P0.0P0.3来判断按键是否按下,当按键按下时,P0.0P0.3为低电平,单片机程序对应为00H。通过P1,0P1.3控制4511的4个输入端,进行译码输出,4511的输出端7段段码送数码管显示。P1.4P1.7控制4028的4个输入端进行位选输出9个状态,然后经过两个2003进行驱动让数码管能按按键要求显示。3.2 硬件电路介绍电路原理图:CD4028 是BCD码410译码器,它由4个缓冲输入端口、译码逻辑门和10个缓冲器组成。加至四个输入端口A0A3的一个BCD码在十个十进制译码器输出十个相应的顺序脉冲,输出为高电平有效。同样,若A30,加在输出口具有高驱动能力,以在高输出应用中增强直流和动态性能。BCD十进制译码器4028的引脚图如上页原理图中所示。3.3 软件设计基本思路:(1)动态扫描显示LED电路程序: 设立8个内部RAM 显示缓冲区 ,将要显示的数据的BCD码送显示缓冲区,程序只需要将显示缓冲区的BCD码,送相应的端口即可。动态扫描显示 例如:将40H-48H 为“时:分:秒:毫秒”显示区 将49H-4FH 为“年:月:日”显示区(2)动态扫描键盘程序: 循环扫描有无按键,有:判断是何按键,转入相应子程序处理。无:返回主程序执行。(3)定时器设置与时间处理的程序: 此段为该程序段的关键所在,它决定时间的准确性,和进位的正确性。定时器计数可用中断方式,也可以用软件查询方式进行。定时器中断定时方式的精确度高。采用软件延时方式要注意每条指令的机器周期的精确计算,否则会造成时间的不准。(4) 各项功能键的子程序模块:移位子程序:按下“SHIFT”后左边第一位数字闪动,继续按下“SHIFT”后面数字闪动移位。程序中可设置第二显示缓冲区,将移到要闪动的数字位设为不显示(黑)“0FFH/00H”,程序只需要将两组显示缓冲区的BCD码,分时间间隔发送出去,就会产生数字闪动效果。数字+/-:将要显示的数据缓冲区的内容取出加一/减一,注意每个位都有自己的位限制,如“时”的位最大数23,“分、秒”最大数59,“月”最大数 12,“日” 最大数 31。两位数一起调整比较方便。还要注意的是计数后二/十进制之间的转换问题。“存储”:即将修改好的数值存储到显示缓冲区,并返回,进入主程序运行。软件设计流程图:开始 初 始 化 判断按键0是否按下是否判断40H的内容判断40H的内容为0为0为1为1显示日期显示时间否否判断按键1是否按下判断按键1是否按下是日闪烁毫秒闪烁再次按下按键1再次按下按键1按键2、3为加、减调整月闪烁秒闪烁再一次按下按键1再一次按下按键1年闪烁分闪烁再一次按下按键1按下按键4时闪烁退出调整并保存3.4 调试过程(1)根据实验原理图焊接电路,然后进行硬件调试,用万用表点对点测量,看电路是否焊接好。特别是芯片的引脚,看是否连通,如:AT89C52芯片的18脚与信号连通的话,用示波器测量18脚时就会出现比较标准的正弦波。对按键进行测试时,如果按键没有按下,测量按键两端就会有大概5V的电压,如果按键两端没有电压,说明按键已经按下,按下后其已经接地。(2)然后进行软件编程,对其进行功能仿真,仿真时要对仿真器进行设置,不然会出现超出地址范围的错误。然后进行断点设置,观察运行状态,看外部寄存器中20H2AH中单元的变化,看是否达到要求,编程时注意对于在后面将发生变化的寄存器单元要进行清零操作,不然会影响后面的结果,对于加操作后要进行十进制调整,并且DA A的指令只对寄存器A操作。(3)将编写好的程序用烧录器烧录到AT89C52芯片中,然后再安装到硬件电路板上,接通512V的电源后会先显示时间,按键切换以后将显示日期,再切换后毫秒会闪烁通过+按键可对其进行加操作,按键进行减操作。依次进行时间的修改,按保存后,再切换将进行从日到年对日期修改。3.5 遇到的问题及解决方法(1)当我把程序下载到AT89C52芯片中,然后再安装到硬件电路板上,接通512V的电源后,我发现LED数码管只有左边一半是亮的,我编的程序是让所有LED数码管都亮。解决方法:我用别人的硬件试了一下我的芯片所有LED数码管都亮了,这肯定是我的硬件电路的问题,我找老师帮忙,老师先用万用表检查控制显示的CD4028芯片是否接通,发现是好的,然后用示波器检查AT89C52左边引脚的波形,发现左边第三个引脚没有波形,其次又发现CD4028芯片有一个引脚也没波形,老师断定是我的CD4028芯片坏了,最后老师给我换了一个CD4028芯片,再测试后就好了。(2)编译后指令超出地址范围。解决方法:可以采用接力的方式先转到中间再转到所要转的地方,灵活运用指令就会解决一些问题。(3)按键不是很灵敏,按的太快没反应,或者按键反应太快了按一下跳好几下。解决方法:按键延时时间太长或太短了,将延时时间调整到1020毫秒,就可以解决了。4.实验总结 对单片机AT89C52芯片内部结构以及各引脚功能有了进一步的了解,对硬件的焊接更加熟练,能基本做到不拖焊、虚焊,并且一次成功。第一次接触这么长程序的编写,思路开始很模糊,许多子程序不知道放哪里比较好,有时主程序也很模糊,通过参考别人的程序有了一定的思维,再根据自己的想法对别人的程序进行了一定的修改,就变为自己的东西,通过这次编写,我了解到思维逻辑性要在掌握程序的基础之上,这样才能做到有序,有条理。编写程序思路是很重要的,首先理清思路,画出程序流程图,根据流程图,一步步用指令实现。参考资料1 陈青.单片计算机原理课程设计指导书.华中科技大学武昌分校2012.1.82 姜志海.单片微机原理及应用.北京:电子工业出版社.2005.3 李群芳.肖看.单片机原理、接口及应用.北京:清华大学出版社.2005.附录1 硬件实物图 ORG 0000H AJMP MAIN1 ORG 001BH AJMP T1INT ORG 0030HMAIN1: MOV SP,#70H ;初始化 CLR A CLR 20H.1 MOV TMOD,#20H MOV TH1,#06H MOV TL1,#06H SETB EA SETB ET1 SETB TR1 MOV 31H,#00H MOV 32H,#58H MOV 33H,#58H MOV 34H,#23H MOV 35H,#27H MOV 36H,#02H MOV 37H,#12H MOV 38H,#20H MOV 40H,#0 ;标志位 MOV R0,#31H MOV R1,#32HLOPA:JNB 20H.1,NEXT1 CLR 20H.1 MOV A,#1 ADD A,31H ;到10毫秒 DA A MOV 31H,A CJNE A,#100H,NEXT1 MOV 31H,#0 MOV A,#1 ADD A,32H ;到一秒 DA A MOV 32H,A CJNE A,#60H,NEXT1 MOV 32H,#0 MOV A,#1 ADD A,33H ;到一分 DA A MOV 33H,A CJNE A,#60H,NEXT1 MOV 33H,#0 MOV A,#1 ADD A,34H ;到一时 DA A MOV 34H,A CJNE A,#24H,NEXT1 MOV 34H,#0 MOV A,#1 ADD A,35H ;到一天 DA A MOV 35H,A LCALL TIAO_TIAN MOV 35H,#01H MOV A,#1 ADD A,36H ;到一月 DA A MOV 36H,A CJNE A,#13H,NEXT1 MOV 36H,#01H MOV A,#1 ;到一年 ADD A,37H DA A MOV 37H,A CJNE A,#100H,NEXT1 MOV 37H,#00H MOV A,#1 ADD A,38H DA A MOV 38H,A CJNE A,#100H,NEXT1 MOV 38H,#00H RET;-切换时间和年-NEXT1: JB P0.0,LOPB ;判断是否切换 JNB P0.0, $ MOV A,R0 CJNE A,#35H,LOPC MOV R0,#31H MOV R1,#32H LJMP LOPB LOPC: MOV R0,#35H MOV R1,#36H LOPB: LCALL DISP JB P0.1,LOP0;判断按键进入调整 JNB P0.1,$ LCALL LOP1 ;设置时间和日期LOP0: LJMP LOPA;-调时间和日期-LOP1: JB P0.1,LOP2 ;判断是否退出调整 JNB P0.1,$ RETLOP2: JB P0.4,LOP3 ;判断是否移位 JNB P0.4,$ INC 40H ;指针加一 MOV A,40H CJNE A,#04H,LOP3 ;没有到最前两位 MOV 40H,#0LOP3: MOV A,40H ;判断是哪一位调整 CJNE A,#0,N_HAO_HUO_RI JB P0.2,LUOA ;进入加调整 JNB P0.2,$ MOV A,R0 ;调毫秒或者天数 CJNE A,#31H,AOP1 ;加毫秒 MOV A,#1 ADD A,31H DA A MOV 31H,A CJNE A,#100H,LUOA MOV 31H,#0 LJMP LUOAAOP1: MOV A,#1 ;加天数 ADD A,35H DA A MOV 35H,A LCALL TIAO_TIAN LJMP LUOALUOA: MOV R4,#30HLUO1: LCALL DISP DJNZ R4,LUO1 MOV R4,#30HLUO2: LCALL DISP1 DJNZ R4,LUO2 LJMP LOP1N_HAO_HUO_RI:CJNE A,#1,N_MIAO_HUO_YUE JB P0.2,LUOB JNB P0.2,$ MOV A,R1 ;调秒或者月 CJNE A,#32H,AOP2 MOV A,#1 ;加秒 ADD A,32H DA A MOV 32H,A CJNE A,#60H,LUOB MOV 32H,#0 LJMP LUOBAOP2: MOV A,#1 ;加月 ADD A,36H DA A MOV 36H,A CJNE A,#13H,LUOB MOV 36H,#01H LUOB: MOV R4,#30HLUO3: LCALL DISP DJNZ R4,LUO3 MOV R4,#30HLUO4: LCALL DISP2 DJNZ R4,LUO4 LJMP LOP1N_MIAO_HUO_YUE:CJNE A,#2,SHI_HUO_NIANGAO JB P0.2,LUOC JNB P0.2,$ INC R0 ;R0加2 INC R0 MOV A,R0 ;调分或者年低两位 CJNE A,#33H,AOP3 MOV A,#1 ;加分 ADD A,33H DA A MOV 33H,A CJNE A,#60H,LOPP1 MOV 33H,#0LOPP1:DEC R0 DEC R0 LJMP LUOCAOP3: DEC R0 DEC R0 MOV A,#1 ;加年低两位 ADD A,37H DA A MOV 37H,A CJNE A,#100H,LUOD MOV 37H,#0 LJMP LUOCLUOC: MOV R4,#30HLUO5: LCALL DISP DJNZ R4,LUO5 MOV R4,#30HLUO6: LCALL DISP3 DJNZ R4,LUO6 LJMP LOP1SHI_HUO_NIANGAO: JB P0.2,LUOD JNB P0.2,$ INC R1 INC R1 MOV A,R1 CJNE A,#34H,AOP4 MOV A,#1 ;加时 ADD A,34H DA A MOV 34H,A CJNE A,#24H,LOPP2 MOV 34H,#0 LJMP LOPP2 AOP4: DEC R1 DEC R1 MOV A,#1 ;加年高两位 ADD A,38H DA A MOV 38H,A CJNE A,#100H,LUOD MOV 38H,#0 LJMP LUOD LOPP2: DEC R1 DEC R1LUOD: MOV R4,#30HLUO7: LCALL DISP DJNZ R4,LUO7 MOV R4,#30HLUO8: LCALL DISP4 DJNZ R4,LUO8 LJMP LOP1;-月份天数的确定-TIAO_TIAN:MOV A,36H ;将月份数给A CJNE A,#02,NOT_2_YUE MOV A,37H CJNE A,#00H,DIV4;判断是否为闰年 MOV A,38H MOV 21H,A ANL A,#0F0H SWAP A MOV B,#10 MUL AB MOV 22H,A MOV A,21H ANL A,#0FH ADD A,22H MOV B,#4 DIV AB MOV A,B CJNE A,#00H,PING_NIAN SJMP RUN_NIAN DIV4:MOV A,37H MOV 23H,A ANL A,#0F0H SWAP A MOV B,#10 MUL AB MOV 24H,A MOV A,23H ANL A,#0FH ADD A,24H MOV B,#4 DIV AB MOV A,B CJNE A,#00H,PING_NIAN SJMP RUN_NIANRUN_NIAN:MOV A,35H CJNE A,#30H,TIAO1 MOV 35H,#01 SJMP TIAO1PING_NIAN: MOV A,35H CJNE A,#29H,TIAO1 MOV 35H,#01 SJMP TIAO1NOT_2_YUE: MOV A,36H CJNE A,#4,NOT_4 SJMP DAY30NOT_4: CJNE A,#6,NOT_6 SJMP DAY30NOT_6:CJNE A,#9,NOT_9 SJMP DAY30NOT_9:CJNE A,#11H,DAY31 SJMP DAY30DAY30:MOV A,35H CJNE A,#31H,TIAO1 MOV 35H,#01 LJMP TIAO1DAY31:MOV A,35H CJNE A,#32H,TIAO1 MOV 35H,#01TIAO1: RET;-定时-T1INT: PUSH ACC PUSH PSW INC 30H MOV A,#28H XRL A,30H JNZ STF MOV 30H,A SETB 20H.1STF: POP PSW POP ACC RETI;-显示-DISP: MOV A,R0 ORL A,#0F0H ANL A,#0FH MOV P1,A ACALL DEL1MS MOV A,R0 ORL A,#0FH SWAP A ANL A,#1FH MOV P1,A ACALL DEL1MSMOV A,R1 ORL A,#0F0H ANL A,#2FH MOV P1,A ACALL DEL1MS MOV A,R1 ORL A,#0FH SWAP A ANL A,#3FH MOV P1,A ACALL DEL1MSINC R0 INC R0 INC R1 INC R1 MOV A,R0 ORL A,#0F0H ANL A,#4FH MOV P1,A ACALL DEL1MS MOV A,R0 ORL A,#0FH SWAP A ANL A,#5FH MOV P1,A ACALL DEL1MS MOV A,R1 ORL A,#0F0H ANL A,#6FH MOV P1,A ACALL DEL1MS MOV A,R1 ORL A,#0FH SWAP A ANL A,#7FH MOV P1,A ACALL DEL1MS DEC R0 DEC R0 DEC R1 DEC R1 RETDISP1: MOV A,R1 ORL A,#0F0H ANL A,#2FH MOV P1,A ACALL DEL1MS MOV A,R1 ORL A,#0FH SWAP A ANL A,#3FH MOV P1,A ACALL DEL1MS INC R0 INC R0 INC R1 INC R1 MOV A,R0 ORL A,#0F0H ANL A,#4FH MOV P1,A ACALL DEL1MSMOV A,R0 ORL A,#0FH SWAP A ANL A,#5FH MOV P1,A ACALL DEL1MSMOV A,R1 ORL A,#0F0H ANL A,#6FH MOV P1,A ACALL DEL1MS MOV A,R1 ORL A,#0FH SWAP A ANL A,#7FH MOV P1,A ACALL DEL1MS DEC R0 DEC R0 DEC R1 DEC R1 RETDISP2: MOV A,R0 ORL A,#0F0H ANL A,#0FH MOV P1,A ACALL DEL1MS MOV A,R0 ORL A,#0FH SWAP A ANL A,#1FH MOV P1,A ACALL DEL1MSINC R0 INC R0 INC R1 INC R1 MOV A,R0 ORL A,#0F0H ANL A,#4FH MOV P1,A ACALL DEL1MSMOV A,R0 ORL A,#0FH SWAP A ANL A,#5FH MOV P1,A ACALL DEL1MSMOV A,R1 ORL A,#0F0H ANL A,#6FH MOV P1,A ACALL DEL1MS MOV A,R1 ORL A,#0FH SWAP A ANL A,#7FH MOV P1,A ACALL DEL1MS DEC R0 DEC R0 DEC R1 DEC R1 RETDISP3:MOV A,R0 ORL A,#0F0H ANL A,#0FH MOV P1,A ACALL DEL1MSMOV A,R0 ORL A,#0FH SWAP A ANL A,#1FH MOV P1,A ACALL DEL1MSMOV A,R1 ORL A,#0F0H ANL A,#2FH MOV P1,A ACALL DEL1MSMOV A,R1 ORL A,#0FH SWAP A ANL A,#3FH MOV P1,A ACALL DEL1MSINC R0 INC R0 INC R1 INC R1MOV A,R1 ORL A,#0F0H ANL A,#6FH MOV P1,A ACALL DEL1MSMOV A,R1 ORL A,#0FH SWAP A ANL A,#7FH MOV P1,A ACALL DEL1MS DEC R0 DEC R0 DEC R1 DEC R1 RETDISP4: MOV A,R0 ORL A,#0F0H ANL A,#0FH MOV P1,A ACALL DEL1MS MOV A,R0 ORL A,#0FH SWAP A ANL A,#1FH MOV P1,A ACALL DEL1MS MOV A,R1 ORL A,#0F0H ANL A,#2FH MOV P1,A ACALL DEL1MS MOV A,R1 ORL A,#0FH SWAP A ANL A,#3FH MOV P1,A ACALL DEL1MS INC R0 INC R0 INC R1 INC R1 MOV A,R0 ORL A,#0F0H ANL A,#4FH MOV P1,A ACALL DEL1MS MOV A,R0 ORL A,#0FH SWAP A ANL A,#5FH MOV P1,A ACALL DEL1MSDEC R0 DEC R0 DEC R1 DEC R1 RETDEL1MS:MOV R5,#05H ;延时一毫秒LOOP1: MOV R6,#3BHLOOP2: DJNZ R6,LOOP2 DJNZ R5,LOOP1 RET LOOP: SJMP $ END课程设计成绩评定表成绩评定项 目比例得 分平时成绩(百分制记分)30%业务考核成绩(百分制记分)70%总评成绩(百分制记分)100%评定等级优 良 中 及格 不及格指导教师(签名):20 年 月 日
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!