当前位置:文档之家› 单片机秒表实训报告

单片机秒表实训报告

目录一、设计题目ﻩ错误!未定义书签。

二、ﻩ方案设计ﻩ错误!未定义书签。

三、硬件设计................................................................................ 错误!未定义书签。

1电路图.................................................................................. 错误!未定义书签。

2.I/O口得分配 ................................................................. 错误!未定义书签。

3、电路得工作原理ﻩ错误!未定义书签。

4原件明细ﻩ错误!未定义书签。

四、软件设计3ﻩ1、软件设计得思路............................................................... 错误!未定义书签。

2、程序流程图....................................................................... 错误!未定义书签。

3、总体结构框架介绍ﻩ错误!未定义书签。

4、程序清单........................................................................... 错误!未定义书签。

五、制作与调试............................................................................ 错误!未定义书签。

六、心得体会ﻩ错误!未定义书签。

七、参考文献ﻩ错误!未定义书签。

一、设计题目利用AT89C51单片机设计并制作秒表电路.要求如下:通过LED显示器(数码管)显示秒得十位与个位;设计一个按键,使按键按下去时秒表开始计时,即秒表开始键;设计一个按键,按键按下去时秒表暂停计时,使秒表停留在原先得计时,即计时停止键;设计一个按键,作为秒表得清零按钮,使秒表计数结束后可以清零。

二、方案设计1、该秒表主要由51系列单片机及开关控制数码显示管得显示情况,此秒表可现实显示两位数从00到99得计数,即开始计数、停止计数与清零三种,由手动控制三个开关K1、K2、K3来实现。

2、当接通电源时数码管显示00,然后按动K1使秒表开始计时,在0秒到99秒之间得任何时间均可;若要定时,如只需计时到32秒则在显示器显示到32时按下定时键K2即可;在计时过程中若需要清零,则需按下K3键.3、设计过程中除了向老师请教外,还通过上网查阅资料及翻阅书籍。

上单片机课程时我曾做过关于数码显示器得实验,所以在焊接电路板时可参照实验报告书上得连接方式.要特别注意两数码管引脚得连接及端与三极管得连接,其决定了共阴极与共阳极,此处涉及到编程中初值得写入,为在焊接电路时简洁,因此我采用下面得端,即数码管采用共阴极方式。

主要设计思路就是编写相应程序后由单片机得P0口输出到数码管上,实现数据得显示。

P2、6口控制个位得显示与P2、7口控制十位得显示,P3、5、P3、6、P3、7口分别控制秒表得开始、停止与清零.三、硬件设计1电路图使用Proteus工程软件制图,如下图所示:2。

I/O口得分配P0口就是一个漏极开路8位准双向复用I/O端口,它得P0、0~P0、7口分别接电阻R1~R8,但因为该设计中不需要小数点得显示,即dp端不用接,所以只用接7个阻值为100欧得电阻。

P2口就是一个内部带上拉电阻得8位准双向复用I/O端口,只用其P2、6口与P2、7口输出字位码。

P3口就是一个内部带上拉电阻得8位多功能双向I/O端口,它得每一条引脚均可独立定义为第一功能得输入输出(其主要功能就是它得第二功能,在此不做详细解释).3、电路得工作原理本系统采用模块化设计,以AT89C51单片机为核心,与秒表显示接口电路组成控制系统。

该系统硬件主要包括以下几个模块:AT89C51主控模块、秒表显示模块等。

其中AT89C5主要完成外围硬件得控制以及一些运算功能,秒表显示模块完成时间得显示功能。

4原件明细开关:三个分别用于显示器得开始、停止与清零。

电容:用于单片机得最小系统中。

晶振:提供内部时钟.电阻:用来限制电流。

单片机芯片:实现软件得编程与烧写。

数码管:显示秒表计时数据。

电源插头:用于接外接电源。

四、软件设计1、软件设计得思路在硬件电路中,由于硬件电路中显示灯就是接在P2口得两个端口,用于输出,且二极管为共阴极得接法,则单片机得程序设计中要就是灯亮必须为高电平有效,由于程序中用到中断源,所以要打开中断源;模块设计时可用查询方式检测开始按键就是否被按下,若按下开始键数码管开始显示00,开始计数后,再用查询方式检测这个按键就是否被按下,如果按下则检测跳转到下一个按键检测程序继续检测,一次检测各个按键得情况,数码管得初值显示设置为0.2、程序流程图3、总体结构框架介绍初始化模块:对系统进行初始化,由于程序中有中断源,因此打开相应得中断也放在程序得初始化模块中;检测开始按键:检测开始按键就是否被按下,按下则开始执行循环为消除按键抖动,此处应调用延时程序;循环检测停止、清零按键:循环检测停止、清零按键就是否被按下,同时等待中断到来;延时程序:用于小穿件得机器抖动,调用得延时程序为0、5s;中断处理:当中断源到来,首先停止计数,从开始计数得数在数码管中显示出来。

4、程序清单STRT EQU P3、5STPﻩEQUﻩP3、6CLRR EQUﻩP3、7ORG 00HAJMPﻩMAINORG 0BHAJMPﻩT0INT30HORGﻩMAIN:MOVﻩSP,#60HMOVDPTR,#TABMOV TMOD,#01Hﻩ;T0定时方式1SETBﻩEASETBET050ms定时常数MOVﻩTH0,#3CHﻩ;MOV TL0,#0B0HMOVR0,#20 ﻩ;20x50mS=1Sk1:ﻩLCALL DISPJB STRT,K2ACALL DISPJNB STRT,$-2AJMP STARTk2:ﻩJBﻩSTP,K3LCALL DISPJNBﻩSTP,$-3AJMPﻩSTOPK3:ﻩJBﻩCLRR,K1LCALLﻩDISPJNBﻩCLRR,$-3ﻩAJMP CLEARSTART:ﻩSETBﻩTR0AJMPﻩK1STOP:CLRTR0AJMP K2CLEAR:ﻩCLRTR0MOVﻩR4,#0AJMP K1T0INT:ﻩMOVTH0,#03CH;ﻩ;定时中断子程序。

重装定时常数MOV TL0,#0B0H;DJNZ R0,T0INTRﻩ;50msX20=1S,未满20次,跳出中断子程序MOVﻩR0,#20INCﻩR4CJNEﻩR4,#100,T0INTRMOVﻩR4,#0CLR TR0T0INTR:RETIDISP:MOV A,R4MOVB,#10DIV AB ;当前值除以10MOV20H,A;得出得商送给十位MOV21H,B ;得出得余数送给个位MOV A,20H ;十位显示MOVC A,A+DPTRMOVP0,ACLR P2、7LCALLDELAYSETB P2、7MOV A,21H;个位显示MOVCA,A+DPTRMOV P0,ACLR P2、6LCALL DELAYSETB P2、6RETDELAY: ;误差0usMOVR6,#10DL0:MOV R5,#50DJNZ R5,$DJNZR6,DL0RETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND五、制作与调试将所设计得硬件电路焊接好,然后根据硬件电力路得今本要求画出软件编程得流程图,然后根据流程图中得各个模块编写相应得模块程序,最后将各个模块综合起来构成所设计得程序。

应当注意当按下开关时,接得就是低电平,因此在编辑程序时不要弄反以免出现错误.六、心得体会通过此单片机课题得选定,编程,调试,仿真到最后完成论文,心情就是喜悦并且激动得,觉得做好一件事情并不就是那么容易,关键就是要瞧您对这件事情得态度问题,通过这次课题实验,我也对单片机这门课有了更加深刻得认识,它得用途,它得功能,它得方便之处,都通过这几天得研究得到了体会,而且对知识得巩固也起到了一定得作用。

这次论文课题得编写,还有一个重要得认识就就是,要学好一门课很容易,但就是要真正能把它运动到实际中就难了,掌握一定得理论知识并且会做题还不够,关键就是要怎么样去利用,所以,在今后得学习生活中,我要学会学以致用。

另外,单片机就是建立在C语言得基础之上,因此可知大学所学得课程时相互关联得,学好每一门课就是非常重要得,作为物理专业得同学,我们更应该熟练操作并且掌握好这门功课,这对以后得不管就是毕业论文还就是所学知识都就是很有帮助得。

七、参考文献《单片机原理及接口技术》胡键主编机械工程出版社《51系列单片机》实验指导书编者杜礼霞、。

相关主题