基于单片机的篮球计分器系统的设计

2017-09-23 01:38
电子测试 2017年16期
关键词:倒计时计分蜂鸣器

郭 畅

(南京邮电大学通达学院,江苏扬州,225100)

基于单片机的篮球计分器系统的设计

郭 畅

(南京邮电大学通达学院,江苏扬州,225100)

本设计是一款低成本、性能稳定、显示准确、操作方便且易携带,适用于各类比赛的计分器。主要实现对篮球比赛中的分数变化进行及时加减,24秒倒计时警报等功能。包括四个模块:分数加减系统,倒计时系统,24秒警报系统,LCD显示模块系统。

单片机;LCD;计分

0 前言

篮球比赛是根据参赛队伍在规定比赛时间内分得多少来决定胜负的,因此一次比赛的计时计分非常重要,这就特别需要一个计分器来准确及时的统计双方的得分情况,以及比赛时间的监控。正式比赛中使用的篮球计分器体积过大,对于一般性比赛不适用,所以简易的篮球计分器更适合。它能减少人工计时计分可能会产生的误差,也减少了人工费用。可以在比赛中精确显示比赛中分数的实时加减的变化,使观众更加准确的了解比赛状况。并通过LCD液晶显示器将比赛进程展示在大屏幕上,将比赛变得更加直观。而采用单片机来设计的这款篮球计分器就是来满足篮球比赛中倒计时,加减分以及24秒警报等需求的。

1 系统总体设计

设计中采用STC89C52单片机作为主控芯片,总体框架设计图如图1所示。

图1 总体框架设计图

显示模块使用LCD1602液晶显示屏,液晶显示屏的显示行数清晰度以及现实的复杂程度比较高,可以做到清楚的表示出所需要的数字或字母。矩阵键盘电路按键为16个,使用4*4模式的矩阵键盘。定时器选择的是单片机自带的计时装置。警报系统选择无源式蜂鸣器。

2 系统硬件设计

2.1 系统的工作原理

根据篮球比赛的规则本设计可以实现,两个半时,每半时20分钟;四节比赛每节10分钟,第一和第二节,第三和第四节中间的休息时间分别为2分钟;半场的休息时间为10分钟。

硬件电路包括以下四部分最小单片机系统电路、LCD显示电路、矩阵键盘电路、报警电路。

(1)24s倒计时结束后以及每节结束后发出警报,并在每节结束后中断比赛。

实现过程:根据单片机本身具有的计时器进行24s倒计时过程,接下来需要蜂鸣器发出警报,但由于无源蜂鸣器无法直接发出警报,所以加一个电阻产生一个方波,是的蜂鸣器可以发出警报。

(2)对比赛时间、分数、节数以及其改变进行及时显示。

实现过程:将显示器各管脚依次连接到单片机的P0.0到P0.7上,由于防止显示其运作时间过长温度过高会损坏元器件,所以接上一个排阻来保护电路。

(3)通过按键对各队比赛分数改变进行控制,分别为:A队加一分,加两分,加三分,以及当比赛积分出错时进行逐一减分;B队加一分,加两分,加三分,单独积分出错时进行逐一减分;同时具备,对比赛节数加二,减二;对于一节时间的调整(以一分钟为最小单位);比赛的开始和暂停;手动调节为加时赛;重置24s倒计时。

实现过程:因为使用4*4矩阵键盘,所以,将纵向上的四根连线分别连接到P3.4到P3.7管脚口,将横向的四根线分别连接到P3.0到P3.3上,以此来实现键盘模块的控制作用。

(4)应用单片机内部计时器进行比赛时间到计时以及24s警报倒计时。

实现过程:由于属于单片机内置定时器,所以直接通过程序取用就可以了。

2.2 单片机最小系统设计

本设计使用STC89C52作为单片机最小系统,在设计时应注意,其中一定要包括电源、单片机、时钟以及复位电路。设计时使用的晶振为12MHZ,用它来为电路提供时钟,这个时钟的作用就是为单片机提供一个时间上的基准。在单片机中,每执行一条命令,所需要的时间为一个机器周期。最先系统中还包括了复位电路,即每次按下复位按键之后,所有的指令从头开始运行。设计图中加入电阻,其目的是为P0口的漏极电路提供一个上拉电阻,使P0口正常运行。

2.3 LCD显示电路设计

1602LCD与单片机的硬件连接图如图2所示,由图中可以看出JPBG接口直接与电源连接。第三引脚接口中的可调电位器必须与电源与地连接,RS,R/W和E这三个控制位分别对应P2.0,P2.1,P2.2。4.P0.0-P0.7是8位数据线。

在三个控制位中,RS=0时代表写或读指令,RS=1时代表写数据。其中R/W表示读写指令,R/W=1表示读,R/W=0表示写。E作为使能端,应当依据时序图去编写与之对应的程序。

图2 1602LCD与单片机的硬件连接图

2.4 矩阵键盘模块设计

矩阵键盘电路设计图如图3所示。把单片机的P3.0-P3.7端口通过8联拨动拨码开关连接到“4*4行列式键盘”,其中P3.4-P3.7作为列线,P3.0-P3.3作为行线,系统首先通过CPU对全部键盘进行扫描,就是将第一条行线设置为“0”状态,剩下的所有行线处于于“1”状态,读取输入缓冲器的状态,如果其状态全部处于“1”则说明该行没有按键被按下,接下来将第二根行线设置为“0”状态,继续读取输入缓冲器的状态,如这是它的状态也全为“1”,那么设置第一根行线处于“0”状态,接下来重复此运行状态。如果读取输入缓冲器的状态不全处于“1”状态,则确定哪一根列线为“0”状态,如果某个键的行线和列线都为“0”状态时,说明此时这个键按下。

图3 矩阵键盘模块电路图

本次篮球计分器键盘设计布局及功能如表1所示。利用STC89C52的一个P口分别对矩阵键盘的4根行线和4根列线进行连接,以此方式来分别实现16个按键的功能,这种方法有利于矩阵键盘与按键之间的使用率,同时也有利于节约单片机外围电路的资源。

本设计的系统功能用了16个独立键盘来实现,用它来控制篮球计分器系统功能,这16个控制矩阵键盘分别为S1,S2,S3, S4,S5,S6,S7,S8,S9, S10,S11,S12,S13, S14,S15,S16。除了这16个独立键盘还有一个复位按钮S17和一个电源开关按钮。这些按键分别被连接到单片机的P3口上的低四位和高四位。根据程序设计的要求,在系统初始化时等待配置比赛时间。

当按下S13按键可以实现暂停或开始,按下S17复位按键可以实现时间清零,按下S1,S2,S3, S4按键可以实现A队的+1,+2,+3,-1分的功能。按下S5,S6,S7, S8按键可以实现B队的+1,+2,+3,-1的功功能。按下S9按键比赛节数加2,按下S10按键实现对比赛节数减2。按下S11按键设置一节比赛的时间,按下S12按键可以修改一节比赛时间的错误设置。按下S15按键可以实现手动设置加时赛的时间,按下S16按键可以实现篮球24秒的倒计时重置。

表1 按键布局及功能表

2.5 报警电路设计

报警电路原理图如图4所示。蜂鸣器系统由一个9012的三极管及一个2.2K的电012三极管其主要作用是驱动蜂鸣器。由于单片机的IO口驱动能力不足以使蜂鸣器发出声音,于是我们需要通过三极管对驱动电流进行放大,以此来达到让蜂鸣器发出声音的目的,如果是输出高电平,则此时三极管导通,集电极电流流过蜂鸣器是的蜂鸣器发出警报,若输出为低电平时,此时三极管处于截止状态,没有电流通过蜂鸣器,那么此时蜂鸣器不会发出警报声。

图4 报警电路原理图

3 系统软件设计

选用的编程语言是基础的编程语言即C语言,采用的编程软件是keil。

3.1 系统软件总体设计

软件系统有:主程序、中断程序、LCD显示程序、分数加减程序、4*4按键程序、倒计时程序、蜂鸣器警报。下面主要介绍主程序,中断程序,按键程序,警报程序,LCD显示系统的编写流程,以及遇到的问题。

从主程序流程图中可以看出,首先,将单片机的电源接通,这时主芯片开始初始化,即删除上一次运行中可能留下的数据,以及将数据设置为初始值。其次,通过单片机进行判断用户进行的操作,即按下的按键所对应的功能。最后,显示对应按键程序运行出来的结果。

3.2 主程序模块

在程序设计中,主程序起到至关重要的作用。本设计的主程序主要需要完成以下功能:(1)系统的初始化;(2)中断;(3)按键是否按下的检测;(4)以及显示调用等。本次设计中,主程序的功能主要体现在,使用单片机内部的定时计数器来完成倒计时功能。同时接受按键的控制实现各项功能,最终将比赛结果显示在LCD显示屏上。接下来将重点讲中断系统。即每节比赛结束时比赛自动暂停。

3.3 按键程序模块

使用4*4矩阵键盘,此类键盘使用的是逐步查询的方式,所以当单片机接通电源之后,只要有按键闭合,接下来先判断那个按键被按下,最后执行该按键所代表的指令。并是在完成一道指令后,可马上循环执行下一条指令。

图5 主要程序设计流程图

3.4 加减计分程序模块

当比赛开始按键按下之后程序开始运行。两队分数初始值均为0,当第一个按键按下时A队加一分,第二个按键按下时A队加两分,第三个按键按下时A队加三分,第四个按键按下时A队减一分;接下来第五到第八个键为B队比分操作按键,与A队一样依次排列。同时当比赛两小节结束时自动交换场地与比分。

3.5 4LCD显示程序模块

本次设计中LCD显示模块,是根据键盘先给出指令,在调出相应的字模代码,最终在液晶显示屏上显示出相应的改变的。

3.6 报警程序模块

在这段程序中需要设计一个变量,来判断是否需要报警。在这里将用if语句来实现,即由于进攻方在24s内必须实现一次进攻。那么在程序编写中就以24秒为一个界限,进行24秒倒计时,当倒计时结束时进行提示。如果,进攻一方在24s内完成进攻,那么可以通过手动进行24秒倒计时重置。本次设计的警报时长为两秒钟,所以当一次警报结束,并且重新计时时是从22秒开始倒计时的。

4 系统制作及调试

硬件的焊接是一个重要的环节,由于本设计所用元器件不多,焊接起来比较简单,所以就直接在实验板上焊接电路。电路焊接完成后进行功能测试,对于有多个模块的电路设计,在焊接之后必须要进行测试电路是否正确,是否能运行流畅,如果测试中有问题我们要根据问题的具体情况进行修改。实物按照电路图焊接好后,烧入程序后程并激活,按照规定的要进行功能测试。

电路板完成焊接后,首先下载单片机程序,在Keil软件中生成HEX文件,然后写入到单片机里。按照设计的要求进行了测试。调试结果显示分成两行,第一行显示两队的比赛得分情况,第二行显示两队的比赛时间得分情况、局数和24秒倒计时。

按下通电按钮,显示器的初始显示状态是:第一行显示“篮球积分器”,第二行显示“友谊第一,比赛第二”。(2)接下来停留两秒后,第一行显示“A:0 VS B:0 ”。第二行显示“00:00 24S 1/4”。(3)比赛开始,做了如下测试。

时间开始倒计时,当两队进球时,开始对进球的一方进行加分;若在比赛中发现比分记录错误的话,可以按下减分键来更改这个队的比分;比赛具有24秒倒计时功能,在计时到24秒时,蜂鸣器开始发声;第一节比赛完成后,蜂鸣器停止发声,显示器的界面显示第二小节;在第二节比赛结束后,可以自动更改两队比分的位置;在比赛开始前可以设置比赛的时间,对比赛的时间进行加减,但是在比赛进行中是不可以修改时间的,只能暂停时间。

5 结论

本设计经过测试达到了预期的效果,实现了计分器的基本功能,即显示比赛进程,及时进行分数增减,在比赛中进行警报等。系统主要具有如下优点:(1)低成本;(2)稳定的性能;(3)显示准确;(4)操作方便且易携带,适用于各类比赛中。

[1]郭天祥.51单片机C语言教程[M].北京:电子工业出版社, 2009.

[2]王东峰.单片机C语言应用100例[M].北京:电子工业出版社,2009.

[3]赵源.基于单片机的篮球计分器设计[J].电子世界,2016,3(5):13,32-34.

[4]赵素玲.基于STC89C51单片机的篮球计分器的设计[J].电脑知识与技术,2015,11(33):159-161.

[5]白亚梅,白永刚,张昌玉.基于单片机的篮球计分器设计[J].电子制作,2016, 7(13):77-78.

Tongda college of Nanjing University of Posts and Telecommunications

Guo Chang
(Tongda College of Nanjing University of Posts and Telecommunications,Yangzhou Jiangsu,225100)

SCM;LCD;Score indicator

Summary:The design is a score indicator which is low-cost,stable performance, accurate display, convenient operation and easy to carry,suitable for all kinds of games.The main function is to realize fractional change timely addition and subtraction in the basketball game and 24 seconds countdown alarm function,eg.This design includes four modules:score modified system, the countdown system, 24 a second alarm system, LCD display module system.

猜你喜欢
倒计时计分蜂鸣器
电动自行车产品车速提示音检测现状和整改技术研究(2)
带定性判断的计分投票制及其公理刻画
掌控板制作简易钢琴
引导素质教育的新高考计分模式构想:线性转化计分模式
基于单片机的中国式摔跤比赛计分器开发设计
单片机驱动蜂鸣器的程序设计
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
计分考核表在绩效管理中的应用效果