篮球比赛计时计分系统的设计.docx
- 文档编号:4773051
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:25
- 大小:219.83KB
篮球比赛计时计分系统的设计.docx
《篮球比赛计时计分系统的设计.docx》由会员分享,可在线阅读,更多相关《篮球比赛计时计分系统的设计.docx(25页珍藏版)》请在冰豆网上搜索。
篮球比赛计时计分系统的设计
本科生毕业论文(设计)
系(院)物理与电子信息科学系
专业电子信息工程
论文题目篮球比赛计时计分系统的设计
学生姓名
指导教师
(姓名及职称)
班级06级电信1班
学号********
完成日期:
2010年4月
篮球比赛计时计分系统的设计
卫鹏
物理与电子工程学院电子信息工程06290116
[摘要]利用AT89S52单片机实现了最新的篮球比赛计时计分系统的软硬件设计,此计时计分系统具有设定比赛每节总时间并实现总时间的倒计时、24s倒计时功能、暂停和比赛双方的计分功能。
该设计采用模块化的设计,程序结构简单,任务明确,易于编写、调试和修改。
[关键词]AT89S52单片机篮球比赛计时篮球比赛计分
前言
单片机,亦称单片微电脑或单片微型计算机。
它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。
计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。
微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?
纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。
体育比赛计时记分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录、加工处理、传递利用的信息系统。
根据不同运动项目的不同比赛规则要求,体育比赛的计时记分系统包括测量类、评分类、命中类、制胜类、得分类等多种类型。
篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时记分系统是一种得分类型的系统。
篮球比赛的计时记分系统由计时器、记分器、传感器等多种电子设备组成。
同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时记分系统设备应该能够与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现提高比赛现场感、表演娱乐观众等功能。
因此,准确的时间和控制能使比赛更加公正,所以对篮球赛计时计分系统的研究很有必要和实用性。
1设计任务和要求
1.1设计意义
在篮球比赛中,计时计分系统是必不可少的。
随着比赛规则的进一步完善,相应的计时计分系统也必须随之改进。
篮球计时计分系统是一个负责篮球比赛的数据采集和分配的专用系统,它负责对比赛结果、成绩信息的采集处理、传输分配,即将篮球比赛比分数据通过专用的技术接口分别传送给裁判员、教练员、计算机信息系统和现场观众等。
由于比赛的不可重复性,决定了篮球计时计分系统是一个实时性很强、可靠性要求极高的电子服务系统,所以计时计分设备是篮球比赛中不可缺少的电子设备,计时计分系统设计是否合理,关系到比赛系统运行的稳定和可靠,并直接影响到比赛的顺利进行。
通过此次基于单片机设计的篮球计时计分系统,我们可以更方便、快捷地了解篮球比赛的当前信息,并对篮球比赛的时间和比分做出更准确的记录
1.2设计任务
设计并制作一个用于赛场的篮球比赛的计时计分系统,记录台能监控、调节。
1.3设计要求
1)比赛采用倒计时方式,计时系统能够完成篮球比赛的所有计时及显示要求。
2)能设置比赛时间,具有比赛暂停功能。
3)比分显示范围为0到99分,能满足一般的比赛的计分。
4)能随时刷新甲、乙两队在整个赛程中的比分。
1.4功能创新
根据篮球比赛规则,进攻方在24s之内必须有一次投篮动作,否则视为违例;每节比赛结束后有适当的休息时间,因此本设计加入以下功能:
1)当进攻方24s内没有进行投篮动作,比赛暂停,报警提示违例。
2)当第一节结束后,自动进行2分钟节间休息倒计时,计时时间到,进入第2节比赛,第2节比赛完成,自动进行10分钟中场休息倒计时,计时时间到,进入第3节比赛,第4节比赛类似。
以上功能的加入更加贴近实际生活中的篮球比赛,使本设计更具有实用性。
2方案比较与论证
2.1显示模块的选择
方案一:
采用数码管LED显示,LED显示器是由发光二极管构成的LED数码管、LED点阵显示器等。
LED发光器件一般常用的有两类:
数码管和点阵。
方案二:
采用液晶电路来显示,LCD1602是工业字符型液晶,能够同时显示16x02即32个字符。
对以上两个方案加以比较,可以发现LED虽然使用简单,但是显示内容有限,显示效果不是很直观,硬件连接电路较为复杂,而且稳定性不高;而LCD1602连接线路简单,显示内容丰富,易于硬件电路实现,可靠性较好。
综上所述:
显示模块采用第二种方案,采用LCD1602来实现本设计的显示功能。
2.2计时方案的选择
方案一:
采用芯片74LS192(十进制同步加/减计数器)、NE555(秒脉冲发生器)以及辅助电路等组成。
设计中秒脉冲发生器是采用555集成电路组成的多谐振荡器构成,通过计算来产生比较准确的1秒脉冲。
译码显示电路用CD4511和共阴极七段LED数码管组成,报警电路在实验中用发光二极管代替。
该方案能较准确的显示比赛时间和比分,但是有众多的不足。
例如:
电路中用到的芯片较多,无法简化设计方案。
方案二:
采用计时芯片,针对计算机系统对计时芯片的要求,各大芯片厂家推出了键时钟/倒计时/正计时各种芯片,可采用自动控制计时芯片,通过触发控制电路使计时器自动地计时,达到预定时间后芯片重新开始计时(实现倒计时功能);也可以通过触发控制电路使计时器不计时,达到预定时间后芯片重新开始计时(实现暂停功能),不需要程序干预。
计算机可通过中断或查询方式读取计时器数据,实现计时的暂停的功能,并进行显示,计时功能的实现就无需占用CPU的时间,程序简单,控制精度高,因此在工业控制系统中多采用这一类专用芯片来实现计时功能。
方案三:
软件控制,利用AT89S52内部的定时器/计数器进行中断定时,配合软件延时实现计时。
该方案节省硬件成本,并且可综合运用定时器/计数器、中断以及程序设计的知识,因此本系统采用方案三软件方法来实现计时。
3系统硬件设计
3.1系统设计概述
本设计中,系统采用ATMEL公司AT89S52单片机[1]为控制核心,由倒计时模块、比分显示模块、人机接口模块、报警模块等部分组成。
其中比赛时间倒计时和24秒进攻倒计时分别采用单片机AT89S52的定时器1和定时器2实现;人机接口模块由键盘和LCD1602液晶组成,可实现比赛时间、24秒倒计时设置和显示、比分显示和比赛节数显示等功能。
本设计采用3*3矩阵式键盘作为输入,记录台可分别对两队比分进行加1、加2和减1操作。
其中加1、2可以通过加1分和2分的按键直接实现,减1分、2分、3分通过按下减1分按键的次数完成。
比分通过LCD1602显示器进行显示,每队比分显示2位。
3.2各部分硬件简介
3.2.1按键部分
键盘电路:
键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。
键盘分两大类:
编码键盘和非编码键盘。
键盘是实现人机对话的必要设备,用户可用键盘向计算机输入数据或命令。
本系统采用3*3矩阵键盘接口,矩阵连接又称行列式连接,它是指每个按键按行列式的形式排列,每一行公用一根I/O口线,每一列也共有一根I/O口线,从而减少I/O口线的效果。
我们规定,行线作为输入,列线作为输出,电路中,通过单片机I/O口给行线一直输入低电平。
如果没有按键按下,则列线上输出的都是高电平;如果有键按下,则列线上肯定会输出低电平。
单片机只要检测到列线上不都为高,则说明有键被按下。
按键功能介绍:
K0键:
实现对A队加1分的功能;
K1键:
实现对A队加2分的功能;
K2键:
实现对A队减1分的功能;
K3键:
实现对B队加1分的功能;
K4键:
实现对B队加2分的功能;
K5键:
实现对B队减1分的功能;
K6键:
实现对比赛的开始和暂停;
K7键:
实现对犯规的比赛暂停和24秒重置;
K8键:
实现对比赛时间的设置。
3.2.2显示部分
本设计采用LCD1602实现显示功能,1602是16字符*2行的字符型LCD显示器,它由32个字符点阵块组成,每个字符点阵块由5×7或5×10个点阵组成,可以显示ASCII码表中的所有可视的字符。
它内置了字符产生器ROM(CGROM)、字符产生器RAM(CGRAM)和显示数据RAM(DDRAM)。
1602液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。
1)LCD1602引脚及功能
表1LCD1602引脚功能
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
DataI/O
2
VDD
电源正极
10
D3
DataI/O
3
VL
液晶显示偏压信号
11
D4
DataI/O
4
RS
数据/命令选择端(H/L)
12
D5
DataI/O
5
R/W
读/写选择端(H/L)
13
D6
DataI/O
6
E
使能信号
14
D7
DataI/O
7
D0
DataI/O
15
BLA
背光源正极
8
D1
DataI/O
16
BLK
背光源负极
1、2组电源,一组是模块的电源,一组是背光板的电源,均为5V供电。
2、VL是调节对比度的引脚调节此脚上的电压可以改变黑白对比度。
3、RS是很多液晶上都有的引脚,是命令/数据选择引脚,脚电平为高时表示将进行数据操作,为低时表示进行命令操作。
4、R/W也是很多液晶上都有的引脚,是读写选择端,该脚电平为高是表示要对液晶进行读操作,为低时表示要进行写操作。
5、E同样很多液晶模块有此引脚,通常在总线上信号稳定后给一正脉冲通知把数据读走,在此脚为高电平的时候总线不允许变化。
6、D0—D78位双向并行总线,用来传送命令和数据。
7、BLA是背光源正极,BLK是背光源负极。
2)LCD1602基本操作时序。
表2LCD1602基本操作时序
读状态
输入
RS=L,R/W=H,E=H
输出
D0~D7=状态字
写指令
输入
RS=L,R/W=L,D0~D7=指令码,E=高脉冲
输出
无
读数据
输入
RS=H,R/W=H,E=H
输出
D0~D7=数据
写数据
输入
RS=H,R/W=L,D0~D7=数据,E=高脉冲
输出
无
对此液晶操作主要有以下几种方法。
1写命令(包括但不限于初始化、调节显示位置、清除显示)
2写数据(把一个字符的ASC码写入液晶使其显示)
3读忙信号(液晶乃低速设备,每次操作前应该测试忙信号,确定其不忙时再操作
3)1602LCD的指令码(命令码)
此液晶上电的时候需要初始化,典型的指令码是38H,也就是上电的时候需要调用voidwrite_cmd(unsignedcharcommand)这个函数写指令码,用法是write_cmd(0x38);执行完这个函数可以把液晶初始化成16x2显示5x7的点阵8位总线接口。
它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)。
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符高电时显示5x10的点阵字符。
,
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
液晶LCD指令见表3:
表3液晶LCD指令
指令
RS
RW
D7
D6
D5
D4
D3
D2
D1
D0
清楚显示
0
0
0
0
0
0
0
0
0
1
光标返回
0
0
0
0
0
0
0
0
1
*
置输入模式
0
0
0
0
0
0
0
1
I/D
S
显示开关显示
0
0
0
0
0
0
1
D
C
B
光标和字符移位
0
0
0
0
0
1
S/C
R/L
*
*
置功能
0
0
0
0
1
DL
N
F
*
*
置字符发生寄存器地址
0
0
0
1
字符发生存储器地址AGG
置数据存储器器地址
0
0
1
显示数据存储器地址ADD
读忙标志或地址
0
1
BF
计数器地址AC
写数CGRAM或DDRAM
1
0
要写的数据
从CGRAM或DDRAM读数
1
1
读出的数据
3.2.3系统复位电路部分
MCS-51单片机通常采用上电复位、按钮电平复位、外部脉冲复位、上电加按钮电平复位、程序运行监视复位等方式。
本设计采用的是上电加按钮电平复位,电路图如图所示,是上电自动复位与按钮电平复位的组合。
上电复位利用电容充电来实现,即上电瞬间RST/Vpd端的电位与Vcc相同,随着充电电流的减少,RST/Vpd的电位下降,最后被钳位在0伏,按钮电平复位,当按钮按下后,电源Vcc同过电阻施加在单片机复位端RST/Vpd上,实现单片机的复位。
3.2.4AT89S52单片机简介
AT89S52[2]是51系列单片机的一个型号,它是ATMEL公司生产的。
AT89S52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89S52单片机可为您提供许多较复杂系统控制应用场合。
AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89S52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
兼容MCS51指令系统·8k可反复擦写(>1000次)FlashROM
32个双向I/O口·256x8bit内部RAM
3个16位可编程定时/计数器中断·时钟频率0-24MHz
2个串行中断·可编程UART串行通道
2个外部中断源·共6个中断源
2个读写中断口线·3级加密位
低功耗空闲和掉电模式·软件设置睡眠和唤醒功能
图2AT89S52的外部引脚
图2AT89S52内部结构
3.2.5系统总体原理图
图3系统原理图
4系统软件设计
4.1系统软件框图
本系统软件采用模块化设计方法。
整个系统由初始化模块、倒计时模块、液晶显示模块以及键盘模块组成程序流程图如图4所示:
图4系统程序流程图
此设计由按键控制系统的开始,当系统开始时,由单片机控制开始进行每节12m的倒计时,当比赛出现犯规或其它要求请求暂停时,由按键控制比赛暂停,此时,时间暂停,当出现24s违例时,系统自动暂停计时,并发出报警;比赛比分的加减完全有按键控制;另外,当每节比赛结束后,自动跳至休息时间倒计时,第一节结束有2m的休息时间,第二节结束有10m的休息时间,第三节结束有2m的休息时间。
此设计的功能完全符合现实中的篮球比赛的计时计分要求,设计更加合理。
4.2软件介绍
4.2.1Keil
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件[5]是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程[6],其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
(1)系统概述
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍KeilC51开发系统各部分功能和使用。
(2)KeilC51单片机软件开发系统的整体结构
C51工具包的整体结构,如图
(1)所示,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
使用独立的Keil仿真器时,应该注意:
*仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
*仿真器上的复位按钮只复位仿真芯片,不复位目标系统。
*仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。
4.2.2Proteus
Proteus软件[4]是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。
Proteus软件提供多种现实存在的虚拟仪器仪表。
此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。
这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。
这些测试信号包括模拟信号和数字信号。
提供SchematicDrawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。
Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。
该软件的特点:
①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
③目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
④支持大量的存储器和外围芯片。
总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PIC。
5系统调试
系统调试分为软件调试和硬件调试,单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。
但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。
可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。
5.1软件调试
软件调试主要是运用Keil和Proteus完成。
在写好源程序,画出原理图之后,在电脑上进行软件仿真。
Keil的使用简介:
先建一个新的工程,选择处理器,这里选择AT89S52;接下来可以新建一个文档用来编辑程序,编辑完存为.asm(汇编源文件)或.h(C语言头文件)或.c(C语言实现文件)即可;接下来把保存的.asm,.c或.h文件加入到工程里即可。
然后进行工程配置。
点击Project菜单下的OptionsforTarget‘Target1’。
在弹出对话框的Target项里输入晶振为12M,然后勾上UseOn-chipROM。
在Output项里勾上CreateHEXFile。
最后编译程序,keil会自动为你生成.hex文件。
Proteus的使用简介:
将系统原理图在Proteus环境下画好,然后运用Proteus进行仿真,观察其功能实现情况。
5.2硬件调试
硬件方面主要是对电路板焊接技术以及布线的整体把握,电路板做好后,经过对单片机烧写程序、调试等一系列工序,硬件达到了预期的效果,各个按钮均能实现其预期功能。
5.3篮球比赛计时计分系统的功能实现
一场正规的篮球赛分为4小节,每节12分钟。
打开电源,此时LCD1602第一行分别显示AB两队的计分栏“00VS00”,24秒倒计时,LCD1602显示第二行为事先设置好的篮球比赛的比赛时间“12:
00:
00”,当前节数“NO.1”,3*3矩阵键盘
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 篮球比赛 计时 计分 系统 设计