篮球比赛计分器设计_第1页
篮球比赛计分器设计_第2页
篮球比赛计分器设计_第3页
篮球比赛计分器设计_第4页
篮球比赛计分器设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

学号:本科毕业设计学院专业年级姓名论文题目篮球比赛计分器设计指导教师职称年月日目录TOC\o"1-2"\h\u9831摘要 18944Abstract 1216371绪论 2126471.1篮球比赛计分器设计的研究的背景 2265781.2研究内容 259771.3设计目的 3125972方案选择与论证 3168892.1方案一 3116642.2方案二 498092.3方案三 525442.4方案选择 5133473单元电路设计 6149223.1单片机简述 6199103.2振荡电路 6176433.3控制按键电路 782883.4复位电路 726313.5报警时钟电路 8232773.6数码管显示电路 8297854软件设计 1088724.1主流程图 1045984.2源程序代码 11224115调试结果及分析 1114706结论 124610参考文献 13篮球比赛计分器设计摘要:篮球比赛计分器重要由计分器、计时器等多种电子器件组成。篮球比赛计分器重要实现的基本功能有:开始和暂停、比赛时间倒计时、24秒倒计时、加分操作、蜂鸣报警、时间和比分显示的基本功能。本设计具有比胜过程中数据显示的稳定性及准确性;在比赛进入倒计时24秒之后,该系统会有报警声,即该场比赛结束。随着单片机在各个领域的应用,篮球比赛积分器系统也应用单片机为重要芯片。在用单片机控制的LED七段显示器计时计分以便于在比赛中提高稳定性和准确性。本设计是基于单片机AT89C51的篮球比赛计分系统。运用三个四位8段数码管作为显示器件,有时间显示,每一次进攻24秒显示,每一节分钟倒计时显示,双方比分显示。关键词:篮球比赛;计分器;24秒倒计时The

design

of

basketball

game

scoring

deviceAbstract:Basketballgamescoringdevicesmainlyincludesscoringdevices,calculagraph,andotherelectronicdevices.Thebasicfunctionsofabasketballgameare:startandpause,thegamecountdown,a24-secondcountdown,addingscores,buzzingalarm,displayingtimeandscores.Thisdesignisstableandaccurate.Whenthegameis24secondsleft,thealarmwillring.Thenitmeansgameisover.WiththeapplicationofSCMinvariousfields,thebasketballgamesystemalsoadoptsSCMasthemainchip.ByusingtheLEDseven-segmentdisplaycontrolledbySCM,itwillbemorestableandaccurateinthegame.ThisdesignismainlytalkingaboutthescoringsystemwhichisbasedonSCMAT89c51.Usingthreefoureight-segmentasdisplaydevices,itshowstime,every24seconds,everyminutecountdown,scoresbetweentwosides.Keywords:Basketballgame,scoringdevice,24secondscountdown1绪论1.1篮球比赛计分器设计的研究的背景篮球比赛是根据队员在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计分系统是一种得分类型的系统。篮球比赛的计分系统由计时器、积分器等多种电子设备组成,同时,根据现在篮球比赛规定,完善的篮球比赛计分系统设备应可以与赛场得分解决,赛场大屏幕,电视转播车等多种设备相联,以便于是比赛更容易让观众处在现场的感觉。同时,随着单片机在各个领域的广泛应用,运用单片机为重要芯片来设计篮球比赛计分系统。由于单片机的高集成度,控制功能强,电压低,特别是它具有体积不大,质量轻,能量消耗低,价格低廉,高可靠性,容易扩展,便于生产便携式产品等多种优点,使单片机迅速得到了广泛应用,目前已经成为测量控制应用系统中的首选和新电子产品的重要部位[1]。由于单片机的性能极高,单片机已广泛应用于各大电子产品产业。篮球比赛计分器就是以单片机为核心的计分系统。1.2研究内容本设计是基于单片机AT89C51的篮球比赛计分系统。运用三个四位8段数码管作为显示器件。本设计是简朴模拟篮球比赛计时计分器的设计,有时间显示,每一次进攻24秒显示,每一节分钟倒计时显示,双方比分显示。

12个共阳数码管分别是:前六位为当前时间显示,第七八位是进攻24秒时间显示,第九到十二位是每节比赛倒计时显示,时间精确到秒。本设计有四种显示模式,00.00.00.24计时模式,000-000计分模式,H000-000给前一个球队加分模式,000-H000给后一个球队加分模式;接通电源后,进入00.00.00.24,12.00模式,等待比赛开始,第三个键按下进入比赛倒计时模式,按第二次进入计分显示模式,按第三次又进入计时等待模式,等待下一轮开始;简朴一点说就是:依次按第三个键分别是:等待-开始-计分-等待三种模式循环。在000--000计分模式下,第一个键按下进入H000-000模式,第二个键加分,第三个键减分,再按第一个键进入正常计分模式000-000;在000-000计分模式下,第二个键按下进入000-H000模式,第一个键加分,第三个键减分,再按第二个键进入正常计分模式000-000;24秒定期时间到,报警3秒停,24秒倒计时复位,进入等待状态。1.3设计目的(1)可以准确记录整个比胜过程中的分数;(2)可以准确记录整个比胜过程中的时间;(3)在比赛结束时,可以发出警报声。2方案选择与论证篮球比赛重要实现的基本功能有:开始、比赛时间倒计时、24秒倒计时、加分操作、减分操作、蜂鸣报警、时间和比分显示的基本功能。因此,必须要有相关的输入模块、控制模块和显示模块等。对于输入模块,有独立按键输入和矩阵式按键输入。但是两者相比较而言,矩阵式按键输入的组建模式灵活,可用于输入更多的控制对象。对于控制模块,可以运用数字芯片进行控制,也可以运用单片机进行控制,显然,单片机控制方式是很高效的。对于显示模块,有LED数码管显示和LCD液晶显示,与LED数码管相比,LCD体积大,能耗大,并且价格高昂,不太适合学生选择使用,所以选择使用LED数码管。2.1方案一用石英晶体振荡器或555定期器产生稳定的校时信号,555定期芯片是一种中规模集成电路,可以构成多谐振荡器脉冲产生与整形电路,在自动控制、定期、防盗报警器有着广泛的应用,并且操作简朴,所以选用555定期器来完毕报警电路和1秒脉冲[2]。运用了74LS157,74LS190,74LS00,74LS20及555定期器基本元件。此类元件性价比合适,使用不难,大部分基本功能都可以实现,是工程中的基本元件。其系统框图如图1所示:图1系统框图2.2方案二运用8255A对AT89C51单片机的P0端口扩展来实现。PA口为计时和计分的段控,PB口为计分的位控,PC口为计时显示的位控、报警、暂停和刷新,单片机的P3口为控制位,控制着开始,P1口为键盘输入端口[3]。该设计使用8255A经P0口扩展为三个可用的8位端口,经8255A扩展后,可用的端口增多,起到了更好的扩展功能,运用74LS373对段和位分别进行锁存,增强了系统的稳定性,本方案的设计的具体电路如下图2所示:图28255A扩展电路图2.3方案三该方案以单片机为核心,作为控制模块,并以LED数码管作为显示模块,通过单片机自带的时钟电路和相应的定期器来实现计时[4]。由单片机的P0口接显示器件,P1口接键盘,P2口接译码电路,P3口接中断解决电路,报警电路接在未用的I/O口线上[5]。基于单片机AT89C51篮球比赛计分器设计的系统结构图如图3:图3AT89C51设计系统框图2.4方案选择方案一的实现要用到多块数字芯片,数字电路的一个大的缺陷就是电路随着信号的改变会产生冲击电流,稳定性相对而言比较差。方案二对于电路焊接比较麻烦,对于学生来讲不太容易实现。方案三设计简朴,容易操作。综上所述,三种方案中,方案三对于学生更容易实现,所以选择方案三。本系统运用单片机AT89C51为该设计的重要芯片。运用12个7段共阳LED作为显示器件,12个共阳数码管分别是:前六位当前时间显示,第七八位是进攻24秒时间显示,第九到十二位是每节比赛倒计时显示,时间精确到秒[6]。进入倒计时24秒之后,蜂鸣器会发出警报声,以表达比赛结束。另一方面,为了配合计时器和计分器同时运用恰当,设立了三个按键,根据案件的特定次数来显示相应的得分情况以及比赛时间[7]。3单元电路设计3.1单片机简述图4是AT89C51的引脚图,引脚说明如下图451单片机系列引脚图VCC:AT89C51电源正极输入,接+5V电压。GND:电源接地端。XTAL1:接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地[8]。XTAL2:接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端[9]。当采用外部振荡器时,则此引脚接外部振荡信号的输入。3.2振荡电路本次设计要使用到AT89C51单片机的时钟振荡功能。AT89C51中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端[10]。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器。AT89C51的时钟重要分为两种方式:第一种是片内时钟振荡,另一种是外部时钟方式。本次设计采用的是第一种片内时钟振荡方式,通过在18和19端口外接石英晶体和振荡电容组成,这样既可产生本设计所需的时钟[11]。振荡电路如下图5所示:图5振荡电路3.3控制按键电路控制按键电路如下图6所示,键S3按下进入比赛倒计时模式,按第二次进入计分显示模式,按第三次又进入计时等待模式,等待下一轮开始;简朴一点说就是:依次按键S3分别是:等待--开始--计分--等待三种模式循环。在000-000计分模式下,S1按下进入H000-000模式,S2加分,S3减分,再按S1键进入正常计分模式000-000;在000-000计分模式下,S2键按下进入000-H000模式,S1键加分,S3键减分,再按S2键进入正常计分模式000-000;24秒定期时间到,报警3秒停,24秒倒计时复位,进入等待状态。图6控制按键电路3.4复位电路本系统采用的复位电路是上电加按钮电平复位,在系统刚接通电路时,可令单片机自动复位;在系统运营中,可以通过开关使单片机复位[12]。复位电路如下图7所示:图7复位电路3.5报警时钟电路报警时钟电路如下图8所示,当一次进攻在进入24秒倒计时之后,蜂鸣器会发出警报声,扬声器的时间为3秒钟,表达比赛时间结束。报警时钟电路如下图8所示:图8报警时钟电路3.6数码管显示电路数码管显示原理数码管事实上是由7个发光管组成8字形构成的,加上小数点就是8个。我们分别把他命名为A,B,C,D,E,F,G,H。图9数码管内部结构图假设我们要显示一个数字2,那么A、B、G、E、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阳接法,那么为低电平是亮,高电平是灭。从高往低排列,P0.7-P0.0写成二进制为10100010,把他转化为16进制则为A2H[13]。数码管的接口有静态接口和动态接口两种。静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阳接电源,本次课程设计由于所需数码管不多,故可用些种方法接线。这种接法占用接口多,仅能接少量数码管[14]。动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,运用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完毕字形码的输出,另一接口完毕各数码管的轮流点亮[15]。多位一体的数码管原理和单个的差不多。下表为数码管显示数字的表格:表1共阳极数码管显示显示P0.7小数点P0.6GP0.5FP0.4EP0.3DP0.2CP0.1BP0.0A16进制代码011000000COH111111001F9H210100110A2H310110000B0H41001100199H51001001092H61000001082H711111000F8H81000000080H91001000090H(2)12个共阳数码管分别是:前六位为当前时间显示,第七八位是进攻24秒时间显示,第九到十二位是每节比赛倒计时显示,时间精确到秒。有四种显示模式,00.00.00.24计时模式,000-000计分模式,H000-000给前一个球队加分模式,000-H000给后一个球队加分模式。图10数码管电路连接图4软件设计4.1主流程图图11系统流程图4.2源程序代码见附录15调试结果及分析硬件电路图:图12系统硬件电路图生成PCB图:图13系统PCB图本设计重要实现的基本功能有:开始和暂停、比赛时间倒计时、24秒倒计时、加减分操作、蜂鸣报警、时间和比分显示的基本功能。基于理论上,上电之后,LED显示00.00.00.24,12.00模式;等待比赛开始,按下第三个键进入比赛倒计时模式,按第二次进入计分显示模式,按第三次又进入计时等待模式,等待下一轮开始;依次按第三个键分别是:等待--开始--计分--等待三种模式循环。在000--000计分模式下,第一个键按下进入H000-000模式,即给A队计分,按下第二个键给A队加分,按下第三个键给A队减分;再按第一个键进入正常计分模式000-000;在000-000计分模式下,第二个键按下进入000-H000模式,即给B队计分,按下第一个键给B队加分,按下第三个键给B队减分,再按第二个键进入正常计分模式000-000;24秒定期时间到,报警3秒停,24秒倒计时复位,进入等待状态。在调试过程中,也许由于线路的连接问题或者是程序没有设立好,导致LED数字显示不是特别准确,但是在本设计中规定的基本功能:开始、两队加分减分、比赛时间倒计时、24秒倒计时、蜂鸣报警基本上都可以实现,所以还是基本上达成设计规定的。6结论从本次设计中,重要使用AT89C51芯片作为核心元件,结合外部的显示电路及键盘控制电路,构成了一个篮球比赛计分器。整体电路重要由AT89C51芯片、键盘控制、计分显示器和计时显示器四部分组成。设计中重要使用keil软件和proteus软件。Keil软件重要用来对C语言程序进行编译。Proteus软件重要用来对硬件电路进行仿真。整个设计可以实现计分显示、计时显示和比赛结束报警等功能。本次设计也使我对单片机工作原理、功能有了宏观的了解,并对单片机汇编程序的应用有了新的进一步结识。在本次设计之前,觉得这个设计是个比较简朴的设计,但是在设计过程中发现自己有很多局限性,动手能力过差,重要因素是我们没有经常动手设计过电路。由于设计的计划没有安排好,设计的时间较为仓促,特别是在硬件的调试过程出现了很大问题。但是,通过我的不懈努力,结果还是很可观的,篮球比赛计分器的基本功能都可以实现。对于篮球比赛计分器设计,尚有一点改善之处,就是在单节比赛时间小于1分钟时,倒计时显示可以精确到0.1秒,这样可以更直观的看到比赛最后阶段的时间变化,也能使比赛更剧烈,分秒必争。参考文献[1]王福瑞.单片微机测控系统设计大全[M].北京:北京航空航天大学出版社,2023:89-95.[2]阎石.数字电子技术基础(第五版)[M].北京:高等教育出版社,2023:477--495.[3]MtProspect.MCS-51FamilyofMicrocontrollersArchitecturalOverview,September1993:26-45.[4]Jonshon.high-speeddigitaldesign[M].PrenticeHall,1993:178-192.[5]ChengyingHua.MicroelectronicsCircuitAnalysisandDessign(ThirdEdition)[M].TsinghuaUniversitypress,2023:185-204.[6]吴飞青.单片机原理与应用实践指导[M].北京:机械工业出版社,2023:123-134.[7]罗会昌.电工电子技术实验与课程设计[M].合肥:中国科学技术大学出版社,1995:156-178.[8]董凤锦.毕业设计指导(电类)[M].西安:西安电子科技大学出版社,2023:65-73.[9]赵淑范,王宪伟等.电子技术实验与课程设计[M].北京:清华大学出版社,2023:201-234.[10]董少明.单片机原理与应用技术[M].北京:北京理工大学出版社,2023:56-63.[11]梅丽凤,王艳秋.单片机原理与接口技术[M].北京:清华大学出版社,2023:83-103.[12]谢宜仁.单片机硬件接口电路及实例解析[M].北京:电子工业出版社,2023:147-153.[13]李东生.Protel99SE电路设计技术入门与应用[M].第一版.北京:电子工业出版社,2023:179-192.[14]谢宜仁.单片机硬件接口电路及实例解析[M].北京:电子工业出版社,2023:69-81.[15]周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,2023:56-68.附录1#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitP3_4=P3^4;//改分钟sbitP3_5=P3^5;//改小时sbitP3_6=P3^6;//时间暂停sbitP3_7=P3^7;//报警sbitP3_0=P3^0;//条件信号sbitP3_1=P3^1;//条件信号sbitP3_2=P3^2;//条件信号sbitP3_3=P3^3;//条件信号uchara=0,b=0,c=0,d=0,e=12,f=0,g=0,h=0,k=0,s24=24;uchardisp[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//定义12个显示单元uchardispbit[]={0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xfe,0xfd,0xfb,0xf7};//P1、P2口扫描代码uchardispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x89};//共阳数码管显示代码uchardispcode1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};////////////////////////////////////////////////////////////////voiddisplay1(void){uchari,j;disp[5]=b/10;disp[4]=b%10;disp[3]=a/10;disp[2]=a%10;disp[1]=s24/10;disp[0]=s24%10;disp[7]=d/10;disp[6]=d%10;disp[11]=e/10;disp[10]=e%10;disp[9]=k/10;disp[8]=k%10;for(i=0;i<12;i++){ if(i==2|i==4|i==6|i==10)P0=dispcode1[disp[i]]; elseP0=dispcode[disp[i]]; if(i<8){P1=0xff;P2=dispbit[i];}///////费事可是不少,第一次这样写if(i<8)P2=dispbit[i];elseP1=dispbit[i];得出一个结论,开另一扫描时关掉现用的扫描 else{P2=0xff;P1=dispbit[i];} for(j=0;j<255;j++); } }//////////////////////////////////////////////////////////////////voiddisplay2(void){uchari,j;disp[7]=f/100;//计分百位disp[6]=f%100/10;//计分十位disp[5]=f%100%10;//计分个位disp[3]=10;//显示为"-"disp[4]=10;//显示为"-"disp[2]=g/100;//计分百位disp[1]=g%100/10;//计分十位disp[0]=g%100%10;//计分个位disp[11]=e/10;disp[10]=e%10;disp[9]=k/10;disp[8]=k%10;for(i=0;i<12;i++){ if(i==10)P0=dispcode1[disp[i]];//个位带小数点显示 elseP0=dispcode[disp[i]]; if(i<8){P1=0xff;P2=dispbit[i];} else{P2=0xff;P1=dispbit[i];} for(j=0;j<255;j++); } }//////////////////////////////////////////////////////////////////voiddisplay3(void){uchari,j;disp[7]=f/100;//计分百位disp[6]=f%100/10;//计分十位disp[5]=f%100%10;//计分个位disp[3]=11;//显示为"H"disp[4]=10;//显示为"-"disp[2]=g/100;//计分百位disp[1]=g%100/10;//计分十位disp[0]=g%100%10;//计分个位disp[11]=e/10;disp[10]=e%10;disp[9]=k/10;disp[8]=k%10;for(i=0;i<12;i++){ if(i==10)P0=dispcode1[disp[i]];//个位带小数点显示 elseP0=dispcode[disp[i]]; if(i<8){P1=0xff;P2=dispbit[i];} else{P2=0xff;P1=dispbit[i];} for(j=0;j<255;j++); } }//////////////////////////////////////////////////////////////////voiddisplay4(void){uchari,j;disp[7]=f/100;//计分百位disp[6]=f%100/10;//计分十位disp[5]=f%100%10;//计分个位disp[3]=10;//显示为"-"disp[4]=11;//显示为"H"disp[2]=g/100;//计分百位disp[1]=g%100/10;//计分十位disp[0]=g%100%10;//计分个位disp[11]=e/10;disp[10]=e%10;disp[9]=k/10;disp[8]=k%10;for(i=0;i<12;i++){ if(i==10)P0=dispcode1[disp[i]];//个位带小数点显示 elseP0=dispcode[disp[i]]; if(i<8){P1=0xff;P2=dispbit[i];} else{P2=0xff;P1=dispbit[i];} for(j=0;j<255;j++); } }//////////////////////////////////////////////////////////////////voidt0(void)interrupt1using1//定是50ms{c++;TH0=0x3c;TL0=0xb0;}//////////////////////////////////////////////////////////////////voidt1(void)interrupt3using1//定期50ms{h++;TH1=0x3c;TL1=0xb0;}//////////////////////////////////////////////////////////////////voidmain(void){uintl,m;uchartj=0;TMOD=0x11;//用定期器0,1定期50MSTH0=0x3c;TL0=0xb0;TH1=0x3c;TL1=0xb0;ET0=1;ET1=1;TR0=1;TR1=0;EA=1;P3_7=P3_0=P3_2=P3_3=1;//初始化置1while(1){if(P3_6==0){P3_7=0;while(P3_6==0);P3_7=1;h=0;tj++;if(tj==3)tj=0;}if(P3_5==0){P3

温馨提示

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

评论

0/150

提交评论