ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:98.02KB ,
资源ID:11308360      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11308360.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计报告.docx

1、单片机课程设计报告单片机技术与应用课程设计报告题 目: 单片机小系统电子钟的设计 院 (系): 信息科学与技术系 专业班级: 电子信息工程0901班 学生姓名: 王 海 毅 学 号: 指导教师: 陈 青 20 12 年 6 月 11 日至2012 年 6 月 25 日华中科技大学武昌分校制 单片机技术与应用 课程设计任务书一、设计(调查报告/论文)题目课题一:单片机小系统电子钟的设计二、设计(调查报告/论文)主要内容设计制作要求:用80C51/52单片机编程控制显示的电子钟。 1)要有8位LED显示器,分别显示 “年号:月份:日期”/“时:分:秒:毫秒”例如“2005。10。 20”表示“20

2、05年10月20日”/“10 52 49 99” 表示“10时52分49秒99毫秒”2)要有四位输入按键,功能分别是“移位”,“数字+”,“数字-”,“存储”即“SHIFT”,“NUM+”,“NUM-”,“SAVE”3)显示过程:实验板通电开机后,8位LED显示器显示“时:分:秒” 按下“SHIFT”后第一位数字闪动,继续按下“SHIFT”后面数字闪动移位。再按“NUM+”数字增加,按“NUM-”数字减少,按“SAVE”储存修改结果。三、原始资料参看单片计算机原理课程设计指导书和教材。四、要求的设计(调查/论文)成果能够在制定的小系统板上成功演示,并通过验收回答相关问题,给出设计分数。五、进程

3、安排整个课程设计安排1周完成周一:1、讲解课题内容,2、同学自选课题,3、发放课题元器件,4、焊接电路板周二:1、完善电路板焊接,2、编写调试课题软件周三、四:编写调试课题软件周五:验收课题,回答课题程序内容。六、主要参考资料1 陈青.单片计算机原理课程设计指导书.华中科技大学武昌分校 姜志海.单片微机原理及应用.北京:电子工业出版社.2005.3 李群芳.肖看.单片机原理、接口及应用.北京:清华大学出版社.2005.指导教师(签名): 2012年 06月 11日1. 课程设计的目的(1)单片机系统的整体设计流程。(2)能够正确安装和焊接硬件电路板。(3)单片机系统的硬件、软件调试方法及相关工

4、具的使用。(4)各种常见元器件的选择及使用。2.课程设计题目描述和要求题目描述:电子钟的设计制作要求:用80C51/52单片机编程控制显示的电子钟。(1)要有8位LED显示器,分别显示“年号:月份:日期”/“时:分:秒:毫秒”先显示年份再显示日期。(2)可以设置四个输入按键,功能分别是“移位”,“数字+”,“数字-”,“存储”,即“SHIFT”,“NUM+”,“NUM-”,“SAVE”。(3) 显示过程:实验板通电开机后,8位LED显示器显示“时:分:秒”。按下“SHIFT”后第一位数字闪动,继续按下“SHIFT”后面数字闪动移位。再按“NUM+”数字增加,按“NUM-”数字减少,按“SAVE

5、”储存修改结果。(4)能够正确安装和焊接硬件电路板。拿到元器件后,用万用表对电子元器件进行参数测量、检查。焊接时,要焊点饱满、光洁,无虚焊、漏焊、错焊。(5)熟悉单片机系统的工作原理及调测方法。软硬件安装调测完成后根据系统的工作原理、过程、测试数据及遇到的问题与处理情况、体会等完成课设报告。3.课程设计报告内容课题设计方案及基本原理通过对单片机AT89C52软件编程来控制硬件使数码管显示年份与时间,并且可以通过按键来控制时间及年份的修改。基本原理:单片机AT89C52 来判断按键是否按下,当按键按下时,为低电平,单片机程序对应为00H。通过P1,0控制4511的4个输入端,进行译码输出,451

6、1的输出端7段段码送数码管显示。控制4028的4个输入端进行位选输出9个状态,然后经过两个2003进行驱动让数码管能按按键要求显示。 硬件电路介绍电路原理图:CD4028 是BCD码410译码器,它由4个缓冲输入端口、译码逻辑门和10个缓冲器组成。加至四个输入端口A0A3的一个BCD码在十个十进制译码器输出十个相应的顺序脉冲,输出为高电平有效。同样,若A30,加在输出口具有高驱动能力,以在高输出应用中增强直流和动态性能。BCD十进制译码器4028的引脚图如上页原理图中所示。 软件设计基本思路:(1)动态扫描显示LED电路程序: 设立8个内部RAM 显示缓冲区 ,将要显示的数据的BCD码送显示缓

7、冲区,程序只需要将显示缓冲区的BCD码,送相应的端口即可。动态扫描显示 例如:将40H-48H 为“时:分:秒:毫秒”显示区 将49H-4FH 为“年:月:日”显示区(2)动态扫描键盘程序: 循环扫描有无按键,有:判断是何按键,转入相应子程序处理。无:返回主程序执行。(3)定时器设置与时间处理的程序: 此段为该程序段的关键所在,它决定时间的准确性,和进位的正确性。定时器计数可用中断方式,也可以用软件查询方式进行。定时器中断定时方式的精确度高。采用软件延时方式要注意每条指令的机器周期的精确计算,否则会造成时间的不准。(4) 各项功能键的子程序模块:移位子程序:按下“SHIFT”后左边第一位数字闪

8、动,继续按下“SHIFT”后面数字闪动移位。程序中可设置第二显示缓冲区,将移到要闪动的数字位设为不显示(黑)“0FFH/00H”,程序只需要将两组显示缓冲区的BCD码,分时间间隔发送出去,就会产生数字闪动效果。数字+/-:将要显示的数据缓冲区的内容取出加一/减一,注意每个位都有自己的位限制,如“时”的位最大数23,“分、秒”最大数59,“月”最大数 12,“日” 最大数 31。两位数一起调整比较方便。还要注意的是计数后二/十进制之间的转换问题。“存储”:即将修改好的数值存储到显示缓冲区,并返回,进入主程序运行。软件设计流程图:开始 调试过程(1)根据实验原理图焊接电路,然后进行硬件调试,用万用

9、表点对点测量,看电路是否焊接好。特别是芯片的引脚,看是否连通,如:AT89C52芯片的18脚与信号连通的话,用示波器测量18脚时就会出现比较标准的正弦波。对按键进行测试时,如果按键没有按下,测量按键两端就会有大概5V的电压,如果按键两端没有电压,说明按键已经按下,按下后其已经接地。(2)然后进行软件编程,对其进行功能仿真,仿真时要对仿真器进行设置,不然会出现超出地址范围的错误。然后进行断点设置,观察运行状态,看外部寄存器中20H2AH中单元的变化,看是否达到要求,编程时注意对于在后面将发生变化的寄存器单元要进行清零操作,不然会影响后面的结果,对于加操作后要进行十进制调整,并且DA A的指令只对

10、寄存器A操作。(3)将编写好的程序用烧录器烧录到AT89C52芯片中,然后再安装到硬件电路板上,接通512V的电源后会先显示时间,按键切换以后将显示日期,再切换后毫秒会闪烁通过+按键可对其进行加操作,按键进行减操作。依次进行时间的修改,按保存后,再切换将进行从日到年对日期修改。 遇到的问题及解决方法(1)当我把程序下载到AT89C52芯片中,然后再安装到硬件电路板上,接通512V的电源后,我发现LED数码管只有左边一半是亮的,我编的程序是让所有LED数码管都亮。解决方法:我用别人的硬件试了一下我的芯片所有LED数码管都亮了,这肯定是我的硬件电路的问题,我找老师帮忙,老师先用万用表检查控制显示的

11、CD4028芯片是否接通,发现是好的,然后用示波器检查AT89C52左边引脚的波形,发现左边第三个引脚没有波形,其次又发现CD4028芯片有一个引脚也没波形,老师断定是我的CD4028芯片坏了,最后老师给我换了一个CD4028芯片,再测试后就好了。(2)编译后指令超出地址范围。解决方法:可以采用接力的方式先转到中间再转到所要转的地方,灵活运用指令就会解决一些问题。(3)按键不是很灵敏,按的太快没反应,或者按键反应太快了按一下跳好几下。解决方法:按键延时时间太长或太短了,将延时时间调整到1020毫秒,就可以解决了。4.实验总结 对单片机AT89C52芯片内部结构以及各引脚功能有了进一步的了解,对

12、硬件的焊接更加熟练,能基本做到不拖焊、虚焊,并且一次成功。第一次接触这么长程序的编写,思路开始很模糊,许多子程序不知道放哪里比较好,有时主程序也很模糊,通过参考别人的程序有了一定的思维,再根据自己的想法对别人的程序进行了一定的修改,就变为自己的东西,通过这次编写,我了解到思维逻辑性要在掌握程序的基础之上,这样才能做到有序,有条理。编写程序思路是很重要的,首先理清思路,画出程序流程图,根据流程图,一步步用指令实现。参考资料1 陈青.单片计算机原理课程设计指导书.华中科技大学武昌分校 姜志海.单片微机原理及应用.北京:电子工业出版社.2005.3 李群芳.肖看.单片机原理、接口及应用.北京:清华大

13、学出版社.2005.附录1 硬件实物图 ORG 0000H AJMP MAIN1 ORG 001BH AJMP T1INT ORG 0030HMAIN1: MOV SP,#70H ;初始化 CLR A CLR 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,#3

14、1H MOV R1,#32HLOPA:JNB ,NEXT1 CLR 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 MO

15、V 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;-切换时间和年-NEXT

16、1: JB ,LOPB ;判断是否切换 JNB , $ 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 ,LOP0;判断按键进入调整 JNB ,$ LCALL LOP1 ;设置时间和日期LOP0: LJMP LOPA;-调时间和日期-LOP1: JB ,LOP2 ;判断是否退出调整 JNB ,$ RETLOP2: JB ,LOP3 ;判断是否移位 JNB ,$ INC 40H ;指针加一 MOV A,40H CJNE A,#

17、04H,LOP3 ;没有到最前两位 MOV 40H,#0LOP3: MOV A,40H ;判断是哪一位调整 CJNE A,#0,N_HAO_HUO_RI JB ,LUOA ;进入加调整 JNB ,$ 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,#30HL

18、UO1: 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 ,LUOB JNB ,$ 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,LU

19、OB MOV 36H,#01HLUOB: 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 ,LUOC JNB ,$ 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:DE

20、C 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 ,LUOD JNB ,$ INC R1 INC R1 MOV A,R1 CJNE A,#34H,AOP4 MOV A,#1

21、;加时 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;-月份天数的确定-TIA

22、O_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 M

23、OV 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 DAY30N

24、OT_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 STF: POP PSW POP ACC RETI;-显示-DISP: MOV A,

25、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 DEL1M

26、S 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

27、,#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

28、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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1