基于AT89C51单片机的篮球计时记分设计

本文介绍了基于AT89C51单片机设计的篮球计时计分器,包括硬件设计、软件设计和系统测试。系统具备赛程定时、暂停、刷新比分、节末警报等功能,通过Keil和Proteus进行仿真验证。设计涵盖了单片机控制、LCD显示、矩阵键盘和蜂鸣器电路,旨在提高对单片机编程和应用的理解。
摘要由CSDN通过智能技术生成

点击链接获取Keil源码与Project Backups仿真图:
https://download.csdn.net/download/qq_64505944/87771065
在这里插入图片描述

源码获取
主要内容:
基于51单片机设计篮球计时计分器,结合单片机串行接口原理,用AT89C51设计一个篮球比赛计分计时器,能够通过数码管显示分数和比赛时间(并设有按钮刷新)、一节比赛时间结束时,会发出警报、设有比赛开始和暂停按钮、拥有成绩按钮,可通过按钮修改当前成绩。
基本要求:
1、篮球计分计时器电路设计图;
2、篮球计分计时器设计源程序;
3、keil运行源程序;
4、protus中仿真;
5、运行结果分析。
主要参考资料:
[1] 何立民.单片机高级教程[M].北京: 航空航天大学出版社,2001.
[2] 王东峰等.单片机C语言应用100例[M].电子工业出版社,2009.
[3] 马忠梅等.单片机的C语言应用程序设计.北京航空航天大学出版社,2003.
[4] 王晋凯.简简单单学通51单片机开发 [M].清华大学出版社,2014.

           完  成  期  限:12 月 11 日 - 12 月 26 日  
        指导教师签名:                     
           课程负责人签名:                           

摘 要
单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器和24秒控制器等组成。
体育比赛计时计分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录,加工处理,传递数据的信息系统。它负责对比赛的结果和成绩信息进行采集处理、传输分配。篮球比赛的计时计分系统由计时器、让分器等多独史子设备组成,根据具前高水乎篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现高比赛现场感、表演娱乐观众等功能目标。比赛具有的不可重复性,决定了篮球计时计分系统是一个实时性很强、可靠性要求极高的电子服务系统,所以计时计分设备是篮球比赛中不可缺少的电子设备。

关 键 词:单片机;计时计分系统;电子服务系统

目录
摘 要 1
1 概述 1

  1. 1 研究背景 1
    1.2 设计意义 1
    1.3 设计目的与任务 1
    1.4 实验环境 2
    2 系统设计与分析 3
    2.1 系统方案设计 3
    2.2 系统基本功能介绍 3
    2.3 计时计分系统介绍 4
    3 硬件设计 5
    3.1 总体设计 5
    3.2 硬件分析 5
    3.2.1 AT89C51核心元件 5
    3.2.2 矩阵键盘电路 6
    3.2.3 LCD1602显示电路 7
    3.2.4 蜂窝器电路 7
    4 软件设计 9
    4.1 设计思路 9
    4.2 计时系统程序部分设计 15
    4.3 按键控制程序设计 17
    5 系统测试 20
    4.1 仿真系统测试 20
    4.2 按键测试 20
    4.2.1 比赛开始/继续和暂停按键 20
    5.2.2比分刷新按键 21
    总结 22
    参考文献 23

1 概述
1.1 研究背景
体育比赛计时计分系统是对体育比赛过程中所产生的时间,比分等数据信息进行快速采集记录、加工处理、传递和利用的系统。根据运动项目的不同,比赛规则要求也不同,体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类和得分类等多种类型。
篮球比赛是根据运动队员在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统。篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成的,同时,根据日前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现激烈的比赛现场感和表演娱乐等功能日标。
1.2 设计意义
单片机的应用是具有高度现实意义的。单片机极高的可靠性,微型性和智能性(我们只要编写不同的程序后就能够完成不同的控制工作),单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中。通过此次基于单片机设计的篮球计时计分系统,我们可以更清楚详细的了解单片机程序设计的基本指令功能、编程步骤和技巧来讲述单片机编程,并对AT89C51单片机的结构和原理进行讲述,以及基于单片机开发应用的相关芯片的工作原理,并且可以在将来的工作和学习中加以应用。
1.3 设计目的与任务
该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。设计分为软件设计和硬件设计两部分。主控芯片采用AT89C51,使用C语言编写软件程序,主体分为计时显示模块、计分显示模块、定时报警、按键控制模块。编程后利用Keil C51软件来进行编译,再将生成的HEX文件装入芯片中,采用Proteus 软件来仿真,检验功能是否能够正常实现。
通过木次基于单片机的篮球赛计时计分器的设计,可以了解、熟悉有关单片机开发设计实例的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的方法和技巧。本次设计的篮球计时计分器有以下功能:
(1)可随时接受暂停请求。
(2)能够随时刷新A、B两队的得分分数。
(3)一节比赛结束时,会发出警报。
(4)比赛时间可做到“24秒”复位。
1.4 实验环境
Proteus 8 Professional EDA工具软件
Keil uVision4 单片机开发工具
Windows 10 系统PC一台

2 系统设计与分析
2.1 系统方案设计
篮球比赛计时计分器主要包括单片机控制系统、数码管/LCD显示模块、按键控制模块、报警模块、时钟电路及复位电路。通过几个模块的协调工作就可以完成相应的计时计分控制和显示功能。模块框图如下图所示。

在这里插入图片描述

图 2-1 系统总体框图

2.2 系统基本功能介绍
本设计要实现的基本功能有:比赛时间设置,赛程时间启/停设置,比分刷新控制,计时计分显示,赛程结束报警。以下对个功能进行介绍。

1.赛程时间启/停设置
设定K1,K2两个按键控制比赛时间的启动和暂停,按下K1后显示屏会显示12:00,采用倒计时计时;K2按键可暂停比赛。
1.比赛时间设置
一节比赛时间为12分钟,当一节比赛时间结束后,A、B两队未分出胜负比赛时间可以加上一节时间,按键K3可以手动增加节数。

2.比分刷新
由于在比赛中,两队的比分在不停的变动,所以要设置比分刷新控制,该控制有6个按键K5~K10完成,具体如下:
K5~K7按键:A队分别增加1,2,3分。
K8~K10按键:B队分别增加1,2,3分。

  1. 计时计分显示
    计时计分显示是用LCD1602显示屏作为显示器。

  2. 赛程结束警报
    当赛程或“24S”计时结束时,系统会发出警报。设置K4按键可手动结束警报。
    2.3 计时计分系统介绍
    计分系统:
    (1)分为“A队”和“B队”的“3分”,“2分”,“1分”各六个按键输入部分,以及两队比分的LED显示部分。在每次增加分数的同时,“24秒”计时恢复为初始值,“12分钟”计时暂停,等待比赛的继续进行
    计时系统:
    (1)比赛开始/继续:当“比赛开始/继续”键按下后,“24s”和“12分钟”计时器开始倒计时;
    (2)手动24s复位:当“24s复位” 键按下后,“24s”倒计时恢复初始值,“12分钟”倒计时暂停,等待比赛的继续;
    (3)比赛暂停:“比赛暂停”键按下后,“24s”倒计时和“12分钟”倒计时均暂停,等待比赛的继续进行;
    (4)自动增加比赛节数:当“12分钟”倒计时完成后,判断当前节数是否为最后一节,若不是,则节数自动增加,并“12分钟”和“24s”均恢复默认值,等待下一节比赛的进行。

3 硬件设计
3.1 总体设计
本设计采用单片机AT89C51作为本设计的核心元件。利用LCD1602显示屏作为显示器件。LCD1602显示的内容包括比赛队伍的名称和比分情况,并且显示赛程时间(分钟:秒钟)以及比赛节数和“24S”倒计时。本设计中设立了10个按键,其中6个用于设置两队的比分,1个用于比赛开始/比赛继续,1个用于暂停,1个用于手动增加比赛节数,一个用于恢复“24s”倒计时等功能。赛程计时采用倒计时方式,本节比赛结束时,蜂鸣器报警模块进行报警。如下图3-1所示。
在这里插入图片描述

图 3-1总电路图

3.2 硬件分析
本次电路设计以AT89C51作为核心元件,主要有矩阵键盘电路、LCD1602显示电路、蜂窝器电路。
3.2.1 AT89C51核心元件
单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能IO口等计算机所需要的基本部件的大规模集成电路,又称MCU。
其以体积小、功能全、性价比等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占俟头。如果说C语言程序设计课程设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动于等特点,成为工科学生硬件设计基础课。其管脚图如下图3-2所示。
在这里插入图片描述

图 3-2 AT89C51元件图
3.2.2 矩阵键盘电路
有16个按键组成,4行4列,分别连接到P口的高四位和低四位。实现系统赛程开始和暂停、分数刷新、增加赛程节数、“24s”复位、关闭警报。其中六个按键控制分数的刷新。如下图3-3所示。
在这里插入图片描述

图 3-2 矩阵键盘电路图

3.2.3 LCD1602显示电路
LCD1602作为液晶显示屏,可显示16*2个字符,可用于显示计分计时信息。如下图3-4所示。
基本操作时有:
1.读状态:输入:RS=L,RW=H,E=H
–输出:D0-D7=状态字
2.写指令:输入:RS=L,RW=L,D0-D7=指令码
–输出:无
3.读数据:输入:RS=H,RW=H,E=H
–输入:D0-D7=数据
4.写数据:输入:RS=H,RW=L,D0-D7=数据,E=高脉冲
–输入:无

在这里插入图片描述

图3-4 LCD1602显示电路图
3.2.4 蜂窝器电路
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。由于题目内容有计时时间每秒都得有提醒功能,因此我们还得用蜂鸣器。如图3-5所示.
在这里插入图片描述

图 3-5 蜂窝器电路图

4 软件设计
4.1 设计思路
系统开始运行后,计时和计分的数码管被点亮。首先将定时器和A、B两队分数清零,然后设置定时,即设置一节比赛的时间,初始值为20分钟。按下启动/暂停键,计时器开始倒计时,当计时到时,蜂鸣器响2秒。在计时到之前,可按启动/暂停键可暂停计时,按动与单片机P口相连的6个按钮可实现A、B两队分数的刷新,即加1分,两分球加2分,三分球加3分。计时器和计分器开始工作。
要实现上述功能,需要设计以下程序模块来实现:主程序、时间中断子程序、鸣音子程序、时间显示子程序、比分显示子程序、调时时间子程序、调时子程序、交换场地子程序。主程序用来实现系统初始化以及按键的控制、子程序的调用;时间中断子程序用来实现倒计时功能,即完成指定的计时后停止计时并复位至设定的计时值;时间显示子程序用来控制4输入LED数码管的显示;比分显示程序控制2个2输入LED数码管的显示;调时时间显示程序用来切换4输入L.ED数码管的显示状态,在计时状态时,数码管的四位全部显示,前两位为分,后两位为秒,在调时状态时,只有后两位显示分钟数;调时子程序则完成初始计时时间的设置功能;交换场地程序用来调整交换两个2输入LED数码管的显示值;鸣音子程序用来在计时时间到时使单片机输出高电平,与驱动电路共同作用使蜂鸣器发声报警。程序流程图如下图4-1所示。

在这里插入图片描述

图 4-2 程序流程图
主要代码如下:

#include"KeyBord.h"
#include"LCD1602.h"
#include"Timer.h"

sbit Beep = P1^5;

char rule_time = 24;   

unsigned int A_Score = 0;       
unsigned int B_Score = 0;       
unsigned char match = 1;        
unsigned char rule_flag = 0;   
unsigned char Beep_flag =0 ;    
unsigned char Start_flag = 0;   
unsigned char Time_Data[4];    
unsigned char Score[
设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用,可任选)单片机,可实现篮球比赛时间倒计时、24秒倒计时、100秒和60秒倒计时、)比赛时间、24秒倒计时和比赛节数等功能,内附文档说明。 (1)时钟模块 时钟模块用于实现篮球比赛时间倒计时(计时精度为0.1秒)、24秒倒计时、100秒和60秒倒计时。 (2)按键模块 按键模块共需要9个按键开关,其中8个半径为4厘米圆形按键分别为:减一分钟、加一分钟、启动/继续、暂停、5分钟、节数、60秒、100秒;1个手握式开关24位复位键,每个按键可随意摆放,方便操作。 (3)显示模块 显示模块中显示屏采用LED数码管显示屏,正方体四面显示屏上每面显示屏包含25厘米的8个七段数码管,1个数码管显示比赛的节数为第一行,5个数码管显示比赛时间为第二行,2个数码管显示24秒为第三行。正方形显示屏包含15厘米的3个七段数码管,用于显示100秒或60秒。 (4)声音模块 声音模块中有6个音响串联,可实现比赛开始时发出短哨声、每小节比赛结束发出笛声、24秒倒计时递减到零时发出长哨声。 (5)控制 控制中有4个存储,分别存储比赛时间倒计时、24秒倒计时、100秒和60秒倒计时。控制不断地从时钟模块中提取时钟信号与存储相比较,使存储中时间以0.1秒递减并同时在显示模块中显示时间倒计时。控制随时监视着按键模块和时钟模块,当有按键按下,控制接受到按键模块后控制时钟模块和控制存储,并同时通过控制在显示模块中显示时间和比赛节数;当存储中的时间到达特殊的时间点时,由控制来调出相对应的音频并在声音模块中发出声音。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柒月玖.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值