基于单片机的篮球计时计分器系统的设计.docx
- 文档编号:10743889
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:31
- 大小:891.38KB
基于单片机的篮球计时计分器系统的设计.docx
《基于单片机的篮球计时计分器系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的篮球计时计分器系统的设计.docx(31页珍藏版)》请在冰豆网上搜索。
基于单片机的篮球计时计分器系统的设计
毕业设计(论文)
基于单片机的篮球计时计分器系统的设计
姓名
系别、专业物电系、电子信息科学与技术
导师姓名、职称
完成时间2013-5-25
摘要
随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测系统日新月益。
本毕业设计是以基本篮球规则为依据,可对现实篮球比赛实现实时控制。
本设计包括四个模块,分别为显示模块、计时模块、记分模块、报警模块。
24秒显示能按键控制24秒计时器,当控球时间超过24秒时,可发出信号。
计时器,可按键控制,在每次暂停时自动开动计秒表且在暂停时间,在每节结束或决胜期时间终了可自动用非常响亮的信号通知。
记分器可登记比赛开始时场上双方的队员姓名号码,同时记录两队的积累分数,每个队员的投篮次数和得分。
关键词:
单片机,计分,计时,报警,显示
Abstract
Withthepenetrationofcomputersinthesocialsphere,SCMapplicationsareconstantlydeepening,whiledrivingdetectionsystematthetraditionalcontrolcrescentbenefit.
Thedesignisbasedonthebasicrulesofbasketballgraduationasthebasisofrealitybasketballgamecanachievereal-timecontrol.Thisdesignconsistsoffourmodules,namelythedisplaymodule,atimingmodule,scoringmodule,thealarmmodule.24secondsshowntocontrolbuttons24secondstimer,whentheballlongerthan24seconds,canbesignaled.Timerwithbuttoncontrol,ateachpauseautomaticallywhenyoustartthestopwatchandthepausetime,theendofeachsectionorextraperiodendingtimecanbeautomaticallynotifiedwithaveryloudsignal.Pointscanberegisteredwhenthegamestartsbothplayersnamenumberfield,whilerecordingtwoteamsaccumulatedscoreofeachplayer'sshotsandscoring.
Keywords:
microcontroller,scoring,timing,alarm,display
1概述
1.1研究背景
单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。
若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。
而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。
单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。
同时,一个学习与应用单片机的新高潮正在大规模地兴起。
[1]
本设计是由一种由AT89S51编程控制LED七段数码管做显示的球赛计时计分系统。
本系统具有赛程定时设置、赛程时间暂停、甲、乙双方的比分以及比赛中60秒暂停。
它具有价格低廉、性能稳定、操作方便且易携带等特点、广泛适合各类学校和小团体作为赛程计时计分。
本设计就是基于单片机设计时计分系统,通过串口通信动态传输数据,使计时计分系统有了更多更完善的功能。
单片机系统的硬件结构给予了篮球计分器系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的篮球计时计分器面前具有电路简单、成本低、运行可靠等特色。
1.2研究内容及意义
篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统。
篮球比赛的计时计分系统由计时器,计分器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。
由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。
世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。
篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器等组成。
[2]
篮球计时计分器与日常使用的篮球计时计分牌相比更具有准确、简单操作、内容详细等优点。
在单片机计时计分器中不仅弥补了传统篮球计时器与篮球计分牌功能单一的缺点,而且在显示描述上也做了进一步改进。
它不仅可以显示篮球场上双方比分,而且可以显示比赛双方的队名,这样让观众更直观的了解比赛信息。
在传统的篮球计时计分中,单片机篮球计时计分器增加了报警功能,在篮球比赛进攻24秒时间耗完或者单节比赛结束时,单片机篮球计时计分器都可以运用起本身的报警系统报警产生嗡鸣声,避免了人为计时的误差产生。
通过本次基于AT89S51系列篮球计时计分器的设计,可以了解、熟悉有关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下一些方面:
(1)篮球赛计时计分系统包含了8051系列单片机的最小应用系统的构成,同时在此基础上扩展了一些使用性强的外围接口。
(2)可以了解到LED显示器的结构、工作原理以及这种显示器的接口实例与具体连接与编程方法。
1.3系统设计方案
1.3.1设计要求
本次设计用由AT89S51编程控制LED七段数码管作显示的篮球赛计时计分系统。
该系统具有比赛双方队名显示、比赛单节计时、24S报警、比赛计分等功能。
它具有价格低廉,性能稳定,操作方便并且易于携带等特点。
广泛适合各类学校或者小型团体作为赛程计时计分。
1.3.2系统构成框图
篮球计时计分器主要包括单片机控制系统、计时显示模块、计分显示模块、定时报警,按键控制键盘模块。
通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。
这四个模块的相互连接如下图(图1)所示:
图1系统框图
本系统采用单片机AT98S51作为本设计的核心元件。
利用七段共阴极LED数码管作为显示器件。
在此设计中共接入8个七段共阴极LED显示器,其中4个用于计录甲、乙两队的分数,每队2个LED显示器显示范围可达到0~99分,足够满足赛程要求。
另外4个LED显示器则用来计录赛程的时间,其中2个用于显示分钟,2个用于显示秒钟。
赛程计时采用倒计时方式。
即比赛前将时间设置好,比赛开始时启动计时,直到计时到零为至。
计时范围可达0~99分钟,也完全满足实际赛程的需要。
其次,为了配合计时器和计分器校正、调整时间和比分,我们在设计中设立了个按键。
其中个用于主、客两队的分数;另外个则用于完成设置、调整、启动和暂停时间等功能。
再次,我们还设计了定时报警系统,即比赛时间到时,我们立即通过扬声器发出报警声,提示整个赛程结束。
2系统硬件设计
2.1系统硬件部分组成
系统硬件主要是由单片机AT89S51、计时显示电路、计分显示电路、报警电路和按键开关五个部分组成。
2.2器件的选择
本系统在设计过程中主要选取了以下一些器件:
单片机:
AT89S51。
提示音:
5V蜂鸣器
显示器件:
lcd1602
按键:
独立式按键。
2.3硬件电路设计
2.3.1单片机AT89S51介绍
AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4kBytes ISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。
AT89S51结构如下图2所示:
图2AT89S51引脚图
AT89S51(如图3)具有如下特点:
40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器.
2.3.2时钟电路模块
时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。
在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢。
为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,另外有两个22P的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。
具体连接图如
图3所示:
图3时钟电路
2.3.3复位电路
单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位。
复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作。
89S51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位。
复位后,PC程序计数器的内容为0000H,其他特殊功能寄存器的复位状态如表3.3所示。
片内RAM中内容不变。
复位电路一般有上电复位、手动开关复位和自动复位电路3种,本设计使用手动复位电路。
如图4所示:
图4复位电路
2.3.4显示模块
本设计采用共阴极数码显示器,通常,共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。
当某段驱动电路的输出端为高电平时,该端所连接的字符导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。
同样,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
本次设计在显示模块用到的是一个4位一体和2个两位一体共阴极数码管,共有8个代码输入口和8个位选输入口,采用排阻提供上拉电流数码管,以保证有足够大的电流点亮数码管,采用动态驱动,使各位数码管逐个轮流受控显示,这就是动态驱动,由于扫描速度极快,显示效果与静态驱动相同,其具体连接图形如下图5所示:
图5显示模块
2.3.5报警模块
蜂鸣器通过一NPN三极管进行驱动,如图触发信号POO引入。
其具体连接图形如下图6所示:
图6报警模块
2.3.6独立式按键介绍
按键显示原理图,其具体连接图形如下图7所示:
图7独立按键模块
该独立按键模块共含有8个按键,分别为K1、K2、K3、K4、K5、K6、K7、K8。
每个按键在单片机计时计分器中都有明确的功能效果。
对于其具体功能在后面篮球计时计分器工作过程中有详细描述。
3系统软件设计
显示部分软件的设计根据硬件单位连接然后进行软件的编写。
具体实现计时模块、计分模块、报警模块。
3.1程序流程图
程序的主流程图如图8所示:
图8 主程序流程图
3.2计时部分模块流程
定时中断初始化,计时部分初始化,按下调时开关,产生低电平,计时部分开始工作,开放定时中断,计时部分暂停,在LED显示具体计时时间,经过P1.0发送代码,计时部分清0,启动定时器,T0部分开始定时,计时部分暂停。
计时部分模块流程图9所示:
图9 计时部分模块流程
3.3计分部分模块流程
按下计分键,计分部分输出低电平,外部中断产生,调用中断程序,在串行数据输出移位脉冲输出,在LED显示器上显示比赛两队相应的比分数据变化,串行口发送完毕,LED显示器标志清零。
计分部分模块流程图如图10所示:
图10 计分部分模块流程图
3.4 报警部分模块流程
按下计时开始键,计时部分开始计时,当计时部分24S完成时,报警部分产生报警。
当单节12分钟计时完成时,报警部分产生报警。
报警部分模块流程图如图11所示:
图11 报警部分模块流程
3.5篮球计时计分器的工作过程
整个篮球比赛计时计分器的工作过程如下:
首先在比赛之前,接通电源,系统自动复位,此时计时电路与计分电路中的共阴极数码管全部显示为0000和0000;然后我们按计时电路中的K7按键来设置比赛时间的十位数,例如比赛时间单节12分钟,则通过K7键,使数码管1显示“2”即可;再按K8键,设置比赛时间的个位数,使数码管2显示“0”即可。
一般比赛时间为48分钟,所以只需按K7键显示“4”,按K8键显示“0”即可。
时间设置好时,等待比赛开始,当裁判吹响开始哨声时,立即按下K9键启动计时,这时计时电路便开始工作,计时采用倒计时方式,即从12分00秒减到00分00秒表示单节比赛结束,单节比赛结束时,蜂鸣器会发出10秒钟响声,通知单节比赛结束,这时按一下K9键,便完成了甲、乙两队的分数交换。
在整个赛程中,我们还要对两队比分进行及时刷新,这时我们通过计分电路中的K1~K6键完成此功能,K1、K2和K3键完成对甲队的加分,K4、K5和K6键完成对乙队的加分。
由于加分我们采用中断完成,且加分的中断优先权小于计时电路的中断优先权,所以不会对计时电路造成影响。
如果在比赛过程中,一方教练申请暂停时,经裁判批准,我们立即按下K9键,即可以暂停计时,暂停时间到时,再按K9键继续计时,直至本场比赛结束,蜂鸣器会发出10秒钟响声,表示比赛结束。
4系统功能测试
4.1开机状态测试
单片机篮球计时计分器接通电源,LED显示屏上显示主客队、计时部分12分钟、比赛节数(SEG)为第一节、24S计时器显示24S。
其测试图如图12所示:
图12开机状态测试
4.2计分部分测试
在比赛开始后,主队率先得分,按下K1键,在单片机篮球计时计分器中显示得分情况。
其测试图如图13所示:
图13计分部分测试
4.3计分部分修改测试
在单片机篮球计时计分器中计分部分因为人为原因产生计分错误,按下K2、K3键可以对主队得分情况进行修改,按下K5、K6键可以对客队得分情况进行修改。
其测试图如图14所示:
图14计分部分修改测试
4.4节数调整测试
在单片机篮球计时计分器中由于篮球比赛存在四节,当第一节比赛结束后,按下K7键对比赛节数进行调整,LED显示器中SEG则显示比赛当前节数,其测试图如图15所示:
图15单片机篮球计时计分器中节数调整测试
4.5报警测试
当计时器24S计时完成后,单片机篮球计时器会自动报警;当12分钟计时完成后,单片机篮球计时器会自动报警。
其测试图如下图16所示:
图16报警测试
结论
本次设计叙述了篮球计时计分器的基本原理及使用方法,给出了一种篮球计时计分器的设计方案。
利用单片机程序设计原理,来实现篮球计时计分器的各项功能。
此次设计的篮球计时计分器,电路简单,而且易懂,使操作使用者使用非常方便,成本较低,灵敏可靠,计录准确,连接简单,具有非常高的使用价值。
设计内容包括计时器、计分器、到时报警、比分显示等部分,可以使参加比赛的成员、裁判和观众一目了然的看到所有参加者的成绩,以最快的速度评出结果.该篮球计时计分器还能广泛应用于各类知识竞赛。
本设计由AT89C51编程控制LED七段数码管作球赛计时计分系统具有赛程定时设置、赛程时间暂停、性能稳定、操作方便且易携带等特点。
可广泛适合各类学校和小团体作为赛程计时计分。
致谢
今天终于可以顺利的完成论文的谢辞了,想了很久,要怎样写下这一段谢词。
求学期间的点点滴滴历历涌上心头,时光匆匆飞逝,大学三年的努力与付出,随着论文的完成,终于让大学的生活,得以划下了完美的句点。
论文得以完成,要感谢的人实在太多了,首先要感谢董辉老师,因为论文是在董老师的悉心指导下完成的。
董老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深深。
在我做毕业设计的每个阶段,从选题到查阅资料,论文提纲的确定,中期论文的修改,后期论文格式调整等每一步都是在董老师的悉心指导下完成的董老师指引我的论文的写作的方向和架构,并对本论文初稿进行逐字批阅,指正出其中误谬之处,使我有了思考的方向,她循循善诱的教导和不拘一格的思路给了我无尽的启迪,严谨细致、一丝不苟的作风,将一直是我工作、学习中的榜样。
同时,论文的顺利完成,离不开其他各位老师、同学和朋友的关心和帮助。
在整个的论文写作中,各位老师、同学和朋友积极帮助我查资料和提供有利于论文写作的建议和意见,在他们的帮助下,论文得以不断的完善,最终帮助我完整的写完了整个论文。
另外,要感谢在大学期间所有传授我知识的老师,是你们的悉心教导使我有了良好的专业课知识,这也是论文得以完成的基础。
感谢所有给我帮助的老师和同学,谢谢你们!
参考文献
[1] 谢维成、杨加国。
单片机原理与应用及C51程序设计。
北京:
清华大学出版社。
2006.8
[2] 林志琦.基于Proteus的单片机可视化软硬件仿真[M].北京:
北京航空航天大学出版社,2006.9
[3] 周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真[M].北京:
北京航空航天大学出版社,2006.5
[4] 张靖武,周灵彬.单片机系统的PROTEUS设计与仿真[M].北京:
电子工业出版社,2007.4
[5] 周润景,张丽娜.PROTEUS入门实用教程[M].北京:
机械工业出版社,2007.9
附录
以下是程序设计的具体内容,系统的软件由主程序模块,计时模块,计分模块,显示模块,按键输入模块,报警模块等组成。
#include"lcd1602.h"
#include"string.h"
#defineLCM_DataP1
#defineBusy0x80//用于检测LCM状态字中的Busy标识
externcharsec,min,num,time,sec_24s;
externuinthpoint,rpoint;
sbitLCM_RW=P3^1;//定义引脚
sbitLCM_RS=P3^0;
sbitLCM_E=P3^2;
sbitBp=P0^0;//蜂鸣器接口
sbitLed=P0^7;
//写数据
voidWriteDataLCM(unsignedcharWDLCM)
{
ReadStatusLCM();//检测忙
LCM_Data=WDLCM;
LCM_RS=1;
LCM_RW=0;
LCM_E=0;//若晶振速度太高可以在这后加小的延时
LCM_E=0;//延时
LCM_E=1;
}
//写指令
voidWriteCommandLCM(unsignedcharWCLCM,BuysC)//BuysC为0时忽略忙检测
{
if(BuysC)ReadStatusLCM();//根据需要检测忙
LCM_Data=WCLCM;
LCM_RS=0;
LCM_RW=0;
LCM_E=0;
LCM_E=0;
LCM_E=1;
}
//读数据
/*unsignedcharReadDataLCM(void)
{
LCM_RS=1;
LCM_RW=1;
LCM_E=0;
LCM_E=0;
LCM_E=1;
return(LCM_Data);
}*/
//读状态
unsignedcharReadStatusLCM(void)
{
LCM_Data=0xFF;
LCM_RS=0;
LCM_RW=1;
LCM_E=0;
LCM_E=0;
LCM_E=1;
while(LCM_Data&Busy);//检测忙信号
return(LCM_Data);
}
voidLCMInit(void)//LCM初始化
{
LCM_Data=0;
WriteCommandLCM(0x38,0);//三次显示模式设置,不检测忙信号
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,1);//显示模式设置,开始要求每次检测忙信号
WriteCommandLCM(0x08,1);//关闭显示
WriteCommandLCM(0x01,1);//显示清屏
WriteCommandLCM(0x06,1);//显示光标移动设置
WriteCommandLCM(0x0C,1);//显示开及光标设置
}
//按指定位置显示一个字符
voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData)
{
Y&=0x1;
X&=0xF;//限制X不能大于15,Y不能大于1
if(Y)X|=0x40;//当要显示第二行时地址码0x40;
X|=0x80;//算出指令码
WriteCommandLCM(X,0);//这里不检测忙信号,发送地址码
WriteDataLCM(DData);
}
//按指定位置显示一串字符
voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedchar*DData)
{
unsignedcharListLength,j;
ListLength=0;
Y&=0x1;
X&=0xF;//限制X不能大于15,Y不能大于1
ListLength=strlen(DData);
if(X<=0xF)//X坐标应小于0xF
{
for(j=0;j { DisplayOneChar(X,Y,DData[j]);//显示单个字符 X++; } } } //5ms延时 voidDelay5Ms(void) { unsignedintTempCyc=5552; while(TempCyc--); } /*****************************************************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 篮球 计时 计分 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)