单片机秒表实训报告 单片机秒表实验总结

时间:2023-08-03 23:08:24 文档下载 投诉 投稿

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

        二、方案设计

        1、该秒表主要由51系列单片机及开关控制数码显示管的显示情况,此秒表可现实显示两位数从00到99的计数,即开始计数、停止计数和清零三种,由手动控制三个开关K

        1、K

        2、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端口,它的每一条引脚均可独立定义为围硬件的控制以及一些运算功能,秒表显示模块完成时间的显示功能。

        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、程序流程图

        3、总体结构框架介绍初始化模块:对系统进行初始化,由于程序中有中断源,因此打开相应的中断也放在程序的初始化模块中;检测开始按键:检测开始按键是否被按下,按下则开始执行循环为消除按键抖动,此处应调用延时程序;循环检测停止、清零按键:循环检测停止、清零按键是否被按下,同时等待中断到来;延时程序:用于小穿件的机器抖动,调用的延时程序为0.5s;中断处理:当中断源到来,首先停止计数,从开始计数的数在数码管中显示出来。

        4、程序清单STRTEQUP3.5STPEQUP3.6CLRREQUP3.7ORG00HAJMPMAINORG0BHAJMPT0INTORG30HMAIN:MOVSP,#60HMOVDPTR,#TABMOVTMOD,#01H;T0定时方式1SETBEASETBET0MOVTH0,#3CH;50ms定时常数MOVTL0,#0B0HMOVR0,#20;20x50mS=1Sk1:LCALLDISPJBSTRT,K2ACALLDISPJNBSTRT,$-2AJMPSTARTk2:JBSTP,K3LCALLDISPJNBSTP,$-3AJMPSTOPK3:JBCLRR,K1LCALLDISPJNBCLRR,$-3AJMPCLEARSTART:SETBTR0AJMPK1STOP:CLRTR0AJMPK2CLEAR:CLRTR0MOVR4,#0AJMPK1T0INT:MOVTH0,#03CH;;定时中断子程序。重装定时常数MOVTL0,#0B0H;DJNZR0,T0INTR;50msX20=1S,未满20次,跳出中断子程序MOVR0,#20INCR4CJNER4,#100,T0INTRMOVR4,#0CLRTR0T0INTR:RETIDISP:MOVA,R4MOVB,#10DIVAB;当前值除以10MOV20H,A;得出的商送给十位MOV21H,B;得出的余数送给个位MOVA,20H;十位显示MOVCA,@A+DPTRMOVP0,ACLRP2.7LCALLDELAYSETBP2.7MOVA,21H;个位显示MOVCA,@A+DPTRMOVP0,ACLRP2.6LCALLDELAYSETBP2.6RETDELAY:;误差0usMOVR6,#10DL0:MOVR5,#50DJNZR5,$DJNZR6,DL0RETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND

        五、制作和调试将所设计的硬件电路焊接好,然后根据硬件电力路的今本要求画出软件编程的流程图,然后根据流程图中的各个模块编写相应的模块程序,最后将各个模块综合起来构成所设计的程序。应当注意当按下开关时,接的是低电平,因此在编辑程序时不要弄反以免出现错误。

        六、心得体会通过此单片机课题的选定,编程,调试,仿真到最后完成论文,心情是喜悦并且激动的,觉得做好一件事情并不是那么容易,关键是要看你对这件事情的态度问题,通过这次课题实验,我也对单片机这门课有了更加深刻的认识,它的用途,它的功能,它的方便之处,都通过这几天的研究得到了体会,而且对知识的巩固也起到了一定的作用。这次论文课题的编写,还有一个重要的认识就是,要学好一门课很容易,但是要真正能把它运动到实际中就难了,掌握一定的理论知识并且会做题还不够,关键是要怎么样去利用,所以,在今后的学习生活中,我要学会学以致用。另外,单片机是建立在C语言的基础之上,因此可知大学所学的课程时相互关联的,学好每一门课是非常重要的,作为物理专业的同学,我们更应该熟练操作并且掌握好这门功课,这对以后的不管是毕业论文还是所学知识都是很有帮助的。

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

【单片机秒表实训报告 单片机秒表实验总结】相关文章:

食堂检查整改报告范文 食堂整改情况报告08-03

单片机实训报告总结 单片机实训报告总结1500字08-03

单片机实训报告范文优选分享 单片机实训报告书08-03

单片机实习报告六篇 单片机实训报告怎么写08-03

2023年单片机实训报告心得体会范文 单片机实训总结报告08-03

单片机交通灯实训报告完整版 单片机交通灯课程设计报告08-03

单片机秒表实训报告 单片机秒表实验总结08-03

单片机实训报告 单片机实训报告总结08-03

51单片机时钟实训报告 51单片机的电子时钟课程设计08-03

单片机原理及应用实训报告 单片机原理及应用实训报告,单片机I/O端口的应用08-03

单片机实训心得体会 单片机实训心得体会800字08-03

单片机实训报告范文精选 单片机实训报告内容及方法08-03

单片机实训总结范文 单片机实训总结100字08-03