篮球计时计分系统的设计与实现
2015-05-15解彦强张治国邵桂荣
解彦强,张治国,邵桂荣
(运城学院物理与电子工程系,山西运城044000)
0.引言
目前,各高校经常举办班与班,团队与团队之间的小型友谊篮球比赛。这类比赛通常采用手工翻牌的方式进行计时计分,十分不方便且计时计分的效率低。基于此,本文设计一种价格低廉、方便使用的篮球计时计分器,可代替手工翻牌,提高了篮球比赛计时计分的效率。
1.总体方案设计
电路设计框图如图1所示[1],可实现的功能有:显示比赛时间、暂停时间及比赛节数,设置每节比赛时间,记录双方犯规次数,随时刷新甲、乙两队在整个赛程中的比分,每节时间到及24秒进攻时间到可进行报警。
图1 整体电路框图
2.硬件电路设计
图2 主程序流程图
硬件电路主要包括主控制器、复位电路、时钟电路、按键电路、显示电路、报警电路等[2]。其中,主控制器采用AT89C51,功能是通过程序控制各部分电路协调工作;复位电路由一个按键和电阻串联组成,功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序;时钟电路由两个非极性电容串联和一个晶振并联组成,功能是为AT89C51提供时钟信号;按键电路由八个非自锁按键组成,功能是对编程中的比赛节数、比赛时间、两队比分、两队犯规次数等变量进行控制;显示电路由八个7段共阴数码管组成,功能是显示比赛节数、比赛时间、两队比分、两队犯规次数、暂停时间等;报警电路采用蜂鸣器,电路在24秒进攻时间到以及整节比赛时间结束时发出报警。
3.软件设计
软件部分采用模块化编程方式[3],主要包含主程序、定时器中断子程序、显示子程序、按键子程序、报警子程序等。调用定时器中断子程序可实现计时的功能;调用显示子程序可实现显示变量数值的功能;调用按键子程序可实现改变变量数值的功能;调用报警子程序可实现报警提示的功能。其主程序流程图如图2所示,按键子程序流程图如图3所示。[4]
图3 按键子程序流程图
4.Protues仿真
在Protues中绘制好原理图[5],调入已编译好的目标代码文件,仿真过程如下:
1)初始状态如图4所示。数码管显示1-720-24,其中“1”代表比赛节数,“-”是分割符,“720”代表一节篮球比赛的时间为720秒(即12分钟),“24”代表篮球比赛24秒进攻时间。按下M2键,比赛时间加1秒;按下N2键,比赛时间减1秒。
图4 初始状态仿真图
2)甲、乙两对比分状态如图5所示。数码管显示“010”代表甲队的比分,“004”代表乙队的比分,“-”是分割符。按下M3键,乙队比分加1;按下M4键,甲队比分加1;按下N3键,乙队比分减1;按下N4键,甲队比分减1。
图5 两队比分状态仿真图
3)甲、乙两对犯规次数状态如图6所示。数码管显示“fg”代表犯规,提示该模式为显示甲、乙两队犯规次数,“12”代表甲队的犯规次数,“11”代表乙队的犯规次数,“-”是分割符。按下M3键,乙队犯规次数加1;按下M4键,甲队犯规次数加1;按下N3键,乙队犯规次数减1;按下N4键,甲队犯规次数减1。
图6 两队犯规次数仿真图
4)暂停时间状态如图7所示。数码管显示“STOP”代表暂停,提示该模式为暂停模式,“0013”显示暂停时间。
图7 暂停状态仿真图
5.实物制作及调试
采用Protel99绘制原理图及PCB图,通过热转印、腐蚀、打孔,完成PCB板的制作。印好电路板后,检查印制线是否有断线、毛刺、与其它线或焊盘有粘连,焊盘脱落等问题。焊接好所有元件后,利用万用表检查是否有短路、虚焊等问题。
硬件检查无误后,将程序写入单片机,上电,分别针对显示子程序、按键子程序、报警子程序进行测试,测试结果表明该电路能够实现相关功能。
6.结论
通过Proteus仿真及实验验证,该电路能稳定地实现小型篮球比赛需求的计时、计分功能。本设计基于AT89C51实现,其外围电路简单、维护性强。通过程序修改,该电路也可用于足球比赛、羽毛球比赛等的计时、计分,具有一定的可扩展性。
[1]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2005.
[2]邓红,张越编著.单片机实验与应用设计教程[M].北京:冶金工业出版社,2004.
[3]何立民.单片机应用技术选编[M].北京:北京航空航天大学出版社,1996.
[4]赵亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社,2003
[5]高强.Protues的应用[J].沈阳教育学院学报.2002(9).