资源描述
-学号:本科毕业设计学院专业年级姓名论文题目篮球比赛计分器设计指导教师职称年月日-目录摘要.1.Abstract.1.1绪论.2.1.1篮球比赛计分器设计的研究的背景.2.1.2研究内容.2.1.3设计目标.3.2方案选择与论证.3.2.1方案一.3.2.2方案二.4.2.3方案三.4.2.4方案选择.5.3单元电路设计.5.3.1单片机简述.5.3.2振荡电路.6.3.3控制按键电路.7.3.4复位电路.7.3.5报警时钟电路.8.3.6数码管显示电路.8.4软件设计.1.0.4.1主流程图.1.0.4.2源程序代码.115调试结果及分析.116结论.1.2.参考文献.1.3.-篮球比赛计分器设计摘要:篮球比赛计分器主要由计分器、计时器等多种电子器件组成。篮球比赛计分器主要实现的根本功能有:开场和暂停、比赛时间倒计时、24秒倒计时、加分操作、蜂鸣报警、时间和比分显示的根本功能。本设计具备比赛过程中数据显示的稳定性及准确性;在比赛进入倒计时24秒之后,该系统会有报警声,即该场比赛完毕。随着单片机在各个领域的应用,篮球比赛积分器系统也应用单片机为主要芯片。在用单片机控制的LED七段显示器计时计分以便于在比赛中提高稳定性和准确性。本设计是基于单片机AT89C51的篮球比赛计分系统。利用三个四位8段数码管作为显示器件,有时间显示,每一次进攻24秒显示,每一节分钟倒计时显示,双方比分显示。关键词:篮球比赛;计分器;24秒倒计时ThedesignofbasketballgamescoringdeviceAbstract: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。由于单片机的性能极高,单片机已广泛应用于各大电子产品产业。篮球比赛计分器就是以单片机为核心的计分系统。1.2研究内容本设计是基于单片机AT89C51的篮球比赛计分系统。利用三个四位8段数码管作为显示器件。本设计是简单模拟篮球比赛计时计分器的设计,有时间显示,每一次进攻24秒显示,每一节分钟倒计时显示,双方比分显示。12个共阳数码管分别是:前六位为当前时间显示,第七八位是进攻24秒时间显示,第九到十二位是每节比赛倒计时显示,时间准确到秒。本设计有四种显示模式,00000024计时模式,000000计分模式,H000000给前一个球队加分模式,000H000给后一个球队加分模式;接通电源后,进入00000024,1200模式,等待比赛开场,第三个键按下进入比赛倒计时模式,按第二次进入计分显示模式,按第三次又进入计时等待模式,等待下一轮开场;简单一点说就是:依次按第三个键分别是:等待开场计分等待三种模式循环。在000-000计分模式下,第一个键按下进入H000000模式,第二个键加分,第三个键减分,再按第一个键进入正常计分模式000000;在000000计分模式下,第二个键按下进入000H000模式,第一个键加分,第三个键减分,再按第二个键进入正常计分模式000000;24秒定时时间到,报警3秒停,24秒倒计时复位,进入等待状态。2-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系统框图3-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:4-图3AT89C51设计系统框图2.4方案选择方案一的实现要用到多块数字芯片,数字电路的一个大的缺点就是电路随着信号的改变会产生冲击电流,稳定性相对而言比拟差。方案二对于电路焊接比拟麻烦,对于学生来讲不太容易实现。方案三设计简单,容易操作。综上所述,三种方案中,方案三对于学生更容易实现,所以选择方案三。本系统利用单片机AT89C51为该设计的主要芯片。利用12个7段共阳LED作为显示器件,12个共阳数码管分别是:前六位当前时间显示,第七八位是进攻24秒时间显示,第九到十二位是每节比赛倒计时显示,时间准确到秒6。进入倒计时24秒之后,蜂鸣器会发出警报声,以表示比赛完毕。其次,为了配合计时器和计分器同时运用恰当,设置了三个按键,根据案件的特定次数来显示相应的得分情况以及比赛时间7。3单元电路设计3.1单片机简述图4是AT89C51的引脚图,引脚说明如下5-图451单片机系列引脚图VCC:AT89C51电源正极输入,接+5V电压。GND:电源接地端。XTAL1:接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地8。XTAL2:接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端9。当采用外部振荡器时,那么此引脚接外部振荡信号的输入。3.2振荡电路本次设计要使用到AT89C51单片机的时钟振荡功能。AT89C51中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端10。这个放大器与作为反应元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器。AT89C51的时钟主要分为两种方式:第一种是片内时钟振荡,另一种是外部时钟方式。本次设计采用的是第一种片内时钟振荡方式,通过在18和19端口外接石英晶体和振荡电容组成,这样既可产生本设计所需的时钟11。振荡电路如下列图5所示:6-图5振荡电路3.3控制按键电路控制按键电路如下列图6所示,键S3按下进入比赛倒计时模式,按第二次进入计分显示模式,按第三次又进入计时等待模式,等待下一轮开场;简单一点说就是:依次按键S3分别是:等待-开场-计分-等待三种模式循环。在000000计分模式下,S1按下进入H000000模式,S2加分,S3减分,再按S1键进入正常计分模式000000;在000000计分模式下,S2键按下进入000H000模式,S1键加分,S3键减分,再按S2键进入正常计分模式000000;24秒定时时间到,报警3秒停,24秒倒计时复位,进入等待状态。图6控制按键电路3.4复位电路本系统采用的复位电路是上电加按钮电平复位,在系统刚接通电路时,可令单片机自动复位;在系统运行中,可以通过开关使单片机复位12。复位电路如下图7所示:7-图7复位电路3.5报警时钟电路报警时钟电路如下列图8所示,当一次进攻在进入24秒倒计时之后,蜂鸣器会发出警报声,扬声器的时间为3秒钟,表示比赛时间完毕。报警时钟电路如下图8所示:图8报警时钟电路3.6数码管显示电路1数码管显示原理数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。我们分别把他命名为A,B,C,D,E,F,G,H。图9数码管内部构造图8-假设我们要显示一个数字2,那么A、B、G、E、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阳接法,那么为低电平是亮,高电平是灭。从高往低排列,P0.7P0.0写成二进制为10100010,把他转化为16进制那么为A2H13。数码管的接口有静态接口和动态接口两种。静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阳接电源,本次课程设计由于所需数码管不多,故可用些种方法接线。这种接法占用接口多,仅能接少量数码管14。动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一接口完成各数码管的轮流点亮15。多位一体的数码管原理和单个的差不多。下表为数码管显示数字的表格:表1共阳极数码管显示显示P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.016进制代小数GFEDCBA码点011000000COH111111001F9H210100110A2H310110000B0H41001100199H51001001092H61000001082H711111000F8H81000000080H91001000090H212个共阳数码管分别是:前六位为当前时间显示,第七八位是进攻24秒时间显示,第九到十二位是每节比赛倒计时显示,时间准确到秒。有四种显示9-模式,00000024计时模式,000000计分模式,H000-000给前一个球队加分模式,000-H000给后一个球队加分模式。图10数码管电路连接图4软件设计4.1主流程图图11系统流程图10-4.2源程序代码见附录15调试结果及分析硬件电路图:图12系统硬件电路图生成PCB图:图13系统PCB图本设计主要实现的根本功能有:开场和暂停、比赛时间倒计时、24秒倒计11-时、加减分操作、蜂鸣报警、时间和比分显示的根本功能。基于理论上,上电之后,LED显示00000024,1200模式;等待比赛开场,按下第三个键进入比赛倒计时模式,按第二次进入计分显示模式,按第三次又进入计时等待模式,等待下一轮开场;依次按第三个键分别是:等待-开场-计分-等待三种模式循环。在000-000计分模式下,第一个键按下进入H000-000模式,即给A队计分,按下第二个键给A队加分,按下第三个键给A队减分;再按第一个键进入正常计分模式000000;在000000计分模式下,第二个键按下进入000H000模式,即给B队计分,按下第一个键给B队加分,按下第三个键给B队减分,再按第二个键进入正常计分模式000000;24秒定时时间到,报警3秒停,24秒倒计时复位,进入等待状态。在调试过程中,可能由于线路的连接问题或者是程序没有设置好,导致LED数字显示不是特别准确,但是在本设计中要求的根本功能:开场、两队加分减分、比赛时间倒计时、24秒倒计时、蜂鸣报警根本上都可以实现,所以还是根本上到达设计要求的。6结论从本次设计中,主要使用AT89C51芯片作为核心元件,结合外部的显示电路及键盘控制电路,构成了一个篮球比赛计分器。整体电路主要由AT89C51芯片、键盘控制、计分显示器和计时显示器四局部组成。设计中主要使用keil软件和proteus软件。Keil软件主要用来对C语言程序进展编译。Proteus软件主要用来对硬件电路进展仿真。整个设计可以实现计分显示、计时显示和比赛完毕报警等功能。此次设计也使我对单片机工作原理、功能有了宏观的了解,并对单片机汇编程序的应用有了新的进一步认识。在本次设计之前,觉得这个设计是个比拟简单的设计,但是在设计过程中发现自己有很多缺乏,动手能力过差,主要原因是我们没有经常动手设计过电路。由于设计的方案没有安排好,设计的时间较为仓促,尤其是在硬件的调试过程出现了很大问题。但是,经过我的不懈努力,结果还是很可观的,篮球比赛计分器的根本功能都可以实现。对于篮球比赛计分器设计,还有一点改良之处,就是在单节比赛时间小于1分钟时,倒计时显示可以准确到0.1秒,这样可以更直观的看到比赛最后阶段的时间变化,也能使比赛更剧烈,分秒必争。12-参考文献1王福瑞.单片微机测控系统设计大全M.:航空航天大学,2004:89-95.2阎石.数字电子技术根底第五版M.:高等教育,2005:477-4953MtProspectMCS-51FamilyofMicrocontrollersArchitecturalOverview,September1993:26-454Jonshon.high-speeddigitaldesignM.PrenticeHall,1993:178-1925ChengyingHuaMicroelectronicsCircuitAnalysisandDessign(ThirdEdition)MTsinghuaUniversitypress,2007:185-2046吴飞青.单片机原理与应用实践指导M.:机械工业,2021:123-1347罗会昌.电工电子技术实验与课程设计M.XX:中国科学技术大学,1995:156-1788董凤锦.毕业设计指导电类M.XX:XX电子科技大学,2005:65-739赵淑X,王宪伟等.电子技术实验与课程设计M.:清华大学,2006:201-234.10董少明.单片机原理与应用技术M.:理工大学,2021:56-63.11梅丽凤,王艳秋.单片机原理与接口技术M.:清华大学,2006:83-10312谢宜仁.单片机硬件接口电路及实例解析M.:电子工业,2021:147-15313李东生.Protel99SE电路设计技术入门与应用M.第一版.:电子工业,2002:179-192.14谢宜仁.单片机硬件接口电路及实例解析M.:电子工业,2021:69-81.15周航慈.单片机应用程序设计技术M.:航空航天大学,2002:56-68.13-附录1#include#defineucharunsignedchar#defineuintunsignedintsbitP3_4=P34;/改分钟sbitP3_5=P35;/改小时sbitP3_6=P36;/时间暂停sbitP3_7=P37;/报警sbitP3_0=P30;/条件信号 sbitP3_1=P31;/条件信号sbitP3_2=P32;/条件信号 sbitP3_3=P33;/条件信号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;disp5=b/10;disp4=b%10;disp3=a/10; disp2=a%10;disp1=s24/10;disp0=s24%10;disp7=d/10;disp6=d%10;disp11=e/10;disp10=e%10;disp9=k/10;disp8=k%10;for(i=0;i12;i+)if(i=2|i=4|i=6|i=10)P0=dispcode1dispi;elseP0=dispcodedispi;if(i8)P1=0xff;P2=dispbiti;/费事可是不少,第一次这样 写if(i8)P2=dispbiti;elseP1=dispbiti;得出一个结论,开另一扫描时关掉现用的 扫描elseP2=0xff;P1=dispbiti;14-for(j=0;j255;j+);/voiddisplay2(void)uchari,j;disp7=f/100;/计分百位disp6=f%100/10;/计分十位disp5=f%100%10;/计分个位disp3=10;/显示为-disp4=10;/显示为- disp2=g/100;/计分百位disp1=g%100/10;/计分十位disp0=g%100%10;/计分个位disp11=e/10;disp10=e%10;disp9=k/10; disp8=k%10; for(i=0;i12;i+)if(i=10)P0=dispcode1dispi;/个位带小数点显示elseP0=dispcodedispi;if(i8)P1=0xff;P2=dispbiti;elseP2=0xff;P1=dispbiti;for(j=0;j255;j+);/voiddisplay3(void)uchari,j;disp7=f/100;/计分百位disp6=f%100/10;/计分十位disp5=f%100%10;/计分个位disp3=11;/显示为Hdisp4=10;/显示为-disp2=g/100;/计分百位disp1=g%100/10;/计分十位disp0=g%100%10;/计分个位 disp11=e/10;disp10=e%10;disp9=k/10;disp8=k%10;for(i=0;i12;i+)if(i=10)P0=dispcode1dispi;/个位带小数点显示15-elseP0=dispcodedispi;if(i8)P1=0xff;P2=dispbiti;elseP2=0xff;P1=dispbiti;for(j=0;j255;j+);/voiddisplay4(void)uchari,j;disp7=f/100;/计分百位disp6=f%100/10;/计分十位disp5=f%100%10;/计分个位disp3=10;/显示为-disp4=11;/显示为Hdisp2=g/100;/计分百位 disp1=g%100/10;/计分十位 disp0=g%100%10;/计分个位disp11=e/10;disp10=e%10;disp9=k/10;disp8=k%10;for(i=0;i12;i+)if(i=10)P0=dispcode1dispi;/个位带小数点显示elseP0=dispcodedispi;if(i8)P1=0xff;P2=dispbiti;elseP2=0xff;P1=dispbiti;for(j=0;j255;j+);/voidt0(void)interrupt1using1/定是50msc+;TH0=0x3c;TL0=0xb0;/voidt1(void)interrupt3using1/定时50msh+;TH1=0x3c;TL1=0xb0;16-/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_0=P3_0;while(P3_5=0);TR1=1;h=0; if(P3_4=0)P3_3=P3_3;while(P3_4=0);TR1=1;h=0;if(tj=2)if(c=20)c=0;a+;/累计时间继续走if(a=60)a=0;b+;if(b=60)b=0;d+;if(d=24)d=0;if(b=60)b=0;display2();s24=24;while(P3_0=0)display3();if(c=20)c=0;a+;/累计时间继续走if(a=60)a=0;b+;if(P3_4=0)while(P3_4=0);h=0;f+;if(P3_5=0)while(P3_5=0);P3_0=1;h=0;if(P3_6=0)while(P3_6=0);h=0;f-;while(P3_3=0)display4();if(c=20)c=0;a+;/累计时间继续走if(a=60)a=0;b+; if(P3_4=0)while(P3_4=0);P3_3=1;h=0;if(P3_5=0)while(P3_5=0);h=0;g+;if(P3_6=0)while(P3_6=0);h=0;g-;if(tj=0|tj=1)/display1();if(h=20)h=0;s24-;k-;17-if(k=255)k=59;if(e=0)e=12;P3_7=0;for(l=0;l20;l+)for(m=0;m10000;m+);P3_7=1;e-;if(c=20)c=0;a+;if(s24=0)TR1=0;P3_7=0;for(l=0;l20;l+)for(m=0;m10000;m+);P3_7=1;tj=0;s24=24;h=0;if(a=60)a=0;b+;if(b=60)b=0;d+; if(d=24)d=0;if(b=60)b=0; if(P3_4=0)while(P3_4=0);d+; if(P3_5=0)while(P3_5=0);b+;18-
展开阅读全文