基于51单片机的篮球比赛计分计时器设计.docx
- 文档编号:26399960
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:32
- 大小:612.51KB
基于51单片机的篮球比赛计分计时器设计.docx
《基于51单片机的篮球比赛计分计时器设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的篮球比赛计分计时器设计.docx(32页珍藏版)》请在冰豆网上搜索。
基于51单片机的篮球比赛计分计时器设计
课程设计任务书
设计题目
篮球比赛计分器设计
学生姓名
张亚明
所在院系
电子信息与电气工程学院
专业、年级、班
电子信息工程2009级1班
设计要求:
1.结合单片机串行口工作原理,用AT89S52设计一个篮球比赛计时计分器。
2.能够记录整个赛程的比赛时间并可同时用数码管显示。
3.拥有键盘接口,可通过键盘修改当前的比赛成绩(成绩修改包括加减1、2、3)。
4.能够随时刷新甲、乙两队在整个比赛中的比赛成绩。
5.能够通过数码管显示两队的比赛成绩。
6.比赛中场和结束时,能发出报警。
学生应完成的工作:
1.根据设计任务选定合适的单片机,根据控制对象设计接口电路。
2.根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单。
3.根据所确定的设计电路,利用相关软件绘制电路原理图、仿真图等,提供元器件清单。
4.根据电路及器件,完成安装、焊接和调试工作。
5.根据设计过程,撰写实习报告。
6.该生在此次设计中主要负责了倒计时程序的查找、电路的仿真和元器件的领取任务。
参考文献阅读:
【1】单片机原理及应用[M].张毅刚编著.高等教育出版社;
【2】51系列单片机及C51程序设计[M].王建校,杨建国等编著.科学出版社;
【3】单片机原理及接口技术[M].徐煜明,韩艳编著.电子工业出版社;
【4】单片机C语言和汇编语言混合编程实例详解[M].杜树春.北京航空航天大学出版社;
工作计划:
2012.05.078:
00~11:
30下达课程设计任务书,介绍课程设计整体情况
15:
00~18:
30熟悉课题,查阅资料
2012.05.088:
00~11:
30教师进行方案性提示,主要原理
15:
00~18:
30学生根据课题需要,拟定系统硬件方案
2012.05.098:
00~18:
30讨论,优化并确定系统硬件方案
2012.05.108:
00~18:
30讨论并确定程序流程,逐步开始撰写课程设计报告
2012.05.118:
00~18:
30根据程序流程图编写程序
2012.05.148:
00~18:
30讨论、优化最终完成系统软件设
2012.05.158:
00~18:
30系统硬件电路制作,并检查课程设计报告撰写进度
2012.05.168:
00~18:
30系统硬件电路制作,并检查课程设计报告撰写进度
2012.05.178:
00~18:
30烧录程序,系统调试
2012.05.188:
00~11:
30完成课程设计报告的撰写
15:
00~18:
30集中检查收取课程设计报告及完成的实物
任务下达日期:
2012年5月7日
任务完成日期:
2012年5月18日
指导教师(签名):
学生(签名):
篮球比赛计分器设计
摘要:
篮球比赛计分器的设计是为了解决篮球比赛时计分与计时准确方便和灵活适用的问题而提出的,我组设计的篮球比赛计分器硬件部分主要利用AT89S52单片机完成了计分与计时的功能,并通过两个四位七段数码管分别用来显示比赛时间和甲、乙比赛双方的分数,软件部分利用KeilC51软件来进行编译,通过Proteus软件进行仿真,最后将生成的HEX文件烧入到单片机芯片中。
采用该系统可根据实际情况进行时间的准确显示和比分修改,具有低功耗、可靠性强、安全性高以及低成本等特点,主要不足之处在于计时显示部分有时会出现显示不稳定的情况,基本满足了本次设计要求。
关键词:
单片机;篮球赛计分;篮球赛计时;数码管;按键;下载线
1设计背景……………………………………………………………1
2方案论证……………………………………………………………2
2.1共阳极数码管静态显示………………………………………2
2.2共阳极数码管动态显示………………………………………2
2.3两种方案的对比………………………………………………3
3方案实施……………………………………………………………4
3.1系统总体方案设计……………………………………………4
3.2硬件电路设计…………………………………………………4
3.2.1系统控制中心单片机AT89S52…………………………4
3.2.2系统电源模块……………………………………………6
3.2.3按键控制键盘模块………………………………………7
3.2.4晶振模块…………………………………………………8
3.2.5复位电路模块……………………………………………8
3.2.6报警电路模块……………………………………………9
3.2.7LED显示模块……………………………………………9
3.3系统软件设计…………………………………………………11
3.3.1软件设计环境介绍………………………………………11
3.3.2软件设计方案……………………………………………11
3.4系统调试………………………………………………………14
3.4.1软件调试及仿真…………………………………………14
3.4.2硬件调试…………………………………………………14
4结果与结论…………………………………………………………15
5收获与致谢…………………………………………………………16
6参考文献……………………………………………………………17
7附件…………………………………………………………………18
7.1元器件清单……………………………………………………18
7.2硬件总电路图…………………………………………………19
7.3实物图…………………………………………………………19
7.4源程序代码……………………………………………………20
1.设计背景
体育比赛计时计分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录,加工处理,传递数据的信息系统。
根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类得分类等多种类型。
篮球比赛是根据参赛队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统是一个负责篮球比赛的数据采集和分配的专用系统,它负责对比赛结果、成绩信息的采集处理、传输分配,即将篮球比赛比分数据通过专用的技术接口分别传送给裁判员、教练员、计算机信息系统和现场观众等。
篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成,由于比赛的不可重复性,决定了篮球计时计分系统是一个实时性很强、可靠性要求极高的电子服务系统,所以计时计分设备是篮球比赛中不可缺少的电子设备,计时计分系统设计是否合理,关系到比赛系统运行的稳定和可靠,并直接影响到比赛的顺利进行。
同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现高比赛现场感、表演娱乐观众等功能目标。
随着比赛规则的进一步完善,相应的计时计分系统也必须随之改进。
单片机,亦称单片微电脑或单片微型计算机。
它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。
计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。
微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?
纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。
由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。
世界各大电气厂家、测控技术企业、机电行业,竞相把单片机应用于产品更新,作为实现数字化、智能化的核心部件。
本篇设计篮球比赛计时计分器就是以单片机为核心的计时计分系统。
2.方案论证
本次为了使设计更加合理,我组共提出了两种显示方案,具体内容如下:
2.1共阳极数码管静态显示
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
静态显示就是显示驱动电路具有输出锁存功能,即各个LED的显示字符一经确定,相应的段码将维持输出不变,直到送入另一个字符的段码为止。
正因为如此,静态显示器的亮度都比较高。
静态显示的程序设计,是将一个两位数的个位与十位分开,并且用查表指令,输出对应位的表格代码。
图2-1数码管静态显示电路图
2.2共阳极数码管动态显示
共阳极数码管的动态显示,是四位数码管有一个I/O口控制LED片的多段复用,共阳极分别由相应的I/O口线控制,形成各片的分时选通。
若要各位数码管能够同时显示出与本位相应的显示字符,就必须采用动态显示方式,即在某一时刻,让某一位的位选线处于选通状态,而且其他各位的位选线处于关闭状态,这样在同一时刻,两个数码管只有选通的那一位显示字符,而另一个是灭着的。
同样,在下一时刻,只让第二个的位选线处于选通状态,另一位选线关闭,如此循环下去,就可以使两位数码管显示出所要显示的字符。
虽然这些字符不是在同一时刻出现,但由于LED片灯的余晖和人眼的视觉暂留作用,只要每位显示间隔足够短,就可以造成两位同时亮的假象,达到同时显示的效果。
设计基本与静态设计相同,不同之处是在多了位选信号。
在程序设计中在每次输出字符时,都要给相应的那位进行置位,另一位复位,确保每次只有一个数码管亮。
图2-2数码管动态显示电路图
2.3两种方案的对比
数码管静态显示需要静态驱动:
静态驱动也称直流驱动,静态驱动是指每个数码管的每一个段码都有一个单片机的I/O端口进行驱动,或者使用BCD码二/十进位转换器进行驱动,静态驱动的优点是编程简单,数据稳定,显示亮度高,无闪烁,占用CPU时间少,缺点是功耗比较大,占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40个I/O端口来驱动,而一个89S52单片机可用的I/O端口才32个。
故实际应用时必须增加位驱动器进行驱动,增加了硬体电路的复杂性。
数码管动态显示需要动态驱动:
动态驱动是将所数码管的7个显示片段的同名端连在一起,另外为每个数码管的公共极COM端增加位选通控制电路,位选通有各自独立的I/O线控制,当单片机输出字型码时,所有数码管都接受到相同的字型码,将需要显示的数码管的选通COM端电路的控制打开,该位就显示出字形,没有选通的数码管就不会亮,通过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1-2ms,由于人的视觉暂留现象看及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功能更低、硬件电路也较静态显示简单。
考虑设计要求和器件的限制,我组的课程设计采用的是共阳极数码管的动态显示。
3.方案实施
3.1系统总体方案设计
篮球比赛计时计分器主要包括单片机控制系统、计时计分LED显示模块、蜂鸣器报警、按键控制键盘模块、复位电路模块、晶振模块和系统电源模块。
通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。
模块框图如图3-1所示。
图3-1系统框图
本设计是采用单片机AT89S52作为系统的核心元件,利用7段共阳LED作为显示器件。
在此设计中共接入了8个7段共阳LED显示器,其中4个用于记录甲、乙两队的分数,每队两个LED显示器显示范围为0~99分,足以满足赛程需要,另外4个用来记录赛程时间,其中两个用于显示分钟,两个用于显示秒钟。
赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到本节时间为零,结束本节比赛,同时蜂鸣器开始报警,时间刷新为下一节准备,等待开始。
计时范围可达到0~99分钟,也完全满足实际赛程的需要。
3.2硬件电路设计
3.2.1系统控制中心单片机AT89S52
AT89S52是一个低功耗、高性能8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的单片机AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
本设计所采用的AT89S52为DIP40封装形式,引脚结构如图3-2。
除8kBytesFlash片内程序存储器外,还有256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,8个中断源,3个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
图3-2AT89S52单片机引脚图
AT89S52单片机引脚说明如下:
VCC:
电源端,接+5V。
GND:
接地端。
XTAL1:
接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚为外部时钟的输入端。
XTAL2:
接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚必须悬空。
地址锁存允许信号ALE:
系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。
此外,ALE是以六分之一晶振频率的固定频率输出的正脉冲,可作为外部时钟或外部定时脉冲使用。
PSEN:
PSEN是读外部程序存储器的选通信号,低电平有效。
访问程序存储器控制信号EA:
当为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。
当为低电平时,CPU只执行片外程序存储器指令。
复位信号RST:
该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。
P0口(P0.0~P0.7):
该端口为漏极开路的8位准双向I/O口,它为8位地址线和8位数据线的复用端口,使用时需接外部上拉电阻。
在访问外部程序存储器时,它作存储器的低8位地址线。
P1口(P1.0~P1.7):
它是一个内部带上拉电阻的8位准双向I/O口,作为输入口使用时,应先向其内部锁存器写1。
P2口(P2.0~P2.7):
它为一个内部带上拉电阻的8位准双向I/O口,作为输入口时同样需先向其内部锁存器写1。
在访问外部程序存储器时,它作存储器的高8位地址线。
P3口(P3.0~P3.7):
P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有第二引脚功能,具体如表3-1所示。
表3-1P3口线的第二功能
口线
特殊功能
信号名称
P3.0
RXD
串行输入口
P3.1
TXD
串行输出口
P3.2
INT0
外部中断0输入口
P3.3
INT1
外部中断1输入口
P3.4
T0
定时器/计数器0外部输入口
P3.5
T1
定时器/计数器1外部输入口
P3.6
WR
写选通输出口
P3.7
RD
读选通输出口
3.2.2系统电源模块
为51系列单片机系统提供的电源为稳定的5V直流电源。
本例用一个7805芯片为系统提供稳定的5V直流电源。
7805稳压芯片能提供多种固定的输出电压,应用范围广。
其内部含过热保护,短路保护,输出电流可达1A。
虽然该芯片是固定稳压电路,但使用不同的外接元件,可获得不同的电压输出。
25℃时输出电压范围为5~18V。
本系统7805的输入电压为9V直流电压。
9V直流电压可用普通干电池提供,也可以用市面上很容易买到的普通变压器提供。
7805对输入电压要求不高,但输入电压一般应大于所需输出电压2V以上。
在7805与9V电源之间用一个桥堆2W10来提高系统的安全性。
2W10能提供正向最大电流1A,最大反向峰值电压50V,能够有效避免电源反接或电源不稳定给系统带来的安全隐患。
7805的5V调控输出采用生产该芯片的公司提供的经典电路。
在输出端5V电压处接一个红色发光二极管来做为电源指示灯。
具体电气连接如图2-3所示。
图3-3系统电源
3.2.3按键控制键盘模块
本系统设计除复位按键外共配置了8个独立键盘来实现系统功能的控制8个独立键盘分别为s1、s2、s3、s4、s5、s6、s7、s8,分别连接到单片机的P1口的低四位和高四位1。
配合程序设计,在系统初始化时等待配置比赛时间,通过按下s1和s2分别显示甲队、乙队的成绩,按下s3暂停计时,按下s4继续计时,按下s5为进球队加分,未按下s5则为加错的队减分,按下s6、s7、s8,则按照s5的操作分别为相应队加减1分、2分、3分。
这种设计使系统能应用于不同比赛时间规格的各种场合当中,使系统产品的用途更加广泛。
设置时间结束后进入正常计时计分模式。
其中s1、s2用来调节闪烁光标的位置,以标识当前球队处于分数刷新模式状态下,光标不闪烁表明退出刷新。
图3-4键盘接口
3.2.4晶振模块
晶振电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。
在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢。
根据不同需要可以采用不同频率的晶振,这里采用12MHZ的晶振,另外有两个30pF的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入输出引脚。
具体连接图如图2-5所示。
图3-5晶振电路
3.2.5复位电路模块
复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。
RST引脚是复位信号的输入端。
复位电路在这里采用的是上电加按键复位电路形式,具体连接电路如图3-6。
图3-6复位电路
3.2.6报警电路模块
本设计通过P2.1口来控制蜂鸣器发声报警。
前三节结束时蜂鸣器发声,按下开始键开始下一节比赛,同时蜂鸣器停止发声。
四节比赛结束后蜂鸣器由沉寂转为发声。
具体连接电路图如图3-7所示。
图3-7报警电路连接图
3.2.7LED显示模块
本设计采用CD4511数码管显示。
通过74LS164实现串入并出(如图3-8),第一行数码管用来计时,前两位显示分钟,后两位显示秒数,设置好比赛时间后开始显示。
本程序中设置为4节比赛,程序初始化后通过键盘来设置单节比赛时间。
第二行用甲和乙来区别比赛双方,并分别用前后两位显示双方得分。
图3-9所示为LED数码管的电路连接图。
图3-874LS164串入并出原理图
图3-8LED数码管电路连接图
3.3系统软件设计
软件的编程设计是单片机系统设计的核心部分,也是能否实现预定功能的关键。
单片机编程常用的语言是C语言和汇编语言,最终都要转为IntelHEX格式或二进制格式(Binary)文件写入单片机芯片内。
此次我组使用的是汇编语言进行编程设计。
3.3.1软件设计环境介绍
Keil是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能、结构、可读性、可维护性上有明显的优势,因而易学易用。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具,也是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。
Proteus软件拥有丰富的资源,支持智能原理图设计,具有完善的电路仿真和独特的单片机协同仿真功能,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计。
MicrosoftVisio2007是微软公司出品的一款的软件,MicrosoftVisio是Windows操作系统下运行的流程图软件,它现在是MicrosoftOffice软件的一个部分。
它有助于IT和商务专业人员轻松地可视化、分析和交流复杂信息。
它能够将难以理解的复杂文本和表格转换为一目了然的Visio图表。
该软件通过创建与数据相关的Visio图表(而不使用静态图片)来显示数据,这些图表易于刷新,并能够显著提高生产率。
使用OfficeVisio2007中的各种图表可了解、操作和共享企业内组织系统、资源和流程的有关信息。
本实验正是通过Visio实现了程序流程图的绘制。
3.3.2软件设计方案
篮球比赛计时计分器软件设计部分采用模块化程序设计,程序部分由主程序、T0中断程序、计时计分刷新显示子程序、键盘扫描控制子程序、延时子程序等组成。
图3-9为主程序流程,图3-10为计时刷新子程序流程,图3-11为分数刷新子程序流程,图3-12为中断程序流程。
图3-9主程序流程图
图3-10计时部分流程图
图3-11计分模块流程图
图3-12中断程序流程图
具体设计程序见附录。
3.4系统调试
系统调试分为软件调试和硬件调试,硬件调试和软件调试是分不开的,许多硬件错误是在软件调试中被发现和纠正的,通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。
3.4.1软件调试及仿真
软件调试主要是运用Keil和Proteus完成。
在写好源程序,画出原理图之后,在电脑上进行软件仿真。
建新工程,选择AT89S52处理器;接着新建文档编辑程序,编辑完存为.asm,把保存的.asm文件加入到工程里。
点击Project下的OptionsforTarget‘Target1’。
在弹出对话框的Target项里输入晶振为12M,然后勾上UseOn-chipROM。
在Output项里勾上CreateHEXFile。
最后编译程序,keil会自动生成.hex文件。
接着将系统原理图在Proteus环境下画好,然后运用Proteus进行仿真,仿真电路图如下:
图3-13系统仿真电路图
3.4.2硬件调试
对照原理图进行焊接,应先把硬件依次正确插到电路板上相应的位置,然后再次检查器件是否都正确,确定无误后进行焊接。
在焊接的过程中要注意不要将相临的两个引脚焊接在一起,防止短路影响使用。
硬件连接好以后,先通过USB-ISP下载线将单片机和PC机连接,接着向单片机内烧制已写好的HEX程序,打开单片机,调试单片机程序。
4.结果与结论
测试问题:
上电复位后,能否进行定时设置?
设置完成后启动计时,倒计时过程中按下K1~K8键观察各分电路是否正常工作?
计时结束后,是否有报警音出现?
上半场
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 篮球比赛 计分 计时器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)