资源描述
一:课题名称:
99秒马表
二:设计人员
张建科 赵成峰
三:指导老师
王丽 孙少杰 柴学平
四:设计时间:
2009年12月21日----2010年1月2日
五:确定方案
课程设计为学生提供了一个动手动脑的平台,在这里,你可以检验你一学期以来的学习情况,同时可以展现我们的才华,尤其是锻炼我们的创新能力和学识与实践相结合的能力,可以说,课程设计给了我们成长的一个机会。当然,做好一个课程设计不全是要把我们所学到的东西全部运用在上面,最重要的是灵活的运用我们所学到的知识,并且讲究制作的效率和质量。一个好的课程设计不仅仅是我们以前的一个总结和检验,更是为我们以后的学习创造机会和条件。以往每次做完课程设计,都会给我们带来浓厚的兴趣,为我们以后的学习增加积极性和动力,可以说做课程设计对我们的学习和成长起到了承前启后的作用。
马表在实际生活中的运用十分广泛,比如在赛跑等各类运动项目中。本次课程设计我们经过查阅很多资料以及深思熟虑,我们决定制作一个99马表,一方面是由于我们的能力有限,对于电路的连接,电路图的制作,电路的焊接等各个方面都不懂,马表的制作过程简单、易懂为我们的成功的制作提供了保障。另一方面,马表在实际生活中经常能够见到,并且它的操作简单,我们对它的一些功能和工作原理以及它所用的元器件都有一些了解,综合很多原因,我们最终决定制作一个马表。
六:系统的仿真实现
1、功能说明
此次课程设计所包含的功能有:
①开始时,显示“00”,第一次按T1后就开始计时,至99时返回,重新从00开始计时。
②第2次按T1后,计时停止。
③第3次按T1后,计时归零
2、设计要求
1、采用单片机为核心器件,构成电子秒表系统。
2、用两个单LED数码管分别显示马表的个位和是十位。
3、上电时,数码管显示00,当按开关时开始计数。
3、系统设计与实施
课题的设计思路是:由AT89C51产生时钟信号,利用7448芯片与LED数码管相连接,实现时钟的显示。
4、用Prateus画出电路图
①包括单片机最小系统
图3-1 单片机最小系统
②单片机输出显示电路
图3-2 输出显示电路
③晶振电路
图3-3 晶振电路图
5、画出软件系统流程图
显示00
T1=0?
消除抖动
T1=1?
显示初值
T1=2?
开始计时
T1=3?
数码管归零
结束
图3-4 软件系统流程图
6、在Peil中,编写程序,并进行编译,反复调试,直到生成HEX文件。
①电路初值显示代码如下:
ORG 00H
START: ANL P2,#00H ;显示00
JB P3.5,$ ;T1=0?有键按下?
CALL DELAY1 ;消除抖动
JNB P3.5,$ ;T1=1?放开?
MOV R0,#00 ;计时指针初值
②电路的操作控制代码如下:
L1: MOV A,R0 ;计时指针载入ACC
MOV P2,A ;输出至P2显示
MOV P5,#10 ;延时1秒
A1: MOV R6,#200
CALL DELAY
DJNZ R5,A1
MOV A,R0 ;计时指针加1
ADD A,#01H
DA A ;做十进制调整
MOV R0,A ;存回计时指针寄存器
JMP L1 ;重复计时
L2: CALL DELAY1 ;第2次按消除抖动
JB P3.5,L3 ;放开了?是则跳至L3停止计时
JMP L2
L3: JB P3.5,$ ;第3次按T1?
CALL DELAY1 ;消除抖动
L4: JB P3.5,START ;放开了?是则跳至START归零
JMP L4
③电路输出显示代码如下:
DELAY:
D1: MOV R7,#248 ;0.5毫秒
JNB P3.5,L2 ;第2次按T1?
DJNZ R7,$
DJNZ R6,D1
RET
DELAY1:MOV R6,#60 ;30毫秒
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
RET
END
7、在Prateus中进行系统联调,根据运行结果再次修改完善系统
本次课程设计模拟电路的运行图如下:
图3-3 仿真电路的运行图
七:实物制作
1. 要元器件参数的调试,性能
本次课程设计所用的元器件及性能如下表:
序号
器件名称
性能
数量
1
AT89C51 芯片
1个
2
7448芯片
2个
3
数码管
共阴极
2个
4
电阻
470
14个
5
晶振
12MHZ立式
1个
6
电容
20P
2个
7
10U
1个
表4-1 元器件及其性能
2. 主要元器件布局
元器件的布局及焊接的效果图如下:
图4-1 元器件的布局图
图4-2 电路的成品效果图
3. 焊接电路,对各接点测试导通性,确保电路连通后,再往MCV里烧写程序
电路焊接完成后,就需要网AT89c51芯片中烧写程序,完成最终作品。少些程序虽然是一个很简单的工作,但是它却是整个课程设计过程中要求最高的一项工作,如果前期工作不够踏实,不管是电路的问题还是焊接的问题,都会导致制作的失败,所以说烧写程序也是前期工作的一个检测。同时,只有烧写程序成功,才会保证了本次课程设计的成功。
4. 测试并修改完善
一切工作结束之后,最重要的工作就是测试并完善系统。在整个课程设计的过程中,前期的设想都是虚假的,很多都不能期的意向的成果,很多元器件的测量个使用上都存在严重的不足,所以我们在一些工作完成时,我们要做好检测工作,同时对整个设计过程中出现的问题做一总结,以免在以后的学习和生活中再次发生。同时我们还要检测处正确的元器件是性能数据,看看是否可以用其他的元器件能不能取得同样的效果?修改相关数据看看能不能取得同样的效果?能不能在电路中加入其他电路系统?
八:总结
课程设计对提高我们的动手动脑能力有很大的帮助,在这次课程设计当中,我从中体会到了很多,同时也收获了很多,大大的提高了我学习的兴趣。
第一个让我感兴趣的是Prateus画图工具。刚开始,我们大多数人对画图工具一点也不了解,所以王老师就为我们仔细的讲解并让我们做好联系,不知不觉中我就对这个画图工具产生了浓厚的兴趣,不只是它好玩,在这个软件中,有很多我没有见过的元器件,同时在此过程中,随着我对这个画图工具的掌握,我的计算机的运用方面也有了很大的提高,让我对一致向往的3D MAX制作产生了更大的兴趣。
接下来让我头疼的是生成HEX文件,要生成这个文件,需要很多的步骤,从中好牵扯很多东西,我一致无法掌握这种方法,看着身边的同学们一个一个成功的生成HEX文件,并加以运行,我感到很失落。最后在老师和同学们的帮助下,我才对这中方法有了进一步的了解。我知道,要想深刻的了解一个软件的运用或者其他一些方法和技巧,都要勤动手,在实践中达到理解并学会灵活的运用。所以,不管在宿舍还是教室当中,我都在仿照资料书上面的实例在一个一个的实践,最终牢牢的掌握了这个方法。
在整个课程设计当中,最重要的一步就是实物的制作,也就是电路的焊接。这个对于我来说是一个很艰难的工作,因为我以前从来没有接触过这方面的东西。刚开始的适合,我在熟悉电路的同时我一直在学习电路的焊接,在真正焊接的时候,我感觉到无所适从,有时候由于线路的连接,有时候由于焊锡等各方面的原因,经常造成短路或其他不良情况出现,最后在同学和老师的帮助下,经过多次调试和检测,终于完成了我们这次课程设计。
实践出真知,我们要想成为一个真正合格的大学生,要想成为21世纪的一名合格人才,我们的学习不能仅仅局限于书本,我们应该积极创新,积极探索。在这次课程设计过程中,我感觉到我付出了很多,很多问题我都无所适从,根本不知道从哪里入手解决,但我带回了最宝贵、最值得珍惜的收获。近两周的时间,我在课堂上留下的是汗水,带走的是知识。
本次课程设计原则上是三个人一组,我和赵成峰一组,经过同学们和老师的帮助和讲解,我终于做成了我们本次课程设计。我更深的感觉到了团体力量的强大,没有老师和同学们的帮助和支持,我根本不可能完成。在这里我想在此过程中帮助过我的同学和老师郑重的说声谢谢!!
九:致谢
在整个电路设计的过程中,不管是在电路图的设计、仿真模拟电路的设计、元器件的布局、电路的焊接等各个方面都存在很多问题,在老师和各位同学们的帮助下,我们都迎刃而解,取得了很好的成果。在此过程中,不管是从老师身上还是从各位同学们的身上我都学习到了很多很多,尤其是老师不辞辛劳,认真的为我们讲解每一个知识点,让我受益匪浅,让我们认识到了学习的乐趣,同时也让我因为这次课程设计的圆满完成感到自豪,在这里,我向各位老师及帮助过我的同学们表示深深的感谢!!
参考文献:
[1] 51单片机技术和应用系统开发案例精选;江志宏主编;清华大学出版社;
[1] 51单片机开发入门与典型实例;王守中主编;人民邮电出版社;
[3] 51单片机应用设计百例;兰吉昌主编;化学工业出版社;
[4] 51单片机原理与实践;高卫东主编;背景航空航天大学出版社;
[5] 8051单片机典型模型设计与应用;钟富昭主编;人民邮电出版社;
[6] 8051单片机实践与应用;吴金戍主编;清华大学出版社;
[7] 单片机技术基础教程与实践;夏路易主编;电子工业出版社;
[8] 单片机设计与开发;全国电子专业考试教材委员会主编;科学出版社;
[9] 单片机应用系统设计:入门向导与设计实例;韩志军主编;机械工业出版社;
[10] 单片机原理及接口技术;刘德营主编;中国水利水电出版社;
附录:
程序设计代码如下:
ORG 00H
START: ANL P2,#00H ;显示00
JB P3.5,$ ;T1=0?有键按下?
CALL DELAY1 ;消除抖动
JNB P3.5,$ ;T1=1?放开?
MOV R0,#00 ;计时指针初值
L1: MOV A,R0 ;计时指针载入ACC
MOV P2,A ;输出至P2显示
MOV P5,#10 ;延时1秒
A1: MOV R6,#200
CALL DELAY
DJNZ R5,A1
MOV A,R0 ;计时指针加1
ADD A,#01H
DA A ;做十进制调整
MOV R0,A ;存回计时指针寄存器
JMP L1 ;重复计时
L2: CALL DELAY1 ;第2次按消除抖动
JB P3.5,L3 ;放开了?是则跳至L3停止计时
JMP L2
L3: JB P3.5,$ ;第3次按T1?
CALL DELAY1 ;消除抖动
L4: JB P3.5,START ;放开了?是则跳至START归零
JMP L4
DELAY:
D1: MOV R7,#248 ;0.5毫秒
JNB P3.5,L2 ;第2次按T1?
DJNZ R7,$
DJNZ R6,D1
RET
DELAY1:MOV R6,#60 ;30毫秒
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
RET
END
8
第 8 页 共 8 页
展开阅读全文