基于89S52单片机的篮球赛计时计分器_第1页
基于89S52单片机的篮球赛计时计分器_第2页
基于89S52单片机的篮球赛计时计分器_第3页
基于89S52单片机的篮球赛计时计分器_第4页
基于89S52单片机的篮球赛计时计分器_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于89S52单片机的篮球赛计时计分器专业班级:电子信息科学与技术2班姓名:指导教师:信息科学技术学院PAGEI摘要由于单片机的集成度高,功能强,通用性好,特别是它具有体积小、重量轻、能耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用。本文介绍了篮球计时计分器的基本组成部分和工作原理,系统主体分为计时显示模块、计分显示模块、定时报警、按键控制键盘模块。本设计中系统硬件电路主要由以下几个部分组成:单片机AT89S52、计时电路、计分电路、报警电路和按键开关。软件部分则介绍了按键模块和倒计时声光报警模块。最后讲述了篮球计时计分器在焊板和软件编写时应注意的事项以及显示成果图。本次设计由AT89S52编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置、赛程时间暂停、及时刷新甲乙双方的成绩等功能。它具有价格低廉、性能稳定、操作方便并且易于携带等特点,广泛适合各类学校或者小型团体作为赛程计时计分。关键词:单片机;计时;计分;显示器;接口

ABSTRACTAsthemicrocontrollerofhighintegration,strongfunction,goodversatility,especiallyithastheadvantagesofsmallvolume,lightweight,lowenergyconsumption,lowprice,highreliability,stronganti-interferenceabilityandeasytouseandsounique,sorapidlyobtainedthepopularizationandapplicationofSCM.Thispaperintroducesthebasiccompositionofbasketballtimingandscoringdeviceandworkingprinciple,thesystemisdividedintotimedisplaymodule,displaymodule,timingalarm,scoringkeykeyboardcontrolmodule.Thedesignofhardwarecircuitmainlyconsistsofthefollowingparts:microcontrollerAT89S52,timingcircuit,countingcircuit,alarmcircuitandabuttonswitch.Softwarepartintroducesthekeymoduleandthecountdownalarmmodule.Finallythetimebasketballscoringdeviceinthemattersneedingattentioninweldingplateandthesoftwareprogrammingandtheresultsmapdisplay.ThedesignuseAT89S52toprogramandtocontrolLEDdigitaltubeforseven-segmentdisplayofmatchtimescoring.Thesystemhasmanyfeatures,suchassettingthescheduletime,schedulingtimetopause,refreshingresultofbothpartiestimelyandsoon.Becausethissystemhaslowprice,stableperformance,andeasytooperateandcarry,itiswidelysuitableforalltypesofschoolsandsmallgroupsasthecalendartimepoints.KEYWORDS:Microcontroller;Timing;Scoring;Display;Interface目录TOC\o"1-3"\u第1章绪论 11.1课题研究背景及意义 11.2设计内容及要求 21.3系统功能 31.4本章小结 3第2章篮球计时计分器基本组成及工作原理 42.1AT89S52简介 42.2数码管 72.3晶体振荡器 102.4蜂鸣器 102.5键盘接口工作原理 112.5篮球计时计分器的工作原理 122.6本章小结 13第3章系统设计 143.1硬件系统设计 143.1.1电路的总体构成 143.1.2电源的输入电路 143.1.3复位电路 153.1.4晶振电路 163.1.5显示电路 163.1.6键盘电路 173.2软件系统设计 183.2.1按键扫描程序 183.2.2倒计时声光提醒程序 193.3本章小结 20第4章调试与实现 214.1硬件调试 214.2软件调试 214.3Proteus仿真 224.3.1proteus仿真软件介绍 224.3.2proteus仿真 224.4实物连接与实现 254.5本章小结 26第5章展望 27结论 28参考文献 29致谢 30附录 1基于89s52单片机的篮球计时计分器PAGE1第1章绪论1.1课题研究背景及意义

篮球比赛是根据运动队在规定比赛时间里得分多少来决定胜负的,一次比赛的计时计分十分重要。在以往的传统体育比赛里,大多采用的是人工手段计时计分。在这其中人工手段存在很多弊端。首先,需要安排专门的人士负责计时和计分,这也就引出了专业计时计分人员的需求。其次,就算是专业计时计分员操作,也难免百密一疏,不能完全保证分数和时间记录的准确性,就会引起比赛公平性方面的问题。再者,如果比赛赛程频繁,对人工计时计分的效率是一大考验。所以在此基础上,如何才能更准确,更高效地实现比赛中的计时计分,是很迫切的需求。因此,计时计分器才逐渐发展起来。

篮球比赛的计时计分系统由计时器,计分器等多种电子设备组成。体育比赛计时计分器是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录、传递利用、加工处理的工具。根据不同运动项目的不同比赛规则要求,体育比赛计时计分器包括测量类、平分类、命中类、制胜类、得分类等多种类型。于此同时,根据现在高水平篮球比赛的要求,完善的篮球赛计时计分系统设备应能与现场大屏幕,现场成绩处理,电视转播车等多种设备相连接。以便实现高水准的比赛现场感,表演娱乐观众等功能目标。

虽然篮球比赛里很早就开始应用研究了电子计时计分器,但通常都是利用模拟电子器件、数字电子器件或是模拟、数字混合组成的,其稳定性和高准确度计时计分仍存在一些问题。随着科学技术的发展以及电子技术的不断更新,对其稳定和高准确度计时计分的实现至今仍是生产和科研的课题之一。

工程技术电子化、系统化和集成化促成了电子工程技术的发展,同时也促使了电子工程技术在社会各行业中的广泛应用。伴随着单片机在各个领域的广泛应用,单片机作为球赛计时计分系统也就因此应运而生,例如用单片机控制LED七段显示器计时计分,用单片机控制LCD液晶显示器计时计分器等。同时单片机在此领域的广泛应用,也大大提高了比赛中计时计分的稳定性和准确性。

单片机又称单片微控制器,它概括的讲:一块芯片就成了一台计算机。它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。它的质量轻、体积小、价格便宜、为学习、开发和应用提供了便利条件。于此同时,学习使用单片机是了解计算机原理与结构的上佳选择。由于单片机的集成度高,通用性好,功能强,特别是它具有体积小,重量轻,能耗小,可靠性高,抗干扰能力强,价格便宜和使用方便等独特的优点,使得单片机得到了广泛的应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家,机电行业,测控技术企业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器等组成。

单片机是微型计算机发展的一个重要分支,它以其独特的结构和性能,越来越普遍地应用的到国民经济建设的各个领域,而且采用AT89S51单片机设计,能使仪表向数字化、多功能化、柔软化、智能化方向发展,使控制、检测、处理等功能一体化重量大大减轻,便于携带和使用,具有很高的性价比。

篮球比赛计时计分器是为了解决篮球比赛时计分与计时准确的问题。此装置利用单片机AT89S52完成了计时和计分的功能。采用该装置可根据实际情况进行比分修改和时间的准确显示,具有低功耗,可靠性,安全性以及低成本等特点。

本次设计用由AT89S52编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。它具有价格低廉,性能稳定,操作方便并且易于携带等特点,广泛适合各类学校或者小型团体作为赛程计时计分。1.2设计内容及要求根据此次课题要求,这里介绍一种篮球赛计时计分器的设计方法,即单片机带外围扩展来驱动数码管工作的电路。采用这种方法可提升学生对单片机接口电路的综合运用能力。电路采用单片机作为核心元件,利用1个四位7段共阴极LED数码管作为比赛时间显示器件。2个2位共阴数码管用于记录甲、乙两队的分数,显示分数范围可达0~99分,足够业余或校园赛程计分的需要。比赛前,将时间设置好,比赛开始时启动计时,直至倒计时到零为止。计时范围达到0~15分钟,能满足实际赛程计时的需要。为了配合计时器调整时间和计分器校正比分,设计了11个按键,4个用于输入甲队的分数,4个用于输入乙队的分数,另3个用于启动和暂停赛程时间,调换场地,时间调整。另外,还设计了定时声光提醒系统,即比赛时间到时,扬声器发出提醒声同时发光二极管点亮提示赛程结束。该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩等功能。设计分为软件设计和硬件设计两部分。主控芯片采用AT89S52,使用C语言编写软件程序,主体分为计时显示模块、计分显示模块、定时提醒、按键控制模块。编程后利用KeilC51软件来进行编译,再将生成的HEX文件装入芯片中,采用Proteus软件来仿真,检验功能是否能够正常实现,随后用proteus软件画出硬件电路图。通过本次基于单片机的篮球赛计时计分器的设计,可以了解、熟悉有关单片机开发设计实例的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧。1.3系统功能本设计采用单片机为主控芯片,结合外围电路,组成电简易篮球计时计分器,具体实现要求如下:(1)比赛过程中具有时间倒计时功能;(2)通过8个按键及时更新两队比分:A组加1分,A组加2分,A组加3分,A组减1分,B组加1分,B组加2分,B组加3分,B组减1分;(3)比赛停止时可调换比赛场地;(4)比赛结束时有声光提醒功能;(5)通过按键控制比赛开始/暂停;(6)可进行比赛时间调整,调整时对应位闪烁,此时按下开始/暂停按键进行比赛时间调整;(7)1组4位一体数码管进行时间倒计时显示,另外两组2位一体数码管显示两队比分,显示范围为(0-99)。1.4本章小结本章讲述了篮球计时计分器在校园中的应用,计时计分器的组成,以及单片机在生活中渗透在各个领域以及它的未来发展趋势和走向。根据本次课题的需求实现基本功能。第2章篮球计时计分器基本组成及工作原理2.1AT89S52简介单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O口等计算机所需要的基本部件的大规模集成电路。其以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。如果说C语言程序设计课程设计软件设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课[5]。AT89S52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,AT89S52芯片引脚图如图2-1所示。图2-1单片机引脚图主要特性:·与MCS-51兼容·8K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·3个16位定时器/计数器·8个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路管脚说明:下面按其引脚功能分为四部分叙述这40条引脚的功能。(1)主电源引脚VSS和VSSAT89S52芯片引脚图VSS——(40脚)接+5V电压;VSS——(20脚)接地。(2)外接晶体引脚XTAL1和XTAL2XTAL1(19脚)接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,对HMOS单片机,此引脚应接地;对SHMOS单片机,此引脚作为驱动端。XTAL2(18脚)接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对XHMOS,此引脚应悬浮。(3)控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP①RST/VPD(9脚)当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。推荐在此引脚与VSS引脚之间连接一个约10k的下拉电阻,与VSS引脚之间连接一个约10μF的电容,以保证可靠地复位[1]。VSS掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。当VSS主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±0.5V)内,VPD就向内部RAM提供备用电源。②ALE/PROG(30脚):当访问外部存贮器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。它可用作对外输出的时钟,或用于定时目的。③PSEN(29脚):此脚的输出是外部程序存储器的读选通信号。④EA/VPP(引脚):当EA端保持高电平时,访问内部程序存储器。当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。对于常用的8031来说,无内部程序存储器,所以EA脚须常接地,这样才能只选择外部程序存储器。(4)控制或与其它电源复用引脚RST/Vpd,ALE/PROG,PSEN和EA/Vpp。RST/Vpd当振荡器运行时。在此引脚上出现两个机器同期的高电平(由低到高跳变),将使单片机复位。在VSS掉电期间,此引脚可接上备用电源,由Vpd向内部RAM提供备用电源,以保持内部RAM中的数据。ALE/PROG正常操作时为ALE功能(允许地址钱存),提供把地址的低字节锁存到外部锁存器。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲。ALE端可以驱动(吸收或输出电流)八个LSTTL电路。PSEN外部程序存储器读选通信号输出端。在从外部程序存储器取指令(或数据)期间;PSEN在每个机器周期内两次有效。PSEN同样可以驱动八个LSTTL输入。EA/VppEA为内部程序存储器和外部程序存储器选择端。(5)输入/输出(I/O)引脚P0、P1、P2、P3(共32根)①P0口(39脚至32脚):是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。②P1口(1脚至8脚):是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口能驱动(吸收或输出电流)4个LS型的TTL负载。对8052、8032,P1.0引脚的第二功能为T2定时/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2外部控制端。对EPROM编程和程序验证时,它接收低8位地址。③P2口(21脚至28脚):是准双向8位I/O口。在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。在对EPROM编程和程序验证期间,它接收高8位地址。P2可以驱动(吸收或输出电流)4个LS型的TTL负载。④P3口(10脚至17脚):是准双向8位I/O口,在MSS-51中,这8个引脚还用于专门功能,是复用双功能口。P3能驱动(吸收或输出电流)4个LS型的TTL负载。作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。作为第二功能使用时,各引脚的定义如表2.1所示。值得强调的是,P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。表2。1P3口第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)2.2数码管图2-3为典型的数码管。LED显示器又称为数码管,LED显示器由8个发光二极管组成。中7个长条形的发光管排列成“日”字形,另一个点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器,如图2-4所示。本设计采用的是共阴极数码管显示[2]。图2-37段数码管图2-4共阴极与共阳极LED显示表2.2列出了共阳极与共阴极LED显示器显示数字、字母与显示代码之间的对应关系。表2.2码对应表显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03FHC087FH80H106HF996FH90H25BHA4A77H88H34FHB0B7CH83H466H99HC39HC656DH92HD5EHA1H67DH82HE79H86H707HF8F71H8EH(2)LED显示器显示方式 点亮LED显示器有两种方式:一是静态显示;二是动态显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。图2-5静态示意图这种电路的优点在于:在同一时间可以显示不同的字符;但缺点就是占用端口资源较多。从图2-5可以看出,每位LED显示器需要单独占用8根端口线,因此,在数据较多的时候,往往不采用这种设计,而是采用动态显示方式。本设计采用的便是此种显示方式。所谓动态显示,就是将要显示的多位LED显示器采用一个8位的段选端口,然后采用动态扫描一位一位地轮流点亮各位显示器。下图2-6为4位LED显示器动态显示电路。在此电路中,单片机的P1口用于控制4位LED的段选码:P2口的P2.0~~P2.3用于控制4位LED位选码,单片机的P1口用于控制4位LED的段选码:P2口的P2.0~~P2.3用于控制4位LED位选码[3]。由于所有的段选码连在一起,所以同一瞬间只能显示同一种字符。但如果要显示不同字符,则要由位选码来控制。(如果LED为共阴极则P2.0~~P2.3输出为高电平,如果LED为共阳极则P2.0~~P2.3输出为低电平。)例如,现在要显示“5678”四个数字,则首先应该将“5”的显示代码(共阴LED显示器的显示代码为6DH,共阳LED显示器的显示代码为92H)由P1.0送出,然后P2.0~~P2.3输出相应位码(LED为共阴则P2.0~~P2.3输出1000,LED为共阳则P2.0~~P2.3输出0111)时,则可以看到在数码管1上显示的数字为“5”。再将显示的数字“5”延时5~10ms,以造成视觉暂留效果;同时代码由P1.0送出。图2-6动态示意图用同样的方法将其余3个数字“678”送数码管2,3,4显示,于是最后则可以在4位LED显示器上看到“5678”四个数字。为了使显示效果更加稳定,可以使每个数码管所显示的数字不断的重复,但其中重复频率达到了一定的程度的时候,加之人眼睛本身的视觉暂留效果的作用,便可以看到相当稳定的“5678”四个数字。2.3晶体振荡器晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。以声卡为例,要实现对模拟信号44.1kHz或48kHz的采样,频率发生器就必须提供一个44.1kHz或48kHz的时钟频率。如果需要对这两种音频同时支持的话,声卡就需要有两颗晶振。但是现在的娱乐级声卡为了降低成本,通常都采用SCR将输出的采样频率固定在48kHz,但是SRC会对音质带来损害,而且现在的娱乐级声卡都没有很好地解决这个问题。现在应用最广泛的是石英晶体振荡器。2.4蜂鸣器(1)蜂鸣器的分类蜂鸣器有两类3大品种。一类是压电式,一类是电磁式,电磁式又有两大品种,铁振膜式和动圈式,二者原理一样只是结构不同。所有蜂鸣器都有两种类型:带驱动的蜂鸣器和纯蜂鸣器,蜂鸣器都是用音频信号驱动的,都是交流驱动。(2)提醒器的工作原理提醒器的种类很多,比如:蜂鸣器,扬声器等,此次设计采用的是电磁式蜂鸣器作为提醒器。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、震动膜片以及外壳等组成。当接通电源后,由于振荡器所产生的音频信号通过电磁线圈,会使得电磁线圈产生了一个磁场。振动膜片在磁铁和电磁线圈的相互作用下,会周期性的振动发声。2.5键盘接口工作原理在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指令等输入到系统中,来实现简单的人机通信。键盘是一组按键的组合,通常有数据键和功能键组成。计算机所用的键盘有编码键盘和非编码键盘两种。编码键盘采用硬件电路来实现键的编码,每按下一个键,键盘就能自动产生键代码,去除抖动等功能。这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘仅提供键的开关状态,依靠程序来识别闭合按键。并具有去处抖动产生键的代码并转入执行该键的处理等功能。因此,非编码键盘硬件电路简单成本低,但占用CPU的时间较长。目前在单片机应用系统中多采用这种键盘。我们这里主要讨论非编码键盘接口[3]。(1)键输入原理在单片机应用系统中,除了复位键有专门的复位电路及专一的复位功能外,其他按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键被按下时,计算机应用系统应完成该按键所设定的功能。(2)按键开关的去除抖动功能目前, 89C51单片机应用系统上的按键常采用机械点式按间,它在开关、闭合是输入电压波形如图2-7所示。可以看出机械点在闭和及断开瞬间均有抖动过程,时间长短与开关的机械性有关,一般为5-10ms。由于抖动,会造成被查询的开关状态无法准确读出。例如,一次按键产生的正确开关状态,由于键的抖动,CPU多次采集到底电平信号,会被误认为按键被多次按下,就会多次进行键输入操作,这是不允许的。为了保证CPU对键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的前沿(后沿)抖动影响。图2-7按键过程通常消除抖动影响的方法有硬件、软件两种。在按键较少时,可采用硬件方法消除抖动。如图2-8所示,在键输出端加R-S触发器构成消除抖动电路,可确保每按下一次键,只会产生一次低电平输出。在按键较多时,可采用软件方法消除抖动。根据按键的抖动时间为5-10ms,稳定闭合时间一般为十分之几秒时间的特点,采用软件消除抖动的方法是:在检测到有键按下时,执行一个10ms左右的延时程序,而后,在确认该键电平是否仍保持闭合状态电平,若仍保持为闭合状态电平,则确认为该键处于闭合状态,这实际上是避开了按键按下时的抖动时间。同理,在检测到该键释放后,也采用相同的步骤进行确认,从而可消除抖动的影响。图2-8消抖电路2.5篮球计时计分器的工作原理本设计完全按照实际的篮球比赛过程,可及时更新两队比分、调整比赛场地、比赛剩余时间显示、两队得分显示、比赛结束报警、调整比赛时间等。AT89S52AT89S52CPU复位电路键盘电路输入电源数据显示声光报警时间显示分数显示图2-7工作原理图2.6本章小结本章介绍了篮球计时计分器的基本组成,主要包括AT89S52单片机,数码管,晶体振荡器,蜂鸣器组成,以及简单介绍了篮球计时计分器的工作原理。第3章系统设计3.1硬件系统设计3.1.1电路的总体构成在确定了选用AT89S52型号的单片机后,就要确定在外围电路,其外围电路包括电源输入部分、晶振部分、复位电路部分、显示部分,键盘部分,显示部分选择4位一体数码管。其原理图如图3-1所示:图3-1电路的总体构图3.1.2电源的输入电路密码锁主要控制部分电源需要用5V直流电源供电,本设计采用3节1.5V电池串联供电,其电路如图3-2所示图3-2电源的输入电路3.1.3复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第—个单元取指令。单片机初始加电时需要对其进行复位。在复位期间(即RST为高电平期间),P0口为高组态,P1-P3口输出高电平;外部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选择如图5-3所示的复位电路。该电路实现了上电自动复位的功能,在接通电源瞬间,电容C1上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。另外本设计还添加了手动复位功能,当程序出现错误时可通过S4键进行系统复位操作。如图3-3所示。图3-3复位电路原理图3.1.4晶振电路AT89S52引脚XTAL1和XTAL2与晶体振荡器及电容C2、C1按图3-4所示方式连接。晶振、电容C2/C3及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在0~33MHz之间,电容C2、C3取值范围在5~30pF之间。根据实际情况,本设计中采用12MHZ做系统的外部晶振。电容取值为22pF。图3-4晶振电路原理图3.1.5显示电路本设计时间倒计时采用0.36寸4位一体共阴数码管进行显示,两队比分采用0.36寸2位一体共阴数码管进行显示。具体电路见图3-5图3-5显示电路原理图3.1.6键盘电路(1)独立式键盘的接口电路:在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。这时,可将每个按键直接接在一根I/O接口线上,这种连接方式的键盘称为独立式键盘。每个独立按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响到其他I/O接口线。这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O线,I/O接口线浪费较大。故只在按键数量不多时采用这种按键电路[4]。在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,I/O接口线有确定的高电平。当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。(2)独立式键盘的编程:独立式键盘的编程常采用查询式结构。先逐位查询每根I/O接口线的输入状态,如某一根I/O接口线输入为低电平,则可确认该I/O接口线所对应的按键已按下,然后,再转向该键的功能处理程序在本次毕业设计中,采用了独立式键盘接口电路的方法,因为采用的按键比较少,使得硬件结构简单,设计时候节省了时间。如图3-8所示。图3-8按键电路3.2软件系统设计本系统软件设计由主程序、LED显示程序、按键扫描程序、计时程序和延时程序等组成。上电后,首先对计时器进行初始化,然后进入无限循环,扫描按键并提取倒计时显示各位数值。3.2.1按键扫描程序程序循环对A、B组加,减分按键及交换场地按键进行扫描,如果A组加1分按键按下,延时消抖,确认A组加1分按键已按下,则A组加1分,因为本设计采用2位一体数码管进行比分显示,所以最大显示比分为99,此时判断如果得分超过99分,则比分不更新。对A组加2分、加3分、减1分及B组比分更新按键扫描同上。流程详见图3-9图3-9按键扫描流程图3.2.2倒计时声光报警程序通过定时器中断1来完成比赛时间倒计时及比赛时间到时的声光提醒功能。流程图见图3-10。图3-10倒计时计生光提醒流程图3.3本章小结本章分别从硬件和软件两个方面介绍了系统的设计,硬件系统分别介绍了电源输入部分、晶振部分、复位电路部分、显示部分,键盘部分这五个部分,具体讲述了这五部分是如何实现的,软件介绍了按键扫描程序和倒计时声光提醒程序,系统全面的通过流程图讲述了软件的实现。第4章调试与实现4.1硬件调试常见故障:(1)逻辑错误:它是由设计错误或加工过程中的工艺性错误所造成的。这类错误包括错线、开路、短路等。(2)元器件失效:有两方面的原因:一是器件本身已损坏或性能不符合要求;二是组装错误造成元件失效,如电解电容、集成电路安装方向错误等。(3)可靠性差:因其可靠性差的原因很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;走线和布局不合理也会引起系统可靠性差。(4)电源故障:若硬件由于电源故障,则加电后很容易造成器件损坏。电源故障包括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。调试方法:包括多级调试和联机调试。在调试过程中要针对可能出现的故障认真分析,直至检查出原因并排除。本次硬件调试过程中,对所出现的问题进行了认真的分析和改正,最后能够很好的达到设计要求的效果。4.2软件调试软件调试一般分为以下四个阶段:(1)编写程序并查错;(2)在C语言的编译系统中编译源程序;(3)对程序进行编译连接,并及时发现程序中存在的错误;(4)改正错误。在本次调试中出现的问题有:(1)在程序中有的函数名未定义;(2)在抄录程序时,少录入一些字符,如:“;”、“{”、“-”等符号,而出现错误;(3)有一些函数名录入时少写一个字母或顺序颠倒;(4)没有注意函数名的调用及定义;(5)芯片引脚定义出错而导致没有实验现象。在软件调试过程中,对出现的错误进行了认真的分析和修改,多次调试成功后,能够很好的达到既定的设计效果。4.3Proteus仿真4.3.1proteus仿真软件介绍Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它是目前最好的仿真单片机及外围器件的工具。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。尽管目前国内推广刚起步,但早已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。4.3.2proteus仿真在硬件和软件都能实现的条件下,利用Proteus进行仿真,通过不停的调试与改正,最后终于实现了计时计分器的功能,Proteus仿真结果如图5-1所示当连好各个模块电路的导线后,导入芯片程序,运行该电压表的仿真。总之,在原有的理论基础上,通过Proteus能够成功的进行电压表基本操作的仿真,实现了相关的功能。下图4-1为篮球计时计分器开启状态,初始化默认为时间15分钟,A、B两对比分此刻都为0。图4-1proteus仿真开启状态图下图4-2为篮球计时计分器开始状态,此时蓝色的LED数码管开始倒计时,此刻可以按下A、B两队得分的按键,控制比分加减,按键如图从上到下分别为A组加1分,A组加2分,A组加3分,A组减1分,同理,下面的四个按键为B组加1分,B组加2分,B组加3分,B组减1分。因为在学校和业余篮球赛中,常见问题就是踩线三分球,但计分人员误加了3分,此时就可以使用减分按键把分数减1。图4-2proteus仿真开始计时计分状态图下图4-3为半场结束时的Proteus仿真电路图,此时蜂鸣器会响三声,通知半场结束。图4-3proteus仿真半场结束图下图4-4为半场比赛结束,时间回到初始状态,场地交换,此时A,B比分交换的状态。图4-4proteus仿真交换场地图全场比赛结束时跟半场比赛一样,蜂鸣器会响三声,时间回到初始状态,比分为显示的最终结果。此次设计的亮点是在初始状态时候时间可以自行调整,这样在业余比赛中根据半场的时间不同可以调整,专业比赛时间为每节12分钟,业余通常为每节10分钟,15分钟,或者半场20分钟,此时根据时间的不同可以调整。4.4实物连接与实现在通过proteus软件进行仿真完成后,根据仿真图开始进行焊接。在焊接板子是应注意几点:(1)焊接完一个模块都要用万用表测量一下电源和地之间是否出现短路,如果有短路,需立即检测何处焊接导致的短路。(2)芯片的安放要注意管脚的位置,一旦安装反了,便会烧坏芯片。(3)注意led的正负极。脚长的是正极,脚短的是负极。(4)焊接时注意排线的安排,尽量把线路焊接的清晰。在本次焊接过程中,应尽量合理使用板子的空间,尽量把每个焊接的模块都靠近一些,这样节省了焊接的排线,我之前焊的几次都是排线弄乱了焊接不成功,今后会避免这种事情。图5-2显示为焊接后的成果图,在操作过程中可以完成基本计时计分要求。下图为开关开启时刻的显示,会显示初始状态,然后根据按键的不同,进行倒计时和加分减分操作,并且可以进行A,B两队互换场地的操作,进行时间的调整等操作。图5-2实物焊接成果图4.5本章小结本章主要介绍了软件的实现和实物连接焊板的实现。软件实现中介绍了本次篮球计时计分器的各个功能的使用,满足了业余比赛的需求。硬件实物连接中介绍了常见的错误,焊板所注意的事项,并且显示了成果图。第5章展望在本次设计中,实物连接可以实现篮球比赛中计时计分,更换场地比分交换,初试时间的设置,在最初的设计中本来加入了两队的犯规次数和比分显示三位数这两个想法,但是由于单片机管脚不够的问题,没有实现这两个功能,本次设计中如果使用了锁存器,可以节省管脚,这样就能添加犯规次数这两个功能,因为时间有限,没能实现这一功能,以后可以尝试加入锁存器来实现这一功能。对于便携式篮球计时计分器,尤其是在业余和校园的篮球比赛中,将会越来越普及,因为这种便携式篮球计时计分器价格低廉,操作简单,方便使用,大大降低了人工操作时的错误率。尤其在学校举行篮球比赛时可以使用,这种便携式篮球计时计分器将会逐渐代替人工翻牌子计时计分。不仅如此,学生还可亲手制作便携篮球计时计分器,大大降低了成本,使篮球计时计分器普及校园。在业余比赛中,使用便携篮球计时计分器也会降低人力物力,降低成本。在本次设计中我们必须熟悉和掌握单片机的结构及工作原理,单片机的接口技术及相关外围芯片的特性、控制方法。单片机不仅是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。随着单片机的广泛应用,将大大促进各领域的技术更新,向自动化、小型化、智能化方向迈进。而对于我们来说,我们这代人的目标和任务是把这些高科技产品更升一个层次。结论以上为毕业期间所作的毕业论文基于单片机的篮球计分器设计,它经过多次修改和整理,可以满足设计的基本要求。本次设计从三大部分介绍了篮球计时计分器,分别是篮球计时计分器的基本组成和原理,软件硬件的系统设计和篮球计时计分器的调试与实现。篮球计时计分器的基本组成包括了分别从AT89S52单片机的介绍,数码管,晶体振荡器,报警器,按键这几个部门组成,介绍了每个部分的功能,了解了篮球计时计分器最基本的组成,并且简单介绍了篮球计时计分器的工作原理,通过框图形式掌握了基本工作原理。系统的设计部分从硬件部分和软件部分这两方面介绍的,硬件部分介绍了组成篮球计时计分器的电路,包括电源输入部分、晶振部分、复位电路部分、显示部分,键盘部分这五部分,通过这几部分介绍知道了篮球计时计分器是如何工作的。软件部分则是利用流程图形式介绍了软件部分是如何实现的。最后就是篮球计时计分器的调试与实现,这部分介绍了在编写代码和焊板阶段遇到的问题以及应该注意的事项。这部分还介绍了实物图用仿真软件的实现,各个功能的使用方法等。本次设计的便携式篮球计时计分器在业余和校园中可以替代人工翻牌计时计分的形式,这种便携的计时计分器大大降低了人力物力,成本降低了,而且操作简单,在体育发展越来越好的形势下,这种篮球计时计分器将会大面积使用。参考文献[1]聂典,丁伟著.51单片机应用实例详解.清华大学出版社,2010.5[2]孙育才等.MCS-51系列单片微型计算机及其应用(第4版).东南大学出版社,2004.3[3]杨欣等著.单片机应用技术(C语言).中国劳动社会保障出版社,2006.6[4]王玉凤,张延强著.基于Multisim10的51单片机仿真实战教程.电子工业出版社,2010.2[5]朱定华著.单片机原理与接口技术.电子工业出版社,2001.4[6]王宜怀,刘晓升等著.嵌入式应用技术基础教程.北京清华大学出版社,2005.7[7]王威著.HCS12微控制器原理及应用.北京航空航天大学出版社,2007.10[8]龚运新著.单片机C语言开发技术.北京清华大学出版社,2008.10[9]周立功.单片机实验与实践.北京航空航天大学出版社,2004.3[10]MeehanJoanne,MuirLindsey.SCMinMerseysideSMEs:Benefitsandbarriers[J]TQMJournal.2008.4[11]V.Yu.Teplov,A.V.Anisimov.ThermostattingSystemUsingaSingle-ChipMicrocomputerandThermoelectricModulesBasedonthePeltierEffect[J],2002.7[12]YeagerBrent.Howtotroubleshootyourelectronicscale[J]..PowderandBulkEngineering.1995.9致谢毕业论文暂告收尾,这也意味着我在大连海事大学的四年的学习生活既将结束。回首既往,自己一生最宝贵的时光能于这样的校园之中,能在众多学富五车、才华横溢的老师们的熏陶下度过,实是荣幸之极。在这四年的时间里,我在学习上和思想上都受益非浅。这除了自身努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的论文的写作是枯燥艰辛而又富有挑战的。单片机是理论界一直探讨的热门话题,老师的谆谆诱导、同学的出谋划策及家长的支持鼓励,是我坚持完成论文的动力源泉。在此,我特别要感谢我的导师刘剑桥老师。从论文的选题、文献的采集、框架的设计、结构的布局到最终的论文定稿,从内容到格式,从标题到标点,他都费尽心血。没有刘剑桥老师的辛勤栽培、孜孜教诲,就没有我论文的顺利完成。感谢信息院的各位同学,与他们的交流使我受益颇多。最后要感谢我的家人以及我的朋友们对我的理解、支持、鼓励和帮助,正是因为有了他们,我所做的一切才更有意义;也正是因为有了他们,我才有了追求进步的勇气和信心。时间的仓促及自身专业水平的不足,整篇论文肯定存在尚未发现的缺点和错误。恳请阅读此篇论文的老师、同学,多予指正,不胜感激!PAGE9附录voiddelay(ucharms)//1ms延时{ uchary; for(;ms>0;ms--) for(y=120;y>0;y--);}voidinit()//定时器初始化{TMOD=0x11;//16位定时器TH0=(65536-20000)/256;//20ms初值TL0=(65536-20000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256; //50ms初始值;EA=1;//开启总中断ET0=1;//定时器0中断允许ET1=1;//定时器1中断允许TR1=0;//关闭定时器1TR0=1;//打开定时器0EX0=1;//外部中断0允许IT0=1;//外部中断0为边沿触发EX1=1;//外部中断1允许IT1=1;//外部中断1为边沿触发alarm=1;//关闭蜂鸣器led=1;//关闭发光二极管}voidtime0()interrupt1 //时间中断0;用于显示及时间调整时对应位闪烁{ TH0=(65536-20000)/256;//20ms初始化TL0=(65536-20000)%256; display();flashflag=~flashflag;//数码管闪烁标志位取反}voidtime1()interrupt3//定时器中断1,用于时间倒计时及声光报警{TH1=(65536-50000)/256;//50ms初值TL1=(65536-50000)%256;t1++;//中断计数加1if(t1==20)//1s时间到{t1=0;//中断计数清0if(time[1]==0) //如果分钟秒数为0 {if(time[0]==0)//如果分钟数也为0时,开启时间中断0,输出响铃脉冲{ alarm=!alarm;//蜂鸣器报警 led=!led;//发光二极管闪烁 t2++;//记录蜂鸣器响的次数 if(t2==6)//声光报警三次 { t2=0; TR1=0;//关闭声光报警 time[0]=15;//倒计时分钟数置为15 time[1]=0;//倒计时秒数置为0}}else //如果秒位为0,分位不为0,则秒位跳为59,分钟位减1{time[0]--;time[1]=59;}}else time[1]--; //如果分秒位都不为0,则秒位减1} }voidKey_scan(void)//按键扫描程序{uchartemp;if(jiaohuan==0)//如果场地交换按键按下{delay(10);//延时消抖动if(jiaohuan==0)//再次判断场地交换按键是否按下{while(!jiaohuan);//延时消抖动 if(TR1==0)//比赛停止的时侯才允许交换场地 {temp=score[0];//交换两队比分score[0]=score[1];score[1]=temp; }}}if(A1==0)//如果A组加1分按键按下{delay(10);//延时消抖动if(A1==0)//再次判断A组加1分按键是否按下{while(!A1);//延时消抖动score[0]++;//A组比分加1 if(score[0]>99)//如果A组比分大于99,则A组比分无法再累加 score[0]=99;}}if(A2==0)//如果A组加2分按键按下{delay(10);//延时消抖动if(A2==0)//再次判断A组加2分按键是否按下{while(!A2);//延时消抖动score[0]+=2;//A组比分加2分 if(score[0]>99)//如果A组比分大于99,则A组比分无法再累加 score[0]=99;}}if(A3==0)//如果A组加3分按键按下{delay(10);//延时消抖动if(A3==0)//再次判断A组加3分按键是否按下{while(!A3);//延时消抖动score[0]+=3;//A组比分加3分 if(score[0]>99)//如果A组比分大于99,则A组比分无法再累计 score[0]=99;}}if(A4==0)//如果a组减1分按键按下{delay(10);//延时消抖动if(A4==0)//再次判断A组减1分按键是否按下{while(!A4);//延时消抖动score[0]--;//A组比分减1分 if(score[0]<0)//如果a组比分小于0,则无法再减分 score[0]=0;}}if(B1==0)//如果B组加1分按键按下{delay(10);//延时消抖动if(B1==0)//再次判断B组加1分按键是否按下{while(!B1);//延时消抖动score[1]++;//B组比分加1 if(score[1]>99)//如果B组比分大于99,则B组比分无法再累加 score[1]=99;}}if(B2==0)//如果B组比分加2分按键按下{delay(10);if(B2==0){while(!B2);score[1]+=2; if(score[1]>99) score[1]=99;}}if(B3==0)//如果B组比分加3分按键按下{delay(10);if(B3=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论