篮球比赛计分器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WORD格式可以任意编辑单片机课程设计报告
篮球比赛计分器设计
姓名:
学号:
专业班级:
指导老师:
所在学院:
年月日
摘要
本设计是采用单片机AT89C52作为本设计的核心元件。
利用7段共阴LED
作为显示器件。
在此设计中共接入了8个7段共阴LED显示器,其中4个用于记
录AB队的分数,每队2个LED显示器显示范围可达到0~99分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用
于显示秒钟。
赛程计时采用倒计时方式。
即比赛前将时间设置好,比赛开始时启
动计时,直至计时到零为止。
计时范围可达到0~99分钟,也完全满足实际赛程
的需要。
当比赛队A对得1分时,按下A+1键;得2分时,按下A+2键;得3
分时,按下A+3键;当加分出现错误时,可以按A-1键减1分,可以达到调整
分数的作用;依照同样的方法可以记录B对的得分。
采用单片机控制使这个系统按键操作使用简洁,LED显示,安装方便。
解决
了篮球比赛计分器的安装问题,节约了线材,适合在各种规模的体育场馆使用,
完全可以代替传统的用钟表进行计时的方法,当然稍加改动也可以用于其他球类
比赛,是体育器材向智能化发展的一个实例。
本设计可以实现:1、能记录整个赛程的比赛时间,并能修改比赛时间
2、能随时刷新甲、乙两队在整个过程中的比分
3、中场交换比赛场地时,能交换甲、乙两队比分的位置
4、比赛结束时,能发出报警声,等功能
目录
1概述3
1.1设计意义 (3)
1.2设计内容 (4)
1.3设计任务和要求 (4)
2系统总体方案及硬件设计4
2.1AT89C52简介 (4)
2.2数码管显示原理 (6)
2.3总体方案: (7)
2.4硬件原理图: (8)
3软件设计7
3.1主流程图: (7)
4.PROTEUS软件仿真8
5、课程设计体会10
附1:源程序代码11
附2系统原理图21
1概述
1.1设计意义
体育比赛计分系统是对体育比赛过程中所产生的时间,比分等数据进行快速采集记录,加工处理,传递利用的信息系统。
根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类,评分类,命中类,制胜类得分类等多种类型。
篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时系统是一种得分类型的系统。
篮球比赛的计时系统由计时器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。
由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。
世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。
篮球比赛计分器就是以单片机为核心的计时计分系统,由于对于单片机是刚刚学习,对于编程也不是十分熟练,故本次设计的内容相较简单,达不到正式比赛需求,仅供学习之用。
1.2设计内容
本系统是采用单片机AT89C52作为本设计的核心元件。
利用7段共阴LED 作为显示器件。
在此设计中共接入了8个7段共阴LED显示器,其中4个用于记录AB队的分数,每队2个LED显示器显示范围可达到0~99分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。
赛程计时采用到计时方式。
即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。
计时范围可达到0~99分钟,也完全满足实际赛程的需要。
其次,为了配合计时器和计分器校正调整时间和比分,我特定在本设计中设立了11个按键,其中8个用于设置,交换场地,启动和暂停等功能。
1.3设计任务和要求
任务:设计一个用于赛场的篮球计时计分器。
要求:1、能记录整个赛程的比赛时间,并能修改比赛时间。
2、能随时刷新甲、乙两队在整个过程中的比分。
3、中场交换比赛场地时,能交换甲、乙两队比分的位置。
4、比赛结束时,能发出报警声。
2系统总体方案及硬件设计
2.1AT89C52简介
单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O 口等计算机所需要的基本部件的大规模集成电路。
其以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。
如果说C语言程序设计课程设计软件设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。
2.2数码管显示原理
数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。
我们分别把他命名为A,B,C,D,E,F,G,H。
图 2.2数码管内部结构图
假设我们要显示一个数字2,那么A、B、G、E、D这5个段的发光管亮就可
以了,C、F、H不亮,同时由于接法为共阴接法,那么为高电平是亮,低电平是灭。
从高往低排列,P1.7-P1.0写成二进制为01011011,把他转化为16进制
则为5BH。
我们可以根据硬件的接线把数码管显示数字编制成一个表格,见下表,以后直接调用就行了。
数码管的接口有静态接口和动态接口两种。
静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阴接GND,本次课
程设计由于所需数码管不多,故可用些种方法接线。
这种接法占用接口多,仅能接少量数码管。
动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一接口完成各数码管的轮流点亮。
多位一体的数码管原理和单个的差不多。
表 2.1共阴极数码管显示
显示P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0HE代
小数G小FEDCBA
码点
0001111113FH
10000011006H
2010110115BH
3010011114FH
40110011066H
5011011016DH
6011111017DH
70000011107H
8011111117FH
9011011116FH
2.3总体方案:
基于单片机系统的篮球赛计时计分器的系统构成图如下图所示:
图2.3系统结构图
本系统采用单片机AT89C51作为本设计的核心元件。
利用7段共阴LED作为
显示器件。
在此设计中共接入了8个7段共阴LED显示器,其中4个用于记录
AB队的分数,每队2个LED显示器显示范围可达到0~99分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。
赛程计时采用到计时方式。
即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。
计时范围可达到0~99分钟,也完全满足实际赛程的需要。
其次,为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了11个按键,其中8个用于设置,交换场地,启动和暂停等功能。
2.4硬件原理图:
系统硬件图如下图2.4所示:
RP1
RESPACK-8
C1
330p
123456789
TIME
U1
VCC C2
330p
X1
19
CRYSTAL
18
9
XTAL1
XTAL2
RST
P0.0/AD039
38
P0.1/AD1
37
P0.2/AD2
P0.3/AD336
35
P0.4/AD4
34
P0.5/AD5
33
P0.6/AD6
32
P0.7/AD7
C3
1uF
29
30
31
PSEN
ALE
EA
21
22
P2.0/A8
P2.1/A9
P2.2/A1023
24
P2.3/A11
25
P2.4/A12
P2.5/A1326
27
P2.6/A14
28
P2.7/A15
BIFEN
R1 10k 1
2
3
4
5
6
7
8
P1.0/T2
P1.1/T2EX
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
10
11
P3.0/RXD
P3.1/TXD
12
P3.2/INT0
13
P3.3/INT1
14
P3.4/T0
15
P3.5/T1
16
P3.6/WR
17
P3.7/RD
R4R3R2
5.1k5
.1k5.
1K AT89C52
START\PAUSE
CHANGEEFIELD
SETTIME
A+2A+3A-1 A A+1
5.1k
R5 5.1k
Q1
2N3053 BUZ1
R7
BUZZ
ER5.1k
8
3软件设计
3.1主流程图:
TR0=0
显示时间和比分
N
开始/暂停
按钮按下?
Y
TR0位取反
开始计时停止计时
N
Y
开始/暂停
按钮按下?
加减分处理2、源程序代码见附1。
4.Proteus软件仿真
1.进入比赛,先设置时间为一节或着半场。
默认是15分钟(按下“A+1”进行分钟加1,按下“A-1”进行分钟减1),如图4.1
RP1
RESPACK-8
C1
330p
123456789
VCC
X1 19
C2 CRYSTAL
330p 18
9
U1
XTAL1
XTAL2
RST
39
P0.0/AD0
P0.1/AD138
37
P0.2/AD2
36
P0.3/AD3
35
P0.4/AD4
P0.5/AD534
33
P0.6/AD6
32
P0.7/AD7
时
间
C3
1uF 29
30
31
PSEN
ALE
EA
P2.0/A821
22
P2.1/A9
23
P2.2/A10
24
P2.3/A11
P2.4/A1225
26
P2.5/A13
27
P2.6/A14
P2.7/A1528
比
分
R1 10k 1
2
3
4
5
6
7
8
P1.0/T2
P1.1/T2EX
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
10
11
P3.0/RXD
P3.1/TXD
P3.2/INT012
P3.3/INT113
14
P3.4/T0
15
P3.5/T1
P3.6/WR16
17
P3.7/RD R4R3R2
5.1k5.1k5.1K AT89C52
START\PAUSE
CHANGEEFIELD
SETTIME
A+2A+3A-1
AA+1
R6
B+1B+2B+3B-1 5.1k
R5 5.1k Q1
2N3053 B UZ1
R7
BU
ZZER5.1k
图4.1
2、按下“START/PAUS”E开始比赛或者暂停,如图4.2
RP1
RES
PAC
K-8
C1
33
0p
123456789
VCC
X1 19
C2 CRYSTAL
330p
18
9
U1
XTAL1
XTAL2
RST
39
38
P0.0/AD0
P0.1/AD1
P0.2/AD237
36
P0.3/AD3
35
P0.4/AD4
P0.5/AD534
33
P0.6/AD6
32
P0.7/AD7
时
间
C3
1uF 29
30
31
PSEN
ALE
EA
P2.0/A821
22
P2.1/A9
23
P2.2/A10
P2.3/A1124
25
P2.4/A12
26
P2.5/A13
27
P2.6/A14
P2.7/A1528
比
分
R1 10k
1
2
3
4
5
6
7
8
P1.0/T2
P1.1/T2EX
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
10
P3.0/RXD
P3.1/TXD11
12
P3.2/INT0
13
P3.3/INT1
P3.4/T014
P3.5/T115
16
P3.6/WR
17
P3.7/RD R4R3R2
5.1k5.1k5.1K
AT89C52
START\PAUSE
CHANGEEFIELD
SETTIME
A+2A+3A-1A+1
A
R5 5.1k Q1
2N3053 BUZ1
R7 BUZZER
5.1k
10
图4.2
3、上面的液晶显示为计时显示。
下面的液晶显示为分数显示“左侧为攻左半场
的队的分数,右侧为攻右半场的对的分数。
”换场后依然如此。
4、按下“CHANGFIEL”D交换场地,重新计时。
5、A+1,A+2,A+3,A-1,B+1,B+2,B+3,B-1进行两队分数调整
5、课程设计体会
通过这两个星期的课程设计,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。
在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。
通过单片机课程设计,我加深了对单片机理论的理解,学回了怎样将理
论很好地应用到实际当中去,而且我还学会了如何去培养我们的不畏困难的挑战
精神,从而不断地战胜自己,超越自己,我在这一设计过程中,学会了坚持不懈,不轻易言弃。
设计过程,也好比是我们人类成长的历程,常有一些不如意,也许
这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们
而敲响。
此次课程设计充分锻炼了我的设计能力,给我们注入了一些全新的认识,
为我以后的设计和实验奠定了基础,也为引导我以理论结合实践起到重要意义。
附1:源程序代码
ORG0000H
LJMPMAIN
ORG0003H
LJMPCHANGE
ORG000BH
LJMPTIME
ORG0013H
LJMPTIAOSHI
ORG001BH
LJMPYANSHI
MAIN:MOVSP,#50H
MOVTCON,#04H
MOV20H,#00H;秒
MOV21H,#0CH;分
MOV22H,#00H;;;;;;;;;A队分数;;;;;;;;;;;;;;;;;
MOV23H,#00H;;;;;;;;;;B队分数;;;;;;;;;;;
MOV24H,#02H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV25H,#01H
MOV26H,#0CH;;;;;;;;;;;分钟定时区;;;;;;;
MOV30H,#00H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV31H,#00H;;;;;;;;;时间缓冲区;;;;;;;;;;
MOV32H,#02H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV33H,#01H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV34H,#00H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV35H,#00H;;;;;;;;分数显示缓冲区;;;;;;;
MOV36H,#00H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV37H,#00H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV39H,#03H;TIANHEIHEI
MOVTMOD,#11H
MOVTH0,#0D8H
MOVTL0,#0F0H
MOVTH1,#0D8H
MOVTH1,#0F0H
MOVIE,#10001111B
MOVIP,#05H
MOVR2,#64H
CLRP3.6
WORD格式可以任意编辑
START:LCALLDISPT
LCALLDISPF
JNBP1.0,PP1;A队加一分
JNBP1.1,PP2;A队加两分
JNBP1.2,PP3;A队加三分
JNBP1.3,PP4;A队减一分
JNBP1.4,PP55;B队加一分
JNBP1.5,PP66;B队加两分
JNBP1.6,PP77;B队加三分
JNBP1.7,PP88;B队减一分
JBP3.0,START
LCALLDELAY
JBP3.0,START
STOP1:JNBP3.0,STOP1
LCALLDELAY
JNBP3.0,STOP1
CPLTR0;按键奇数次开始,偶数次暂停
LJMPSTART
PP55:LJMPPP5
PP66:LJMPPP6
PP77:LJMPPP7
PP88:LJMPPP8
PP1:LCALLDELAY
JBP1.0,PPB
STOP11:JNBP1.0,STOP11
LCALLDELAY
JNBP1.0,STOP11
INC22H
MOVA,22H
LJMPSTOREA
PP2:LCALLDELAY
JBP1.1,PPB
STOP22:JNBP1.1,STOP22
LCALLDELAY
JNBP1.1,STOP22
MOVA,22H
ADDA,#02
MOV22H,A
PP3:LCALLDELAY
JBP1.2,PPB STOP33:JNBP1.2,STOP33
LCALLDELAY
JNBP1.2,STOP33
MOVA,22H
ADDA,#03
MOV22H,A
LJMPSTOREA
PP4:LCALLDELAY
JBP1.3,PPB STOP44:JNBP1.3,STOP44
LCALLDELAY
JNBP1.3,STOP44
DEC22H
MOVA,22H STOREA:MOVB,#0AH
DIVAB
MOV34H,B
MOV35H,A PPB:LJMPSTART
PP5:LCALLDELAY
JBP1.4,PPC STOP55:JNBP1.4,STOP55
LCALLDELAY
JNBP1.4,STOP55
INC23H
MOVA,23H
LJMPSTOREB
PP6:LCALLDELAY
JBP1.5,PPC STOP66:JNBP1.5,STOP66
LCALLDELAY
JNBP1.5,STOP66
MOVA,23H
ADDA,#02
MOV23H,A
PP7:LCALLDELAY
JBP1.6,PPC
STOP77:JNBP1.6,STOP77
LCALLDELAY
JNBP1.6,STOP77
MOVA,23H
ADDA,#03
MOV23H,A
LJMPSTOREB
PP8:LCALLDELAY
JBP1.7,PPC
STOP88:JNBP1.7,STOP88
LCALLDELAY
JNBP1.7,STOP88
DEC23H
MOVA,23H
STOREB:MOVB,#0AH
DIVAB
MOV36H,B
MOV37H,A
PPC:LJMPSTART
DELAY:MOVR4,#5H
DL00:MOVR5,#0FFH
DL11:DJNZR5,DL11
DJNZR4,DL00
RET ;;;;;;;;;;;;;;;;;;时间中断程序;;;;;;;;;;;;;;; TIME:PUSHACC
PUSHPSW
MOVTH0,#0D8H
MOVTL0,#0F0H
DJNZR2,RET0
MOVR2,#64H
MOVA,20H
CLRC
DECA
MOV20H,A
CJNEA,#00H,PFF;;;;;;;;;非0分跳转;;;;;;;;;;;;;;;;;
MOVA,20H
CJNEA,#00H,PFF;;;;;;;;;非0分0秒情况跳转;;;;;;;;;;
CLRTR0;;;;;;;;;比赛结束停止计时;;;;;;;;;;
MOV20H,#00H
MOV21H,#00H
MOV32H,#00H
MOV33H,#00H
LCALLMINGYIN
MOV21H,26H
MOV30H,#00H
MOV31H,#00H
MOV32H,24H
MOV33H,25H
LJMPRET0
PFF:MOVA,20H
CJNEA,#0FFH,OUT
MOV20H,#59;
MOV30H,#09H
MOV31H,#05H
MOVA,21H
DECA
MOV21H,A
OUT:MOVA,20H
MOVB,#0AH
DIVAB
MOV30H,B
MOV31H,A
MOVA,21H
MOVB,#0AH
DIVAB
MOV32H,B
MOV33H,A
RET0:POPPSW
POPACC
RETI
YANSHI:PUSHACC;定时器1中断
MOVTH1,#0D8H
MOVTL1,#0F0H
DJNZR2,RET1
MOVR2,#64H
DJNZ39H,RET1
MOV39H,#03H;TIANHEIHEI
MOVR2,#64H
CLRTR1
CLRP3.6
RET1:POPPSW
POPACC
RETI
;;;;;;;;;;;;;;鸣音子程序;;;;;;;;;;;; MINGYIN:SETBP3.6
SETBTR1
RETI
;;;;;;;时间显示程序;;;;;;;;;;; DISPT:MOVR0,#30H
MOVR3,#0F7H
MOVA,R3
PLAYT:MOVP2,A
MOVA,@R0
MOVDPTR,#DSEG1
MOVCA,@A+DPTR
MOVP0,A
LCALLDL1
MOVP2,#0FFH
MOVA,R3
RRA
JNBACC.7,LD1
INCR0
MOVR3,A
LJMPPLAYT
LD1:RET
;;;;;;;;;;比分显示程序;;;;;;;;;;;;;; DISPF:MOVR0,#34H
WORD格式可以任意编辑
MOVR3,#7FH
MOVA,R3
PLAYF:MOVP2,A
MOVA,@R0
MOVDPTR,#DSEG1
MOVCA,@A+DPTR
MOVP0,A
LCALLDL1
MOVP2,#0FFH
MOVA,R3
RRA
JNBACC.3,LD1
INCR0
MOVR3,A
LJMPPLAYF
AJMPLD1
;;;;;;;;;;调时时间显示程序;;;;;;;;;;
DISPW:MOVR0,#24H
MOVR3,#0F7H
MOVA,R3
PLAYW:MOVP2,A
MOVA,@R0
MOVDPTR,#DSEG1
MOVCA,@A+DPTR
MOVP0,A
LCALLDL1
MOVP2,#0FFH
MOVA,R3
RRA
JNBACC.1,LD1
INCR0
MOVR3,A
LJMPPLAYW
DL1:MOVR7,#05H
DL:MOVR6,#0FFH
DL6:DJNZR6,DL6
DJNZR7,DL
RET
WORD格式可以任意编辑
DSEG1:DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
;;;;;;;;;调时子程序;;;;;;;;;;;;;
TIAOSHI:PUSHACC
PUSHPSW
JBP3.3,CHU
LCALLDELAY
JBP3.3,CHU
STOPQ:JNBP3.3,STOPQ
LCALLDELAY
JNBP3.3,STOPQ
IF10:LCALLDISPW
LCALLDISPF
JNBP1.3,DECT
JBP1.0,WHAIT2
LCALLDELAY
JBP1.0,WHAIT2
STOPE:MOVC,P1.0
JNCSTOPE
LCALLDELAY
MOVC,P1.0
JNCSTOPE
INC26H
LJMPSTORE
DECT:MOVC,P1.3
LCALLDELAY
JCWHAIT2
STOPY:MOVC,P1.3
JNCSTOPY
LCALLDELAY
MOVC,P1.3
JNCSTOPY
DEC26H
STORE:MOV21H,26H
MOV20H,#00H
MOVA,26H
MOVB,#0AH
DIVAB
WORD格式可以任意编辑
MOV24H,B
MOV25H,A
MOV30H,#00H
MOV31H,#00H
MOV32H,24H
MOV33H,25H
LJMPIF10
WHAIT2:JBP3.3,IF10
LCALLDELAY
JBP3.3,IF10
STOPG:JNBP3.3,STOPG
LCALLDELAY
JNBP3.3,STOPG
CHU:POPPSW
POPACC
RETI
;;;;;;;;;;交换场地程序;;;;;;;;;;;
CHANGE:PUSHPSW
PUSHACC
JBP3.2,QU
LCALLDELAY
JBP3.2,QU
STOPCH:JNBP3.2,STOPCH
LCALLDELAY
JNBP3.2,STOPCH
MOVA,22H
XCHA,23H
MOV22H,A
MOVA,34H
XCHA,36H
MOV34H,A
MOVA,35H
XCHA,37H
MOV35H,A
QU:POPACC
POPPSW
RETI
END
10k R1
VCC 附 2
B+1 A A+1
C2 330p C1 330p
C3
1uF
X1
A+2 B+2
CRYSTAL
876543 2
1
P1.P71.P61.P51.P41.P31.2
AT89C52
P1.0/T2 A+3 P1.1/T2EX
313029 EA ALE PSEN 9 RST 18 XTAL2 19 U1 XTAL1
:系统原
B+3
B-1A-1
P3.P73/R .P 6D 3/W .P 5R 3/T.41/T0P2.P 72/A .P 61/25A .P 512/4A .P 41/23A .P 31/2A .P 212/1A .P 112/0A .09/A8
P3.P33/I.N P 23T /I .1N P 1/T 3T 0.X 0/D RXDP0.P70/A .P 6D 0/A 7.P 5D /0A 6.P 4D 0/5A .P 3D 0/A 4.P 2D 0/A 3.P 1D /0A 2.0D /1A D0 171615141312111028272625242322213233343536373839
5.1k R5
5.1k R6 1 START\PAUSE SETTIME
2 3 4 CHANGEEFIELD
5 6 7 8 5.1k R4 5.1k R3 RP1
RESPACK-8
R2 5.1K
9 Q1 2N3053
5.1k R7
BUZ1BUZZER
时间
比分
22。