数字式秒表.docx
- 文档编号:30109143
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:33
- 大小:701.53KB
数字式秒表.docx
《数字式秒表.docx》由会员分享,可在线阅读,更多相关《数字式秒表.docx(33页珍藏版)》请在冰豆网上搜索。
数字式秒表
《单片机技术》课程设计说明书
数字式秒表
院、部:
电气与信息工程学院
完成时间:
2014-06-10
摘要
本文阐述了基于单片机的数字式秒表设计。
本设计主要特点是计时精度达到0.01s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。
本设计的数字电子秒表系统采用8051单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管设计计时器。
其中软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,键扫程序,延时程序等,并在Keil中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。
单片机技术作为计算机技术的一个重要的分支,广泛应用于工业控制、智能化仪器,家用电器,甚至电子玩具等各个领域,它具有体积小、功能多、价格低廉、使用方便、系统设计灵活等优点。
统中的应用软件是根据系统的功能要求而设计的,可靠地实现了系统的各种功能要求。
系统带有液晶显示器,配合按键提供友好的用户界面,操作简单。
该数字钟能长期、连续、可靠、稳定的工作;同时还具有体积小、功耗低等特点,便于携带,使用方便。
单片机软件编程主要实现键盘、液晶显示。
通过各器件配合,共同完成计时工作。
关键字:
秒表;单片机;硬件;软件;仿真
ABSTRACT
Thedesignofthemulti-functionstopwatchsystemusesAT89S52microcontrollerasthecentraldevice,anduseitstimer/countertimingandthecountprinciples,combinedwithdisplaycircuit,LEDdigitaltube,aswellastheexternalinterruptcircuittodesignatimer.Beabletocorrectlytimeatthesametimetorecordatime,andthenexttimeafterthelasttimethetimetosearchautomaticallyaddedasecondinwhichsoftwaresystemsusingassemblylanguageprogramming,includingthedisplayprogram,timing,interruptservice,externalinterruptserviceroutine,delayprocedures,keyconsumershakingprocedures,andKEILinthecommissioning,operation,hardwaresystemusestoachievePROTEUSpowerful,simpleandeasytoobservethecutinthesimulationcanbeobservedontheactualworkingcondition.Asacomputerchiptechnologyisanimportantbranchofthetechnology,widelyusedinindustrialcontrol,intelligentinstrument,electricalappliances,electronictoysorfields,ithastheadvantagesofsmallsize,thefunctionismuch,Systemsoftwareisbasedonthefunctionalrequirementsofthesystemdesignedtoreliablyachievethesystem'svariousfunctionalrequirements.Itcanbeprogrammedtheringerwhichyoulike.,thissystemhasotherspecialfeaturessuchastemperaturemeasurementanddataprotectionatpowerfaillure.Thesystemtakesliquidcrystaldisplay,matchingwithakeytoprovideamityofcustomerinterface,theoperationissimple,havingthetemperatureexaminationfunctioninthemeantime,theclockdataandthetemperaturedata.consecution,credibility,stablework;Stillhaveaphysicalvolumeinthemeantimesmall,thepowerconsumealowetc.
Keywordsstopwatch;scm;hardware;software;simulation
目录
1设计课题任务、功能要求说明及总体方案介绍1
1.1设计课题任务1
1.2功能要求说明1
1.3设计课题总体方案介绍及工作原理说明1
1.4总体方案介绍2
2设计课题硬件系统的设计4
2.1设计课题硬件系统各模块功能简要介绍4
2.2设计课题元器件清单5
3设计课题软件系统的设计6
3.1设计课题使用单片机资源的情况6
3.2设计课题软件系统各模块功能简要介绍6
3.3设计课题软件系统程序流程框图和清单7
4设计结论及心得体会11
4.1设计课题的设计结论及使用说明11
4.2设计课题的仿真结果11
4.3误差分析及解决方法12
4.4心得体会12
结束语14
致谢15
参考文献16
附录17
附录(A)元器件清单17
附录(B)元器件布局图188
附录(C)PCB原理图19
附录(D)电路原理图20
附录(E)程序清单21
附录(F)电路原理图CAD29
1设计课题任务、功能要求说明及总体方案介绍
1.1设计课题任务
课题:
数字式秒表
任务:
设计一个具有特定功能的数字式秒表。
该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
该数字式秒表应具有开始、暂停、连续、清零和停止功能。
1.2功能要求说明
使用单片机AT89S52作为主要控制芯片,以四位一体共阳极数码显示管通过芯片74HC573驱动作为显示部分,由单片机接收小键盘控制递增计时,由LED显示模块计时时间,显示格式为XX(分):
XX(秒).XX,精确到0.1s的整数倍。
计时器工作时由蜂鸣器发出报警。
该数字式秒表通过按键控制可实现开始计时、暂停计时、连续计时、清零和停止功能。
也可以加入蜂鸣器作为声音提示。
1.3设计课题总体方案介绍及工作原理说明
1.3.1工作原理说明
数字式秒表的总体功能原理是以AT89S52单片机作为核心控制部件,采用12M晶体振荡器及微小电容构成振荡电路;采用74HC573作为数码管的驱动部分;用两个四位一体共阳极或共阴极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的复位、计时、连续、清零、停止各项功能。
此电路采用单片机的P0口作为数码显示管的段控,采用P2口作为数码管的位控。
8个独立式键盘分别接在单片机的P1口上,以及其他部分构成数字式秒表的硬件电路。
通过编写程序使用单片机的定时计数器,以及软件延时,中断资源来实现秒表计时和相关控制。
此数字式秒表的系统控制原理如图1所示。
图1数字式秒表的系统控制原理图
1.4总体方案介绍
对于时钟,它有两方面的含义:
一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成。
晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:
一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。
LED数码显示器有如下两种连接方法:
共阳极接法:
把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。
共阴极接法:
把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。
每个发光二极管的阳极通过电阻与输入端相连。
蜂鸣器是一种一体化结构的电子通讯响应器,采用直流电压供电,在单片机应用的设计上,大部分都是使用蜂鸣器来做提示或报警。
由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O口无法直接驱动,所以要利用放大电路来驱动,一般使用74HC573来放大电流。
键盘部分方案:
键盘控制采用独立式按键,每个按键的一端均接地,另一端直接和P1口相连,在按键和P1口之间通过10K电阻与+5V电源相连。
键盘通过检测输入线的电平状态就可以判断哪个键被按下了,这种方法操作速度高而且软件结构很简单,适合按键较少或操作速度较高的场合。
。
显示部分方案:
显示部分采用动态显示。
动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
动态显示是利用人眼视觉暂留特性来实现显示的。
事实上,显示器上任何时刻只有一个数码管有显示。
为防止闪烁延时的时间在1ms左右,不能太长,也不能太短。
本设计可采用P0口直接驱动八段数码管显示。
2设计课题硬件系统的设计
2.1设计课题硬件系统各模块功能简要介绍
2.1.1AT89S52简介
(1)具有8KB可改写的Flash内部程序存储器,可写/擦1000次;
(2)256字节内部RAM;
(3)32根可编程I/O口;
(4)3个16位定时器/计数器;
(5)8个中断源;
(6)可编程中串行口;
(7)低功耗空闲和掉电方式
它的价格便宜,功能强大,能耗低。
很大程度上减少总电路的复杂性,提高了所设计系统的稳定性。
2.1.2时钟电路
时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。
在AT89S52芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚TXAL2,在芯片的外部通过这两个引角跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。
此电路采用12MHz的石英晶体。
2.1.3键盘电路
本设计使用独立式键盘接在单片机的P1口上但通过软件赋予其中三个按键功能,其中S2是计时开始按键,第二功能为停止,S3为计时暂停按键,第二功能为继续计时按键,S4是清零按键。
注意使用时只有在暂停状态下才能继续计时,只有在停止状态下才能清零,在停止时不能继续计时,在暂停时不能清零。
2.1.4复位电路
复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。
RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期)以上,若使用频率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。
复位操作有上电自动复位和按键手动复位两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的。
按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的。
在本设计中采用了按键电平复位方式。
2.1.5LED数码管显示电路
数码管实际上是由二极管构成发光二级管正常工作时,其两端正向压降约为1.6v,正向电流约为10mA,为了使数码管达到一定的亮度而又不至于由于电流过大而损坏,我们使用芯片74HC573作为数码管的驱动,同时在P0口上串上470欧姆的电阻。
此处使用四位一体共阴极数码管,由于驱动电路决定了此处共阴极数码管和共阳极数码管均可以采用而且均采用共阳极代码来编写显示程序。
2.1.6单片机下载口电路
下载口主要是一个十芯的座子,可以通过使用USB下载线对单片机进行程序下载。
方便整个软件的设计,也能让我们使用起来更加方便。
2.1.7电源电路
与电源相连,由一个开关、一个1K电阻和一个发光二极管组成,为整个单片机程序进行给予供电。
2.2设计课题元器件清单
2.2.1电路原理图
电路原理图见附录(D)
2.2.2电路PCB图
电路PCB图见附录(C)
2.2.3元器件布局图
元器件布局图见附录(B)
2.2.4元器件清单
元器件清单见附录(A)
3设计课题软件系统的设计
3.1设计课题使用单片机资源的情况
本次数字式秒表设计除了使用单片机工作所必须的硬件资源(如连接晶振的引脚XTAL1和XTAL2,复位引脚RESET)外,对单片机的硬件资源还做了具体的安排。
(1).P0口:
P0.0-P0.7作为数码管显示器的段控。
(2).P1口:
P1.0-P1.3作为独立式键盘的输入端。
(3).P2口:
P2.0-P2.7分别控制数码管LED0-LED7的位控码驱动。
(4).定时/计数器:
使用定时器0工作方式1实现数字式计数器的运行。
(5).专用寄存器:
定时器控制寄存器TCON,通过设置该寄存器TR0位的状态来控制定时/计数器0的启动/停止;中断允许寄存器IE,通过设置该寄存器EA/ET0位的状态来设置定时/计数器0中断允许/禁止;定时/计数器工作方式寄存器TMOD,设置定时/计数器0的工作方式。
3.2设计课题软件系统各模块功能简要介绍
3.2.1主程序模块
用于设置初始化界面,调用各个主要模块,实现数字式秒表的整体功能。
3.2.2键盘输入程序模块
主要是用于确定按键并得到特定的键码值。
3.2.3数码管及其驱动模块
主要是用于驱动数码管及利用数码管显示秒表计时。
3.2.4中断服务程序
主要是用于数字式秒表的准确运行、数据输入过程中的闪烁。
3.2.5延时模块
程序中延时子程序。
3.3设计课题软件系统程序流程框图和清单
3.3.1主程序流程图
图2主程序流程图
3.3.2中断服务程序流程图
图3中断服务程序流程图
3.3.3显示子程序流程图
图4显示子程序流程图
3.3.4键扫函数流程图
图5键扫函数流程图
软件系统程序清单见附录(E)
4设计结论及心得体会
4.1设计课题的设计结论及使用说明
通过设计和调试,数字式秒表能顺利完成各项功能。
上电或复位后显示“P.”提示符,此时按1键便可开始计时,计时同时伴有LED灯光闪烁和蜂鸣器提示,规律为亮一秒,暗一秒,蜂鸣器为响一秒,停一秒。
在计数状态下,按下2键即可实现暂停,再次按下2键即可实现继续计数,在计数状态下按下1键,实现计数停止,在停止状态下按下3键,便可实现计数清零。
计数状态下按下清零键,无效。
4.2设计课题的仿真结果
我们是在Keil软件里编写程序并编译通过才能被硬件电路所应用。
Keil的功能比较强大但还是有一定的缺点。
编译过程中它只能检查出所编写的语法错误,所以我们一步一步的去在硬件电路里仿真去达到我们所设计要求的功能。
经仿真修改和完善均已达到设计要求.“P.”显示,电子钟准备状态与电子钟自动运行状态的仿真如下图所示:
(1).“P.”显示如图5所示:
图6“P”显示图
(2).数字式秒表准备状态仿真的显示如图6所示:
图7准备计时状态
(3).数字式秒表运行状态的仿真如图7所示:
图8计时器状态
4.3误差分析及解决方法
我们可以发现数字式秒表计数一段时间的我们的标准时间相比较出现了误差,所设计的数字式秒表比我们的标准时间要慢,而且相比较的时间越长他的时差越大。
经过分其主要原因与硬件和软件都有关。
软件原因:
我们从外部中断请求有效到转向中断区入口地址所需的机器周期数来计算中断时间,51系列单片机最短响应时间为3个机器周期。
在一般情况下中断响应时间通常无需考虑,但在精确定时的应用场合需知道中断响应时间,以保证定时的精确控制。
硬件原因:
单片机的时钟信号是由外部的振荡电路所提供,在芯片的外部通过接XATL1与XATL2这两个引角跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。
因为电子原件不可以就有我们所设计的那么理想(电容的容量,振晶的输出频率)所以会造成我们的时间准确。
针对这样的问题我们就能只能从上述两个方面入手去解决。
软件方面我们可以通过计算设计子程序去减少响应的时差。
硬件部分我们可以采用一些稳定,精确度比较高的电子元件去完善,但是在最后调试出的还是有误差但我尽可能的减少差误差接近理想。
4.4心得体会
通过对数字式秒表的设计与制作,我们把理论与实际相结合。
加深了对理论知识的理解,也增强了我们的动手能力。
在电路设计过程中,我们学会了自己收集信息和处理信息的能力,为以后的学习和制作奠定了一定的基础,数字式秒表看似简单,但当我们自己着手设计与制作的时候我们才发现是困难重重的。
在元器件采购过程中发现的问题更大,在电路计算式我们根本没有考虑到元器件的型号和性能参数,然而在实物购买时我们就不得不开始考虑其型号和性能参数,这也是理论与实际的差别。
一些阻值的电阻与某些大小的电容根本就没有这种型号的买,这样我们不得不考虑改变设计电路中的参数,或者采用电路的等效方式来解决这样的问题。
在制作PCB时,发现一定要有细心、耐心和恒心才能做好事情,首先是线的布局上既要美观又要实用和走线简单,兼顾到方方面面去考虑是很需要的。
比如在做PCB板时,因为缺乏经验把板上的线画得太细了,焊盘太细导致后面的腐蚀环节稍微有点失误将使电路板出现断线,打孔后无焊盘等问题,把PCB板浸在三氯化铁里浸得太久可能导致PCB板上的铜几乎全都溶解了。
双面布线时必须做到两面完全对齐,否则板子有可能无法使用,还有在有芯片的电路布线时不能将从芯片引脚引出的线布在两面,否则将无法完成焊接任务。
此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,使我们在实际动手能力方面得到了较大的提高。
结束语
通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。
本次课程设计的过程是艰辛的,不过收获却是很大的。
在设计过程中,会出现了一些问题,但都是常见的小问题,如:
代码中双引号的使用并不是在英语书写状态下,输入字母出错等,在调试时出现异常,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。
综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。
在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流。
由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。
但是在我们设计和调试的过程中,也发现了一些问题,譬如秒表反应不够灵敏,显示出现乱码等。
当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我。
致谢
首先感谢上天让我来到湖南工学院,感谢父母多年来的养育之恩,感谢王韧老师,对待电气本1103班的我们就像对待您自己的孩子一样细心呵护,孜孜教诲,让我们在学会了知识的同时更加学会了做人,学会了尊敬。
在本学期的单片机基础课程中,得到了王韧老师的悉心指导,教会我们如何学单片机,单片机的内部结构,汇编指令,单片机扩展编址。
在这次课程设计中,他又多次让我们主动找他,对我们有什么需要改进的地方和不懂的方面,进行解答。
在这次课程设计中难免遇到各种问题和不足之处,给我们指出,感谢王韧老师的严格要求,培养了我们认真,规范,严谨的作风。
相信严师出高徒,我们在他的带领下,未来离梦想会更进一步。
在此我对王韧老师表示真诚的感谢!
另外,还要感谢所有同学对我的指导和帮助,是他们不厌其烦的帮助我学习自己不懂的东西。
正是由于他们的帮助才让这此课程设计最终可以顺利有效的做完。
真心感谢大家。
参考文献
[1]李广弟,朱月秀.单片机基础[M].北京:
北京航空航天大学出版社,2007.100~154
LiGuangdi,ZhuYue-Xiu.Microcontroller-based[M].Beijing:
BeijingUniversityofAeronauticsandAstronauticsPress,2007.100~154
[2]张毅坤.单片微型计算机原理及应用[M].西安:
西安电子科技大学出版社,1998.125~130
ZHANGYikun.SingleChipMicrocomputerPrincipleandApplication[M].Xi'an:
XidianUniversityPress,1998.125~130
[3]李光飞.单片机课程设计实例指导[M].北京:
北京航空航天大学出版社,2004.55~63
LiGuangfei.Microcontrollerexamplestoguidecurriculumdesign[M].BeijingBeijingUniversityofAeronauticsandAstronauticsPress,2004.55~63
附录
附录(A)元器件清单
元器件名称
规格
数量
AT89S52单片机
40P
1片
AT89S52芯片锁紧座
40P
1个
四位一体数码管
共阳极
2个
四位一体数码管插座
40P
2个
晶振
12M
1个
瓷片电容
33pf
2个
蜂鸣器
5V
1个
电阻
1K
3个
电阻
470
8个
电阻
200
1个
电解电容
22uf
2个
74HC573
20P
1个
74
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字式 秒表