球赛计时计分器的设计
2021-07-23梅选朗
梅选朗
摘 要 篮球比赛现在越来越受到年轻人的喜爱,所以球赛中严谨的计分计时工作便变得非常重要。但在传统的篮球比赛里,都是采用人工计时计分手段,这就带来了很多弊端。首先,我们需要安排专人负责计分和计时,这明显浪费了资源。其次,即使专业人员来记录时间和得分,但是偶尔也会出现错误,这显著影响了游戏时间和得分的准确性,并且这些弊端必然会影响比赛的公平性。从而看来,一个高性能、高稳定的计时计分器对于一场球赛来说还是特别重要的。本文就是主要研究一个功能强大、高稳定性、显示准确的篮球赛计时计分器系统的设计。该设计作为计时计分的工具广泛适用于学校篮球赛中。
关键词 STC89C52RC单片机 篮球比赛 计时计分 系统设计
中图分类号:U463.7 文献标识码:A 文章编号:1007-0745(2021)02-0001-08
随着社会的飞速发展,体育活动成为了人们生活中非常重要的一部分,其中篮球比赛就深受青少年们的喜爱。但是赛场上古老传统的计时计分工具很难准确地记录比赛时间和比分,这给我们造成了很大的不便。为此,我设计了一个基于单片机的篮球赛计时计分系统,它计时准确、系统原料简单、流动性强、按键功能强大,很适用于对篮球赛计时要求高的场合。该设计的系统以单片机STC89C52作为核心控制,七段共阳数码管作显示元件,通过计时计分电路、按键电路、报警电路等作用来驱动蜂鸣器发声。
该系统由几个模块组成,分为计时计分模块、显示模块、按键控制键盘模块和定时报警模块。系统采用模块化设计,让程序结构简单明了,更符合人们的个性化。另外系统所设计的程序具有很高的可读性,易于对它进行调试、修改和编写,对程序进行局部的编写,并不影响其他程序的效果。利用Keil C51软件进行编程调试,将生成的十六进制文件,利用ISP工具下载到单片机中。采用Proteus軟件来进行仿真,检测是否达到预期功能。[1]
该系统主要由单片机STC89C52RC、计时计分电路、时钟电路、按键开关电路和报警电路等硬件电路组成。本设计采用软件编程设计的计时计分电路来控制七段共阳数码管显示的篮球赛计时计分器系统,该系统能够准确计分、计时方便,赛程时间暂停和定时设置,能及时刷新队伍比分,具有显示准确、性能稳定、价格便宜、报警指示、便于携带等优点。
1 篮球赛计时计分器的研究与发展
1.1 篮球赛计时计分器发展过程
篮球是一项很受人们喜爱的体育运动,它是以投篮为中心的对抗性运动。早在100多年前,美国一所基督教训练学校的老师就创立了篮球游戏。他就是詹姆士奈斯密斯博士,为了更好地完善篮球游戏,他制定了13条游戏规则,后来经过慢慢地增加和修改,游戏出场的人数也慢慢减少,直到规定每个队伍只能5个人上场,才演变成现在的篮球运动项目。篮球运动随后就在世界各地流行起来,这时候就需要工具来计时计分,那么篮球赛计时计分器就开始产生。起先,并没有正式准确的计时计分工具,只有普通的计时钟和比分板,这显然不能准确地记录比赛数据。[2]为了解决这个不公平的问题,刚成立的FIBA(国际业余篮球联合会)初略的制定了世界第一份统一的篮球比赛规则,与此同时,篮球计时计分器也渐渐步入了电子时代,慢慢的出现了比赛计时钟与简单的计分电路,还有供暂停篮球比赛时用的计秒表,同时也新加入了参赛队员犯规打球的标志牌。上个世纪80年代,全球经济和科技迅速发展,电子技术也达到了一个全新的高度,这为人们的生活带来了很大的方便。其中智能仪器就最具有代表性,它完全打破了传统的仪器概念。新的智能仪器已经开始应用于生活中,篮球赛计时计分器就应用了这些电子技术,实现了用单片机为控制核心,来准确、稳定的记录篮球比赛。[3]
1.2 篮球赛计时计分器研究目的与意义
经过多年的发展和实践,新的篮球赛计时计分器解决了传统的不稳定、准确度低等一些问题,但是因为造价成本高、技术还不够成熟等原因,它还不能广泛应用于人类生活中。随着时代的进步发展,人们学会了采用单片机控制这个计时计分器系统,搭载着按键和LED显示器,更容易操作和安装,且造价成本低,可以适用于学校篮球赛和计时要求高的小团体篮球活动。
新的电子计时计分器运用了单片机控制系统,这就大大的提高了比赛数据的准确性和公平性。另外篮球赛计时计分器具有比赛进行时间计时、暂停和调整比赛时间、显示比赛成绩这些功能,这些明显节约了很多资源并且更方便让人们使用它。新的计时计分器的到来,给比赛计时计分的工作带来了非常大的便利,更利于开展篮球这项体育运动,随着更多的人越来越喜爱篮球这项运动,这也是对我们国家篮球事业有着明显的促进发展作用。[4]
1.3 篮球赛计时计分器研究现状
随着科学技术的高速发展,各种新型电子产品涌入市场,功能也各不相同,深受消费者们的喜欢。其中篮球赛计时计分器也得到了更新换代,经过这么多年的研究和发展,技术层面已经相当成熟了。计时计分器已经运用到了各大体育馆、学校等场合。虽然电子计时计分器很早就应用在篮球比赛中,但是它所利用的技术支持通常都是模拟电子和数字电子器件,也有是两者混合组成的器件,这些器件的准确性和稳定性仍不能达到新的高度,还是存在一些瑕疵。这些电子技术上的难题仍需要科学家们不断去开发和研究,高稳定性和高准确度计时计分器的实现依然是目前科学研究和生产的课题。
2 篮球赛计时计分器的工作原理
2.1 篮球赛计时计分器的基本原理与组成
根据这次课题所研究的要求,这里介绍一种篮球赛计时计分器所设计的基本原理和方法,即是通过单片机编程控制外围数码管工作的电路,这个电路设计成本很低,使用很广泛,因此很有研究生产的价值。[5-6]该电路采用单片机STC89C52RC作为核心元件,利用一个四位一体数码管显示比赛时间的计时,另外两个共阳的三位一体管来显示两队比赛队伍的分数。两个三位一体数码管能够显示分数范围达0~999分,足够统计赛程比分,四位一体数码管中有两个用于显示分钟,剩下两个显示秒钟。比赛开始前,将时间设置好,比赛一开始就启动计时,直到倒计时走到零为止,这个设计的计时范围是0~99分钟,也能满足实际比赛计时的需求。另外本设计为了校正计分器比分和调整比赛时间的方便,增加了6个按键,4个按键用于输入两个参赛队伍的的分数,另外2个按键用于暂停和启动比赛时间。考虑到篮球赛的实际情况,该设计还添加了定时报警系统,倒计时结束,设计自带的扬声器就会发出警报提示比赛结束。
该设计拥有能够准确记录比赛数据、比赛定时设置、比赛暂停、刷新比分等强大功能。该系统构成可由计时显示模块、计分显示模块、定时报警模块和按键控制模块组成。
2.2 篮球赛计时计分器的特点
与传统的人工计时计分相比,电子计时计分器有其非常优秀的特点,具体表现如下:
(1)能够稳定的、精确地记录比赛数据;
(2)能够定时和暂停赛程时间、并能修改赛程时间;
(3)能够随时刷新两支队伍在赛程中的比分;
(4)当场中交换比赛场地时,能够交换两支队伍的比分位置;
(5)当计时器倒计时为零时,能够发出警报,提示比赛结束;
(6)它的造价成本低,可靠性高,功能齐全,已经应用到了人们的生活中,能适用于各种场所的篮球比赛计分。
2.3 篮球赛计时计分器的功能介绍
本设计能够直观的显示比赛实时比分和时间,随时暂停或启动比赛并可以调整比分。当一节比赛结束时,系统会发出提示声音,交换场地时可以交换两队伍比分的显示位置。这些功能可以作为普通篮球赛的计时计分器。[7]
3 篮球赛计时计分器的总体设计
本文中设计的篮球赛计时计分器由硬件电路和软件调试部分组成。
3.1 系统总体方案设计
这个系统主要包括单片机控制系统、计时计分显示模块、按键控制模块、定时报警模块和供电电源模块。这些模块相互协调工作,就能让这个系统正常运行,从而稳定的显示计时计分功能。该系统框图如上图1所示。
3.2 主要器件的选择
本文设计的是一个成本低、功能齊全的篮球赛电子计时计分器,所以首先选择了价格合理性价比高的器件来作为实验材料。我选择了性能高的单片机STC89C52作为系统核心,两个三位一体数码管来显示比赛分数,一个四位一体数码管来显示比赛时间。另外该系统的供电电源采用了USB电源线和5V直流电源两种供电方式。[8]
3.2.1 核心控制——STC89C52RC
STC89C52RC型单片机是宏晶科技公司研发的一种新型单片机,它具有超强抗干扰能力、运行速度快、高可靠、功耗低等优良特性。它的指令代码直接兼容传统的8051单片机。它的功能特性如下:
(1)有12时钟每机器周期和6时钟每机器周期两种任意选择,而且指令代码完全兼容传统8051;
(2)STC89C52系列单片机工作电压:5.5V~3.8V(5V单片机)。普通的8051工作频率是0~70MHz,而它的工作频率是:0~35MHz,实际的工作频率可以达到42MHz;
(3)芯片上集成了1280字节或512字节RAM;
(4)通用I/O口(35/39个),复位后为:P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口);P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O使用时,需加上拉电阻;
(5)ISP(在系统可编程)/IAP(在应用可编程),可通过串口直接下载用户数据。具有EEPROM功能、看门狗(WDT)功能;
(6)共3个十六位定时器/计数器,其中定时器0还可以当成2个八位定时器使用。
在各种模式下,整个系统的功耗都非常低。正常工作模式功耗:4mA~7mA。掉电模式:典型功耗<0.1uA。掉电模式可由外部中断唤醒。[9]
3.2.2 显示器件——七段数码管
系统最常用的输出设备通常就是显示器,它能直观明了的展现结果,但是显示器的种类繁多,其中最突出的两种就是发光二极管显示器(LED)和液晶显示器(LCD)。本次设计中只用简单的显示分数和时间这些数字,它们两个显示器都能达到要求,但是考虑到LED显示器更便宜实惠,所以我选择了LED显示器。LED显示器又称为数码管,分为七段数码管和八段数码管,区别在于,七段数码管比八段数码管少一个用于显示小数点的发光二极管单元。数码管它主要有八段发光二极管组成,其引脚分布图如下图2所示,图中a~g七段二极管可以组成不同的数字和字符,dp一小段二极管可以显示小数点。系统正常工作时,a~g七段二极管可以显示0~9和A~F这十六个数字和字符,例如当afgcd这几段二极管发光时就可以显示数字“5”,当gedcb这几段二极管发光时就可以显示字符“d”。[10]
3.3 设计系统的元件清单
另加9cm*15cm万用板、电源插座、各种电阻和排阻、导线和焊锡若干。
4 篮球赛计时计分器的硬件设计
硬件是整个篮球赛计时计分器系统的运行基础,该设计的硬件电路由单片机控制系统、时钟电路、计分电路、报警电路组成,系统的硬件框图如图3所示。
4.1单片机控制系统的设计
该系统采用STC89C52单片机作为核心控制器,其引脚图如图4所示。
单片机STC89C52引脚功能介绍如下:
VCC,引脚编号40,接电源正极。
GND,引脚编号20,接电源负极或接地。
RST,引脚编号9,复位输入。只有连续输入两个机器周期以上高电位时才判断为有效,这可以用来复位单片机初始化操作。
P0端口即P0.0~P0.7,引脚编号39~32。P0口既可作为输入/输出口,也可作为地址/数据复用总线使用。当P0用作I/O口时,P0是一个8位准双向口,上电复位后处于开漏模式。P0口内部无上拉电压,所以作I/O口必须外接10K~4.7K的上拉电阻,当P0作为地址/数据复用总线使用时,是低8位地址线[A0~A7],数据线的[D0~D7],此时就不需要外接上拉电阻。在程序写入编程(Flash ROM)时,P0端口负责接收指令字节;在验证程序时,它负责输出指令字节。
P1端口即P1.1~P1.7,引脚编号为1~8。P1口时带内部上拉电阻的8位双向口输入/输出口。P1的输出缓冲器可驱动4个TTL输入,写入到端口是1时,通过内部上拉电阻被拉向端口,它被用作输入端口的高电位。当P1口作为输入口使用,因为内部有上拉电阻,那些被外部拉低的引脚时会输出一个电流。另外,P1.0/T2可作为定时器/计数器2的外部输入;P1.1/T2EX可作为定时器/计数器2捕捉或重装方式的触发控制。在程序写入编程和验证程序时,P1口负责接收低8位地址。
P2端口即P2.0~P2.7引脚,编号为21~28。P2口内部有上拉电阻,既可作为输入/输出口,也可用作高8位地址总线(A8~A15)。当P2口作为I/O口使用时,P2是一个8位准双向口。在写入编程和程序校检时,P2口用于接收高位地址和一些控制信号。[11]
P3端口即是P3.0~P3.7,引脚编号为10~17。它内部也有一个上拉电阻的8位双向输入/输出口。它的功能与P1口类似,在写入程序和检验程序时,接收部分控制信号。P3口除了作为I/O口外,还有一些复用功能,如表2所示:
XTAL1引脚编号19。内部时钟电路反相放大器输入端,接外部晶振的一个引脚。当直接使用外部时钟源时,此引脚是外部时钟源的输入端。
XTAL2引脚编号18。内部时钟电路反相放大器输出端,接外部晶振的另一端。当直接使用外部时钟源时,此引脚可浮空,此时XTAL2实际将XTAL1输入的时钟进行输出。
4.2 时钟电路的设计
时钟电路在整个控制系统中起着很重要的作用,在一个正常工作的单片机系统中,时钟电路能保障系统基准震荡定时信号。它由晶振和外围电路构成,晶振频率是衡量单片机系统运行的快慢的标准,频率越高系统工作越快。本设计采用的是12MHZ的晶振,加上两个30pF的电容,具体的晶振电路如图4所示。
图中晶振的两引脚分别与XTAL1和XTAL2震荡脉冲的输入引脚、输出引脚连接,其中接地线是用来减弱谐波对电路稳定性的影响。
4.3 显示电路的设计
本设计采用LED显示器来记录数据,一个四位一体数码管记录赛程时间,两个三位一体数码管记录比赛分数。LED数码管分为共阴和共阳两种结构,其LED显示原理图如图5所示。
LED两种结构原理图如图5(b)(c)所示,共阴极结构其显示端输入高电平才有效,才能让二极管发光,输入低电平就截止了;共阳极结构则显示端输入低电平才有效,高电平就截止。本设计采用的是图(c)共阳极结构,即需要把八个发光二极管阳极连在一起,如果需要某一段二极管发光,只需要在其对应端输入低电平即可。例如我们需要显示数字“2”,我们则在abged这几段二极管端口输入低电平,其他端口输入高电平,此時就可以显示数字“2”。本设计采用的四位一体数码管和三位一体数码管结构原理图如图5(d)(e)所示,系统所设计的显示电路原理图如图4-5所示。[12]
4.4 按键控制电路的设计
该系统设置了六个按键,可以简单地实现加减赛程时间和比分、暂停赛程和交换场地并交换比分等功能。其按键控制电路图如图6-7所示。
六个按键一端接地,另一端输入与单片机引脚口连接。各个按键的连接与功能介绍如下:
(1)K2按键连接单片机P1.0口,它的功能是为A队比分加一分,或者是在比赛开始之前是调整时间加一分钟;
(2)K3按键连接单片机P1.1口,它可以调整A队比分减一分,或者是在比赛开始之前调整时间减一分钟;
(3)K4按键连接P1.2口,是EXCHANGE键,为换场键,打完一场比赛才可以进行换场,同时两队的比分也会交换位置显示;
(4)K5按键连接P1.3口,它的功能是为B队比分加一分,或者是在比赛开始之前调整时间加一秒钟;
(5)K6按键连接P1.4口,它可以调整B队比分减一分,或者是在比赛开始之前调整时间减一分钟;
(6)K7按键连接P3.2口,是RUN/STOP键,为启动或暂停键,比赛开始之前,按下启动键,系统立刻开始计时,再次按下时即是暂停键,此时比赛暂停。
这些简单地按键可以实现把比赛数据稳定、准确的记录下来,可以达到这次研究课题的要求。
4.5 报警电路的设计
报警电路一般是通过晶体管的电流放大作用,然后再通过驱动器来驱动蜂鸣器,从而达到发声的目的。本次设计选用无源蜂鸣器,可以通过使用CPL P3.7,然后与软件相结合,这时候就可以产生一定宽度的正脉冲,最后经过PNP晶体管的驱动,以产生声音信号。 当一节篮球赛结束时,需要发出声音指示,这时就需要设计一个报警电路,该设计的报警电路如图8所示。
本系统中是采用STC89C52的十六引脚通过驱动器来驱动蜂鸣器发出报警。在设置一节比赛时间后,计时器将会倒计时直至为零,此时蜂鸣器就会发出报警指示,提示本节比赛结束。
5 篮球赛计时计分器的软件设计及仿真
5.1 软件设计
该设计的单片机控制核心是软件的编程设计,也是能让整个系统正常运行的关键。C语言和汇编语言是单片机常用的编程语言,最终都会转为十六进制格式或者是二进制格式等类型文件下载到单片机的控制芯片中,来校检能否实现设计所要求的功能。该系统的计时显示功能是利用单片机芯片的定时功能设计的,分数显示功能是利用其技术功能来设计的,其中处理分数和时间时,还需要通过中断控制来实现。[13]
在设计系统程序之前,我们要对单片机系统所实现的功能进行分析,从中明确系统的设计任务、功能和技术支持,还有能够支持该系统正常运行的硬件设施和工作环境,这些是设计编程系统的必备条件和基础。当完成整个设计时,它应能实现计时计分功能、加减分功能和提示音提示比赛结束。当按下按键时,计分电路将有一个对应的加减分处理,然后通过数码管扫描和显示处理,并把相应的加减分数显示出来。当计时器倒计时为零时,系统会利用单片机I/O口输出高、低电平,通过晶体管的电流放大作用,产生的矩形波,外界的蜂鸣器就会发出一定频率的声音,从而实现报警提示。
5.2 系统流程图
该设计的系统流程图如图9所示。
5.3 软件调试及仿真
Keil和Protues编程仿真软件是现在功能最强大且最流行的仿真软件,该系统的仿真就是运用了这两个软件。从程序的编写,编译到调试,目标版的仿真一应俱全。支持汇编语言和C语言的编程。还可配合Keil C实现程序的联合调试,将Protues中绘制的原理图作为目标板,而用Keil C集成环境实现对目标板的控制,与实际中通过硬件仿真器对目标板的调试几乎完全相同,并且支持多显示器的调试,即Protues运行在一台计算机上,而Keil C运行在另一台计算机上,通过网络连接。[14]
在Protues中进行电路仿真时,先绘制好原理图,再调入由Keil C已编译好的目标代码文件*.HEX,随后便可在Protues的原理图中模拟的实物运行状态和过程,进行观察从而改良自己的设计方案。
单片机STC89C52的功能特性及引脚图的连接和系统中硬件电路的设计,它包括了显示电路、时钟电路、报警电路、供电电源等。后面进行软件编程并进行了仿真,最后制作出了实物,望该论文能为篮球赛计时计分器的设计提供更多的参考价值。
参考文献:
[1] 胡建明.MCS-51单片机篮球计分器的设计[J].科学咨询(决策管理),2009(06):40,44.
[2] 鹿玉红,伦志新,杜芳芳.基于单片机的篮球计时计分器的设计[J].电脑知识与技术,2010(04):988-990.
[3] 郭志卓,陳振军.基于单片机控制的电子计分器设计[J].电脑知识与技术,2014,12(04):2861-2863.
[4] 王刚.篮球比赛多功能计时/计分系统设计[J].电子测试,2014(14):27-29.
[5] 杨微,崔文峰.基于MSP430单片机的篮球计时计分器的设计[J].电子制作,2014(13):2-3.
[6] 雷道仲,罗政球,廖永忠.基于单片机的球赛计时计分器设计[J].湖南第一师范学报,2009(04):164-166.
[7] 杨超.基于AT89C51单片机的篮球比赛计分器设计[J].佳木斯教育学院学报,2012,122(12):359,381.
[8] 解彦强,张治国,邵桂荣.篮球计时计分系统的设计与实现[J].运城学院学报,2015(06):44-46.
[9] 陈峰.校园篮球比赛计时计分系统的设计[J].电子测试,2015,22:132-135.
[10] 赵素玲.基于STC89C51单片机的篮球计分器的设计[J].电脑知识与技术,2015,33:159-161.
[11] 彭如,代红菊.基于单片机的篮球计分系统的设计[J].电子制作,2013,182(17):63.
[12] 袁芳,江伟,陈冬,刘超俊.篮球比赛场地计时计分系统的设计[J].实验室研究与探索,2014,33(11):91-94,99.
[13] 王海燕,杨艳华.Proteus和Keil软件在单片机实验教学中的应用[J].实验室研究与探索,2012(05):88-91.
[14] 于建勇.浅谈时钟电路在单片机中的作用[J].硅谷,2011(08):155,166.