89C51单片机课程设计之秒表设计实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机课程设计报告单片机秒表系统课程设计班级:课程名称:秒表设计成员:实训地点:北校机房实训时间:6月4日至6月15日目录1课程设计的目的和任务1.1单片机秒表课程设计的概述1.2课程设计思路及描述1.3课程设计任务和要求2硬件与软件的设计流程2.1系统硬件方案设计2.2所需元器件3程序编写流程及课程设计效果3.1源程序及注释3.2原理图分析3.3课程设计效果4心得体会1.课程设计的目的和任务1.1单片机秒表课程设计的概述一、课程设计题目秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。二、增加功能增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。三、课程设计的难点单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。四、课程设计内容提要本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”.key3按键按下去时数码管暂停。五、课程设计的意义1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。2)掌握定时器、外部中断的设置和编程原理。3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义1.2课程设计思路及描述该课程设计要求进行计时并在数码管上显示时间,则可利用MCS-51系列单片机的芯片AT89C51的P3.2,P3.3,RST作为按键的入口;定时器T1作为每0.1秒加一的定时器。其中“开始”按键当开关由上向下拨时开始计时,此时若再拨“暂停”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时。1.3课程设计任务和要求1.3.1设计指标。了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、9分59.9秒、清零等功能,精确到0.1秒。要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零等功能。2.软件与硬件设计2.1系统硬件方案设计单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。2.2所需原器件名称数量四位数码管1个200欧电阻13个1千欧电阻4个开关3个电容3个晶振1个三极管4个AT89C511个导线若干AT89C51的接口连接示意图四位数码管的接口连接示意图共阴级数码管编码主程序流程图:子程序流程图3.程序编写的流程及课程设计效果3.1源程序及注释ORG0000HAJMPTOUORG000BH外部中断0入口地址LJMPMIAOORG0003H外部中断0入口地址LJMPKGORG0030H定时器中0断入口地址TOU:MOVB,#02HMOVR3,#00HMOVR4,#00HMOVR5,#00HMOVR6,#00HMOVTMOD,#01H定时器0工作在方式1MOVTL0,#0B0H初始值为3CB0H,即计数50000次MOVTH0,#3CHCLRIT1SETBEA总中断EA=1SETBET0定时器T0的溢出中断允许控制位SETBTR0定时器0开始计数SETBEX0外部中断0中断请求允许控?制位SETBPX0外部中断0为优先级S1:S1:LCALLXSSJMPS1短跳转MIAO:MOVTL0,#0B0HMOVTH0,#3CHDJNZB,FHMOVB,#02HINCR3CJNER3,#0AH,FH判断毫秒值是否为10MOVR3,#00HINCR4CJNER4,#0AH,FH判断个位秒值是否为10MOVR4,#00HINCR5CJNER5,#06H,FH判断十位秒值是否为6MOVR5,#00HINCR6CJNER6,#0AH,FH判断分值是否为10MOVR3,#00HMOVR4,#00HMOVR5,#00HMOVR6,#00HFH:LCALLXS调用显示子程序RETI中断返回XS:MOVDPTR,#TABMOVA,R3MOVCA,@A+DPTR查得字形码MOVP2,ACLRP1.0;P1.0清零LCALLDEL调用延时子程序SETBP1.0;P1.0置1MOVA,R4MOVCA,@A+DPTR查得字形码MOVP2,ACLRP1.1LCALLDEL调用延时子程序SETBP1.1MOVA,R5MOVCA,@A+DPTR查得字形码MOVP2,ACLRP1.2LCALLDEL调用延时子程序SETBP1.2MOVA,R6MOVCA,@A+DPTR查得字形码MOVP2,ACLRP1.3LCALLDEL调用延时子程序SETBP1.3RETKG:CLRTR0;关闭定时器0CLRET0S2:LCALLXSJBP3.3,S2;P3.3为跳转到S2SETBTR0;开定时器0SETBET0RETIDEL:延时函数MOVR1,#10DE:MOVR2,#60DJNZR2,$DJNZR1,DERETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND3.2原理图4心得体会经过两个星期的课程设计,使我们加深了单片机课程的了解,我们花费了很多的时间和精力,比如说单片机书籍和以前不太懂的知识,我觉得这几天让我们过得十分充实,我相信其余的队友也有相同的看法,下面是我们的一些心得体会:1.将学习的理论知识通过实验融会贯通,让我对它的理解更加深刻,对程序的编译过程也有一定了解。2.本次课程设计是以团队为主,没有团队的力量,在较短的时间内完成是难以实现的,因此培养了我们积极合作、认真的态度,每个人都有不同分工和任务,做好一个电子秒表成为了一件很开心的事情,增进了同学们之间的沟通与交流。3.本次课程设计不仅设计了编程和单片机的知识,也涉及其他两门学科上的知识,真是学海无涯啊。4.在实训过程中,遇到了许多的问题。主要是程序的编写、编译、还有下载,一开始由于自己的粗心大意和对单片机知识掌握的不够,导致程序不断出错无法编译,一开始我们无法理清头绪,但是我们通过寻找资料,向老师咨询,同学帮助总算是把程序编写完成。程序编完以后下一个问题就是用用面包板接线路,新的问题也就随之而来,本以为对着画好的的电路直接接就可以圆满成功的,但是由于自己的实践经验不好,线路总是接不好,勉强接好程序也没办法运行,本来原定周四就能完成的一直拖到了周五晚上加班,最后在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期两周的单片机课程设计没有浪费,我们从中学到了很多知识,也让我们对单片机有了更深一步的了解。总而言之,通过本次实验不仅加深了我们对单片机理论知识的理解,将理论更好的应用到实践中,而且锻炼了我们各个方面的能力,培养了坚强的意志和做事的耐心和细心,认识到合作的重要性,虽然过程中还有不足之处,这需要在实践中不断的锻炼才能提高,希望各位老师和同学多多知道,促进我们进步。本次实验也让我们了解到自己的不足之处,很多的东西还是没有学好。所以说实验可能有瑕疵之处。

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功