篮球赛计时计分器.docx
《篮球赛计时计分器.docx》由会员分享,可在线阅读,更多相关《篮球赛计时计分器.docx(38页珍藏版)》请在冰点文库上搜索。
篮球赛计时计分器
上海电机学院
电子综合设计
课题篮球计时计分器
学院(系)电气学院
专业电气工程及其自动化
年级BG0801
学号34
姓名马晓欢
导师沈任元
篮球赛计时计分器
摘要
单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。
由于单片机的集成度高,功能强,通用性好,特别是它具有体积小、重量轻、能耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用。
目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位,许多用单片机做控制的球赛计时计分系统也应运而生,如:
用单片机控制液晶显示(LCD)计时计分器,用单片机控制LED七段显示器计时计分器等。
篮球计时计分器以单片机为核心,由计时器、计分器、综合控制器等组成。
系统采用模块化设计,主体分为计时显示模块、计分显示模块、定时报警、按键控制键盘模块。
每个模块的程序结构简单、任务明确,易于编写、调试和修改。
程序可读性好,对程序的修改可局部进行,其他部分可保持不变。
编程后利用KeilC51软件来进行编译,再将生成的HEX文件装入芯片中,采用Proteus软件仿真,检验功能是否能够正常实现,随后可用Protel99画出硬件电路图。
本设计中系统硬件电路主要由以下几个部分组成:
单片机AT89C51、计时电路、计分电路、报警电路和按键开关。
本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。
该系统具有赛程定时设置、赛程时间暂停、及时刷新甲乙双方的成绩等功能。
它具有价格低廉、性能稳定、操作方便并且易于携带等特点,广泛适合各类学校或者小型团体作为赛程计时计分。
关键词:
单片机,计时,计分,显示器,接口
Abstract
Single-shipmicrocomputersinceitsinceptioninthe1970s,theextremelyhighcostpeople'sattentionandconcern,soaverywideapplication,rapiddevelopment.Becauseofthehighintegrationsingle-chip,powerful,commongood,especiallywhenitissmall,lightweight,lowpowerconsumption,cheap,highreliability,stronganti-interferenceabilityandeaseofuseuniqueadvantages,thechipquicklyhasbeenwidelyused.Measurementandcontrolapplicationshasbecomethepreferredmodelsystem,andakeycomponentofnewelectronicproducts,manymadewithsingle-chiptimingcontrolofthegamescoringsystemhaveemerged,suchas:
withsingle-chipcontrolofliquidcrystaldisplay(LCD)devicetimingpoints,LEDseven-segmentdisplaywithmicrocontrollertimingcontrolpoints,etc..Basketballtimescoringdevicetothemicrocontrollerasthecore,byatimer,scoringdevices,integratedcontrollerandothercomponents.
Themodulardesign,dividedintothemaintimedisplaymodule,displaymodulescoring,timingalarm,keycontrolkeyboardmodule.Eachmoduleoftheprogramstructureissimple,cleartasks,easytowrite,debugandmodify.Readableprogram,theprogramchangescanbepartiallycarriedout,therestcanremainunchanged.AftertheprogrammingsoftwaretouseKeilC51compiler,andthengeneratetheHEXfileintothechip,usingtheProteussoftwaresimulationtotestwhetherthenormalfunctiontoachieve,thendrawthehardwarecircuitdiagramProtel99available.Thedesignofhardwarecircuitmainlyconsistsofthefollowingcomponents:
themicrocontrollerAT89C51,timingcircuit,scoringcircuit,alarmcircuitandkeyswitch.
ThedesignusedbytheAT89C51programmingcontrolfortheseven-segmentLEDdisplaygametimescoring.Thesystemhasasettimeschedule,scheduletimetopause,refreshandtimelyperformanceofbothpartiesandotherfunctions.Ithaslowprice,stableperformance,easytooperateandeasytocarry,whichiswidelysuitableforalltypesofschoolsorsmallgroupsastheracetimescoring.
Keywords:
Single-chipMicrocomputer,Timing,scoring,display,interface
目 录
前 言
随着单片机在各个领域的广泛应用,许多用单片机做控制的球赛计时计分系统也应运而生,如用单片机控制LCD液晶显示器[1]计时计分器,用单片机控制LED七段显示器计时计分器等。
根据此次课题要求,这里介绍一种篮球赛计时计分器的设计方法,即单片机带外围扩展来驱动数码管工作的电路。
采用这种方法可提升学生对单片机接口电路的综合运用能力。
电路采用单片机作为核心元件,利用两个供阴的三位一体数码管来显示两队的分数,一个四位一体数码管显示时间的计时。
显示分数范围可达0~999分,足够赛程计分的需要。
四位一体数码管中2个用于显示分钟,2个用于显示秒钟。
比赛前,将时间设置好,比赛开始时启动计时,直至倒计时到零为止。
计时范围达到0~99分钟,能满足实际赛程计时的需要。
为了配合计时器调整时间和计分器校正比分,设计了6个按键,4个用于输入甲、乙两队的分数,另2个用于启动和暂停赛程时间。
另外,还设计了定时报警系统,即比赛时间到时,扬声器发出报警声提示赛程结束。
该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩等功能。
设计分为软件设计和硬件设计两部分。
主控芯片采用AT89C51,使用C语言编写软件程序,主体分为计时显示模块、计分显示模块、定时报警、按键控制模块。
编程后利用KeilC51[3]软件来进行编译,再将生成的HEX文件装入芯片中,检验功能是否能够正常实现。
通过本次基于单片机的篮球赛计时计分器的设计,可以了解、熟悉有关单片机开发设计实例的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧。
第1章系统方案说明
§1.1方案选择
§1.1.1篮球赛计时计分器设计的现状
体育比赛计时计分系统是对体育比赛过程中所产生的时间,比分等数据信息进行快速采集记录、加工处理、传递和利用的系统。
根据运动项目的不同,比赛规则要求也不同,体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类和得分类等多种类型。
篮球比赛是根据运动队员在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统。
篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成的,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现激烈的比赛现场感和表演娱乐等功能目标。
现在,根据设计要求,介绍一下设计方案。
§1.1.2系统总体设计方案
根据课题要求,设计方法是单片机直接驱动数码管工作的电路,该电路成本相对较低。
以单片机作为核心元件,利用两个供阴的三位一体数码管来显示两队的分数,一个四位一体数码管显示时间的计时。
显示分数范围可达0~999分,足够赛程计分的需要。
四位一体数码管中2个用于显示分钟,2个用于显示秒钟。
比赛前,将时间设置好,比赛开始时启动计时,直至倒计时到零为止。
计时范围达到0~99分钟,能满足实际赛程计时的需要。
为了配合计时器调整时间和计分器校正比分,设计了6个按键,4个用于输入甲、乙两队的分数,另2个用于启动和暂停赛程时间。
另外,还设计了定时报警系统,即比赛时间到时,扬声器发出报警声提示赛程结束。
图1-1系统构成图
§1.2系统基本功能介绍
本设计要实现的基本功能有:
赛程时间设置,赛程时间启/停设置,比分交换控制,计时计分显示,赛程结束报警。
以下对个功能进行介绍。
1、赛程时间设置
在计时电路中,按键开关K6、K7用来设置赛程时间,通过程序来设置不同的时间。
2、赛程时间启动/暂停设置
当时间设置完成后,比如设置赛程时间为15分钟,则在LED显示器上显示为1500,15表示分钟,00表示秒钟。
这时,如果裁判吹响开始的哨声时,则应立即按下按键K7,表示赛程开始,计时显示则由4500变成4459,4458……一直计时直到计为0000时表示赛程结束。
按键K7为赛程启动和暂停控制。
3、比分交换控制
比分交换控制由计时电路图2-5中所示的K7键完成。
我们知道,因为比分交换是在上半场赛程结束后进行的,也就是说比分交换要受赛程时间控制,只有当上半场计时器指示为0000时,按K7键,则会自动交换甲、乙两队的比分。
如果上半场赛程时间没有到0000时,则此时按下K7键,只会暂停比赛,不能交换分数。
如果要继续比赛,再按一次K7即可。
因此,K7键完成三重功能,即:
启动,暂停,比分交换。
4、比分刷新控制
由于在比赛中,甲、乙两队的比分是不断在变化的,所以需要设置比分刷新控制装置;此部分功能由计分电路图2-9中的所示的按键开关K5、K5、K5、K6来完成的:
K5键:
完成甲队加1分操作
K5键:
完成甲队减1分操作
K5键:
完成乙队加1分操作
K6键:
完成乙队减1分操作
5、计时计分显示
计时计分显示器是采用七段共阴极LED显示器来显示的。
其中计分是用三位一体数码管来显示。
计时采用四位一体数码管来显示;显示格式为000000和0000。
6、赛程结束报警
当比赛结束时,系统会自动发出报警声,提示赛程结束。
第2章系统硬件电路设计
§2.1篮球赛计时计分电路原理图
用Protel99SE设计的电路原理图见附录3,PCB版图见附录1。
§2.2篮球赛计时计分器电路工作过程
整个篮球计时计分器的工作过程如下:
首先在比赛之前,接通电源,系统自动复位,此时计时电路与计分电路中的共阴极数码管分别显示为1500和000000;然后我们按下计时电路图中的K7键,启动计时,这时计时电路便开始工作,计时采用倒计时方式,即从15分钟减为0分钟表示上半场结束。
上半场结束时,蜂鸣器会发出响声,通知时间到,这时按下K7键,便完成了甲、乙两队的分数交换。
在整个赛程中,我们还要对两队比分进行及时刷新,这时我们通过计分电路图中的K5~K6键完成此功能,K5和K5键完成甲队加分、减分,K5和K6键完成乙队加分、减分。
按键每按一下,表示加上或者减去1分。
由于加分、减分我们采用中断完成,且加、减分的中断优先权小于计时电路中的中断优先权,所以不会对计时电路造成影响。
如果在赛程过程中,一方的教练申请暂停时,经裁判批准,我们立即按下K7键,即可以暂停计时,暂停时间到时,再按下K7键继续计时,直至时间结束,蜂鸣器会发出响声。
§2.3系统硬件电路组成
§2.3.1计时电路
1.显示器及其接口
显示器是最常用的输出设备,其种类繁多,但在单片机系统设计中最常用的是发光二极管显示器(LED)和液晶显示器(LCD)两种。
由于这两种显示器结构简单,价格便宜,接口容易实现,因而得到广泛的应用。
下面介绍发光二极管显示器(LED)的结构、工作原理及其接口电路。
(1)LED结构与原理
图2-1为典型的数码管。
图2-17段LED数码管
如图2-1,LED显示器又称为数码管,LED显示器由8个发光二极管组成。
中7个长条形的发光管排列成“日”字形,另一个点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。
LED显示器有两种不同的形式:
一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。
(2)LED显示器显示方式
点亮LED显示器有两种方式:
一是静态显示;二是动态显示。
在本次设计中,采用的是静态显示。
所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。
这种电路的优点在于:
在同一时间可以显示不同的字符;但缺点就是占用端口资源较多。
从图2-2以看出,每位LED显示器需要单独占用8根端口线,因此,在数据较多的时候,往往不采用这种设计,而是采用动态显示方式。
本设计采用的便是此种显示方式。
图2-2静态显示图
由于所有的段选码连在一起,所以同一瞬间只能显示同一种字符。
但如果要显示不同字符,则要由位选码来控制。
(如果LED为共阴极则~~输出为高电平,如果LED为共阳极则~~输出为低电平。
)
2.报警器
(1)报警器的工作原理
报警器的种类很多,比如:
扬声器,蜂鸣器等,本次设计采用的是电磁式蜂鸣器作为报警器。
电磁式蜂鸣器由振荡器、电磁线圈、磁铁、震动膜片以及外壳等组成。
接通电源后,振荡器产生的音频信号通过电磁线圈,使得电磁线圈产生了一个磁场。
振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。
3.计时电路的工作原理图
如图2-3示。
图2-3计时电路原理图
4.计时电路的工作原理
计时电路主要由开关K6、K7,单片机AT89C51以及LED显示器构成。
其工作过程如下:
当比赛准备开始的时候,按下K6即可,计时开始,计时采用倒计时,比如:
设置的时间为15分钟,则在LED上显示“1500”四位数。
定时T0计数60秒后中断返回,继续定时计数下一个60秒;同时则在4位LED显示器上显示“4459”四位数,表示时间已过去1秒钟,即为14分59秒。
这样一直持续下去,直到变为“0000”时表示赛程结束。
如果比赛中,裁判叫暂停,则只要按一下K7键,即可暂停计时。
5.振荡电路
本次设计要使用到AT89C51单片机的时钟振荡功能。
AT89C51中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端。
这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一同构成自激振荡器。
振荡电路如图2-4所示。
如图2-4,外接石英晶体或者陶瓷谐振器以及电容C1,C2接在放大器的反馈电路中构成并联谐振电路。
谐振器本身对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度以及温度的稳定性,如果使用石英晶体,使用30pF。
图2-4时钟振荡电路
本次设计使用的是石英晶体谐振器,因此采用30pF的电容,频率大小采用12MHZ与6MHZ均可,这里采用的是12MHZ晶振。
§2.3.2计分电路
8051系列单片机除了有4个8位并行口外,还有一个能同时进行串行发送和接收的全双工串行通信口。
它能同时发送和接收数据,还能作为同步移位寄存器使用。
球赛计分电路正是利用了8051单片机串行口可以外接串行输入并行输出移位寄存作用为输出口来实现球赛比分刷新显示的。
1.串行接口工作原理
MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信。
8051的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一种方式。
其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1多用于双机之间或者与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统。
串行端口有两个控制寄存器(SCON[11]和PCON[12]),用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。
串行端口有一个数据寄存器SBUF[13](在特殊功能寄存器中的字节地址为99H),该寄存器为发送和接收所共同。
发送时,只写不读;接收时,只读不写。
在一定条件下,向SBUF写入数据就启动了发送过程;读SBUF就启动了接收过程。
串行通信的波特率可以程控设定。
在不同工作方式中,由时钟振荡频率的分频可由定时器T1的溢出率[14]确定,使用十分方便灵活。
表2-1为寄存器SCON内容定义表,表2-2为寄存器PCON位地址
表2-1SCON各位内容定义
位地址
9FH
9EH
9DH
9CH
9BH
9AH
99H
98H
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
表2-2PCON位地址
SMOD
——
——
——
其中引脚分布图将在后面图中介绍。
其中2脚DATA为串行数据输入脚;3脚CLOCK为时钟脉冲输入;4、5、6、7、14、1、3、12、11脚为并行8位数据输出,前7脚与LED显示器的a~g引脚相连,11脚置空;8脚接地;16脚接电源5V。
2.计分电路原理图
计分电路原理图如图2-5所示。
图2-5计分电路原理图
4.计分电路的工作原理
计分电路主要由单片机AT89C51,LED显示器以及按键开关组成。
其工作过程如下:
按键开关K2、K3、K5、K6组成甲、乙两队加减分控制。
按键一端接地,另一端输入与单片机AT89C51的,,,。
例如:
现在先在以甲队加分为例,来说明整个过程。
假设比赛刚开始,双方比分为000:
000,当某一时刻之后,当甲队加分时,则按下K2键,这时K2=0(低电平),其余K3K5K6=111(为高电平)K2K3K5K6相与之后的结果为低电平,这时的低电平输出到AT89C51的脚,使其外部中断INT0[16]发生中断,从而调用中断服务程序,将要显示的数据从程序中定义的LED显示常数表TAB中取出数据06H(因为LED显示常数表TAB的偏移地址为36H,36H首先是指向LED显示常数表TAB中第一个数据3FH的,当K5按下时,相当于将33H地址加1,这时便指向第二数据06H,即对应字母代码关系表中的加1)。
§2.4器件选择及介绍
本系统在设计的过程中主要选取了以下一些器件:
单片机:
AT89C51
显示器件:
7段共阴极LED显示器
按键:
欧姆龙按键
§2.4.1AT89C51
AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash[17]只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。
AT89C51具有PDIP、PQFP/TQFP及PLCC等三种封装形式[18],以适应不同产品的需求。
它是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
如图所示,图2-6为AT89C51单片机基本构造,其基本性能介绍如下:
图2-6AT89C51引脚图
AT89C51的主要特性如下表2-5所示。
下面介绍各个管脚:
P0口:
P0口为一个8位漏极开路双向I/O口,每个引脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入[19]。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容,P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
表2-3AT89C51主要功能描述
兼容MCS—51指令系统
4k可反复擦写(>1000次)FlashROM
32个双向I/O口
可编程UARL通道
两个16位可编程定时/计数器
全静态操作0-24MHz
1个串行中断
128x8bit内部RAM
两个外部中断源
共6个中断源
可直接驱动LED
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能
P3口:
P3口管脚是8个带有内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口