好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

单片机秒表实训报告.doc

9页
  • 卖家[上传人]:m****
  • 文档编号:548096201
  • 上传时间:2023-01-02
  • 文档格式:DOC
  • 文档大小:204.52KB
  • / 9 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 目录一、 设计题目 1二、 方案设计 1三、硬件设计 21电路图 22.I/O口的分配 23、电路的工作原理 24原件明细 3四、软件设计 31、软件设计的思路 32、程序流程图 43、总体结构框架介绍 64、程序清单 6五、制作和调试 8六、心得体会 8七、参考文献 9一、设计题目利用AT89C51单片机设计并制作秒表电路要求如下:通过LED显示器(数码管)显示秒的十位和个位;设计一个按键,使按键按下去时秒表开始计时,即秒表开始键;设计一个按键,按键按下去时秒表暂停计时,使秒表停留在原先的计时,即计时停止键;设计一个按键,作为秒表的清零按钮,使秒表计数结束后可以清零二、 方案设计 1、该秒表主要由51系列单片机及开关控制数码显示管的显示情况,此秒表可现实显示两位数从00到99的计数,即开始计数、停止计数和清零三种,由手动控制三个开关K1、K2、K3来实现2、当接通电源时数码管显示00,然后按动K1使秒表开始计时,在0秒到99秒之间的任何时间均可;若要定时,如只需计时到32秒则在显示器显示到32时按下定时键K2即可;在计时过程中若需要清零,则需按下K3键3、设计过程中除了向老师请教外,还通过上网查阅资料及翻阅书籍。

      上单片机课程时我曾做过关于数码显示器的实验,所以在焊接电路板时可参照实验报告书上的连接方式要特别注意两数码管引脚的连接及com端和三极管的连接,其决定了共阴极和共阳极,此处涉及到编程中初值的写入,为在焊接电路时简洁,因此我采用下面的com端,即数码管采用共阴极方式主要设计思路是编写相应程序后由单片机的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原件明细元名称元件数目元件型号元件参数备注按键开关3个接对角线电容3个一个电解电容,两个瓷片电容电解电容10uF,瓷片电容30pF电解电容长脚为正,瓷片无正负之分晶振1个12M内部时钟电路电阻9个7个510欧,2个10K欧用于限流单片机芯片1片AT89C5140引脚电源插头1个数码管2个10引脚有两个com端三极管2个S9012各元件的作用:开关:三个分别用于显示器的开始、停止和清零电容:用于单片机的最小系统中晶振:提供内部时钟电阻:用来限制电流单片机芯片:实现软件的编程与烧写数码管:显示秒表计时数据电源插头:用于接外接电源四、软件设计1、软件设计的思路在硬件电路中,由于硬件电路中显示灯是接在P2口的两个端口,用于输出,且二极管为共阴极的接法,则单片机的程序设计中要是灯亮必须为高电平有效,由于程序中用到中断源,所以要打开中断源;模块设计时可用查询方式检测开始按键是否被按下,若按下开始键数码管开始显示00,开始计数后,再用查询方式检测这个按键是否被按下,如果按下则检测跳转到下一个按键检测程序继续检测,一次检测各个按键的情况,数码管的初值显示设置为0。

      2、程序流程图是否是否手动开关定时器溢出中断对定时器重新赋值进行加一操作后重新计算时间往P0口和P2口送显示时间数码管显示中断返回主函数对定时器/计数器初始化始化程序开始判断P3口是否有低电平信号开中断并启动定时器开始、暂停或者继续计数置零判断P0口是否有低电平信号3、总体结构框架介绍初始化模块:对系统进行初始化,由于程序中有中断源,因此打开相应的中断也放在程序的初始化模块中;检测开始按键:检测开始按键是否被按下,按下则开始执行循环为消除按键抖动,此处应调用延时程序;循环检测停止、清零按键:循环检测停止、清零按键是否被按下,同时等待中断到来;延时程序:用于小穿件的机器抖动,调用的延时程序为0.5s;中断处理:当中断源到来,首先停止计数,从开始计数的数在数码管中显示出来4、程序清单STRT EQU P3.5STP EQU P3.6CLRR EQU P3.7 ORG 00HAJMP MAINORG 0BHAJMP T0INT ORG 30HMAIN: MOV SP,#60HMOV DPTR,#TABMOV TMOD,#01H ;T0定时方式1SETB EASETB ET0MOV TH0,#3CH ;50ms定时常数MOV TL0,#0B0HMOV R0,#20 ;20x50mS=1S k1: LCALL DISP JB STRT,K2ACALL DISPJNB STRT,$-2AJMP STARTk2: JB STP,K3LCALL DISPJNB STP,$-3AJMP STOPK3: JB CLRR,K1LCALL DISPJNB CLRR,$-3 AJMP CLEARSTART: SETB TR0AJMP K1 STOP: CLR TR0AJMP K2CLEAR: CLR TR0MOV R4,#0AJMP K1T0INT: MOV TH0,#03CH; ;定时中断子程序。

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

      应当注意当按下开关时,接的是低电平,因此在编辑程序时不要弄反以免出现错误六、心得体会通过此单片机课题的选定,编程,调试,仿真到最后完成论文,心情是喜悦并且激动的,觉得做好一件事情并不是那么容易,关键是要看你对这件事情的态度问题,通过这次课题实验,我也对单片机这门课有了更加深刻的认识,它的用途,它的功能,它的方便之处,都通过这几天的研究得到了体会,而且对知识的巩固也起到了一定的作用这次论文课题的编写,还有一个重要的认识就是,要学好一门课很容易,但是要真正能把它运动到实际中就难了,掌握一定的理论知识并且会做题还不够,关键是要怎么样去利用,所以,在今后的学习生活中,我要学会学以致用另外,单片机是建立在C语言的基础之上,因此可知大学所学的课程时相互关联的,学好每一门课是非常重要的,作为物理专业的同学,我们更应该熟练操作并且掌握好这门功课,这对以后的不管是毕业论文还是所学知识都是很有帮助的七、参考文献《单片机原理及接口技术》胡键 主编 机械工程出版社《51系列单片机》实验指导书 编者 杜礼霞。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.