基于AT89C51单片机的篮球赛计时计分器设计毕业设计(论文) - 图文

更新时间:2023-12-26 04:32:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计(论文)

题目:基于AT89C51单片机的篮球赛计时计分器设计

专 业 数码嵌入式技术 班 级 09级3-9

**数字技术学院

2011年

西安数字技术学院毕业论文设计

摘要

单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小、重量轻、能耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用。目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位,许多用单片机做控制的球赛计时计分系统也应运而生,如:用单片机控制液晶显示(LCD)计时计分器,用单片机控制LED七段显示器计时计分器等。篮球计时计分器以单片机为核心,由计时器、计分器、综合控制器等组成。

系统采用模块化设计,主体分为计时显示模块、计分显示模块、定时报警、按键控制键盘模块。每个模块的程序结构简单、任务明确,易于编写、调试和修改。程序可读性好,对程序的修改可局部进行,其他部分可保持不变。编程后利用Keil C51软件来进行编译,再将生成的HEX文件装入芯片中,采用Proteus软件仿真,检验功能是否能够正常实现,随后可用Protel99画出硬件电路图。本设计中系统硬件电路主要由以下几个部分组成:单片机AT89C51、计时电路、计分电路、报警电路和按键开关。

本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置、赛程时间暂停、及时刷新甲乙双方的成绩以及赛后成绩暂存等功能。它具有价格低廉、性能稳定、操作方便并且易于携带等特点,广泛适合各类学校或者小型团体作为赛程计时计分。

关键词:单片机,计时,计分,显示器,

目录

前言 ................................................................................................................... 1 1 系统方案说明 ................................................................................................ 2 1.1方案选择 .................................................................................................... 2

1.1.1篮球赛计时计分器设计的现状 .......................................................... 2 1.1.2 系统总体设计方案 ......................................................................... 2 1.2 系统基本功能介绍..................................................................................... 3 2 系统硬件电路设计 ........................................................................................ 6 2.1篮球赛计时计分电路原理图 ................................................................. 6 2.2篮球赛计时计分器电路工作过程 .......................................................... 6 2.3系统硬件电路组成 ................................................................................. 6 2.3.1计时电路 ............................................................................................ 6 2.3.2计分电路 ............................................................................................ 13 2.4 器件选择及介绍..................................................................................... 16 2.4.1 AT89C51 ........................................................................................ 17 2.4.2 CD4511芯片介绍 ............................................................................. 17 2.4.3 CD4094芯片的介绍 ......................................................................... 17 2.4.4 74LS21芯片介绍 ............................................................................. 17 3 软件编程及调试 ............................................................................................ 18 3.1总体程序设计 ........................................................................................ 18 3.2 初始化程序设计..................................................................................... 18 3.3 计时系统程序设计 ................................................................................. 19 3.4 计分系统程序设计 ................................................................................. 20 3.5系统调试 ................................................................................................ 21 3.5.1软件调试 ............................................................................................ 21 3.5.2仿真调试 ............................................................................................ 22 结 论 ............................................................................................................... 23 附 录 ............................................................................................................... 24 致 谢 ............................................................................................................... 9

参考文献 .................................................................................................... 10

1

西安数字技术学院毕业论文设计

前言

随着单片机在各个领域的广泛应用,许多用单片机做控制的球赛计时计分系统也应运而生,如用单片机控制LCD液晶显示器[1]计时计分器,用单片机控制LED七段显示器计时计分器等。

根据此次课题要求,这里介绍一种篮球赛计时计分器的设计方法,即单片机带外围扩展来驱动数码管工作的电路。采用这种方法可提升学生对单片机接口电路的综合运用能力。电路采用单片机作为核心元件,利用10个7段共阴极LED数码管

[2]

作为显示器件。6个用于记录甲、乙两队的分数,每队

3个,显示分数范围可达0~999分,足够赛程计分的需要。4个用于记录赛程时间,2个用于显示分钟,2个用于显示秒钟。比赛前,将时间设置好,比赛开始时启动计时,直至倒计时到零为止。计时范围达到0~99分钟,能满足实际赛程计时的需要。为了配合计时器调整时间和计分器校正比分,设计了7个按键,4个用于输入甲、乙两队的分数,另3个用于启动和暂停赛程时间。另外,还设计了定时报警系统,即比赛时间到时,扬声器发出报警声提示赛程结束。

该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。设计分为软件设计和硬件设计两部分。主控芯片采用AT89C51,使用汇编语言编写软件程序,主体分为计时显示模块、计分显示模块、定时报警、按键控制模块。编程后利用Keil C51[3]软件来进行编译,再将生成的HEX文件装入芯片中,采用Proteus软件来仿真,检验功能是否能够正常实现,随后可用Protel99画出硬件电路图。

通过本次基于单片机的篮球赛计时计分器的设计,可以了解、熟悉有关单片机开发设计实例的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧。

1

西安数字技术学院毕业论文设计

1 系统方案说明 1.1方案选择

1.1.1篮球赛计时计分器设计的现状

体育比赛计时计分系统是对体育比赛过程中所产生的时间,比分等数据信息进行快速采集记录、加工处理、传递和利用的系统。根据运动项目的不同,比赛规则要求也不同,体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类和得分类等多种类型。

篮球比赛是根据运动队员在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统。篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成的,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现激烈的比赛现场感和表演娱乐等功能目标。现在,根据设计要求,介绍一下设计方案。

1.1.2 系统总体设计方案

根据课题要求,介绍以下两种设计方法。一种是单片机带外围扩展,驱动数码管工作的电路,可提升学生对单片机接口电路的综合运用能力;另一种是单片机直接驱动数码管工作的电路,该电路成本相对较低。两种电路都以单片机作为核心元件,利用10个7段共阴极LED数码管作为显示器件。6个用于记录甲、乙两队的分数,每队3个,显示分数范围可达0~999分,足够赛程计分的需要。4个用于记录赛程时间,2个用于显示分钟,2个用于显示秒钟。比赛前,将时间设置好,比赛开始时启动计时,直至倒计时到零为止。计时范围达到0~99分钟,能满足实际赛程计时的需要。为了配合计时器调整时间和计分器校正比分,设计了7个按键,4个用于输入甲、乙两队的分数,另3个用于启动和暂停赛程时间。另外,还设计了定时报警系统,即比赛时间到时,扬声器发出报警声提示赛程结束。

二者的不同之处在于计时电路。前一种计时电路主要由按键开关、单片

2

西安数字技术学院毕业论文设计

机AT89C51[4]、译码器及LED显示器构成。当调时开关(十位)按下时产生一个低电平,对应调分(十位)控制端P2.0的LE输出高电平,表示可以向CD45ll的调分位(十位)发送数据,将要显示数据的代码经P1.0送到CD4511的A另— 端,送完后将LE清零。调时按键开关每按一次,数字自动加1。直到调到需要设置的时间即可。调时(个位)的操作方法与之相同。时间设置完后,启动定时器。如果比赛中暂停,按一下暂停键即可暂停计时。后一种计时电路主要由按键开关、单片机AT89C51及LED显示器构成,采用双电源供电。单片机采用+5V,数码管采用+15V采用单片机直接驱动数码管显示。当按下秒钟加1按键时,秒计时显示加1;当按下秒钟减1按键时, 秒计时显示减1;当按下分钟加1按键时,分钟显示加1,当按下分钟减1按键时,分钟显示减1。时间设置完后,启动定时器开始倒计时。如果比赛中裁判叫暂停,则只要按一下暂停键,即可暂停计时。根据此次设计的实验条件及设计目的,我采用前一种方案,即单片机带外围扩展驱动数码管工作的电路系统。球赛计时计分器系统图如1-1图所示。

图1-1 系统构成图

1.2 系统基本功能介绍

3

西安数字技术学院毕业论文设计

本设计要实现的基本功能有:赛程时间设置,赛程时间启/停设置,比分交换控制,比分刷新控制,计时计分显示,赛程结束报警。以下对个功能进行介绍。

1、赛程时间设置

在计时电路中,按键开关K5、K6用来设置赛程时间。比如:比赛时间上半场时间20分钟,则通过按键K5键,使数码管1显示“2”即可;再按K6键,设置比赛时间的个位数,使数码管2显示“0”即可。一般比赛时间为40分钟,所以只需要按K5键使数码管1显示“4”,按K6使数码管2显示“0”即可。时间设置好后,等待比赛开始。

当比赛结束时,如果由于一些特殊原因需要增加比赛时间,这时增加比赛时间同样由按键K5、K6来设置,并且设置方法与上面所述一眼,但一般情况下只需要按K6键来设置即可,因为加时比赛一般只有几分钟而已。

2、赛程时间启动/暂停设置

当时间设置完成后,比如设置赛程时间为45分钟,则在LED显示器上显示为4500,45表示分钟,00表示秒钟。这时,如果裁判吹响开始的哨声时,则应立即按下按键K7,表示赛程开始,计时显示则由4500变成4459,4458??一直计时直到计为0000时表示赛程结束。按键K7为赛程启动和暂停控制。

3、比分交换控制

比分交换控制由计时电路图2-5中所示的K7键完成。我们知道,因为比分交换是在上半场赛程结束后进行的,也就是说比分交换要受赛程时间控制,只有当上半场计时器指示为0000时,按K7键,则会自动交换甲、乙两队的比分。如果上半场赛程时间没有到0000时,则此时按下K7键,只会暂停比赛,不能交换分数。如果要继续比赛,再按一次K7即可。因此,K7键完成三重功能,即:启动,暂停,比分交换。

4、比分刷新控制

由于在比赛中,甲、乙两队的比分是不断在变化的,所以需要设置比分刷新控制装置;此部分功能由计分电路图2-9中的所示的按键开关K1~~K4来完成的:

4

西安数字技术学院毕业论文设计

K1键:完成甲队加1分操作 K2键:完成甲队减1分操作 K3键:完成乙队加1分操作 K4键:完成乙队减1分操作 5、计时计分显示

计时计分显示器是采用七段共阴极LED显示器来显示的。其中计分是用6个LED显示器。计时采用4个LED显示器;显示格式为000000和0000。

6、赛程结束报警

当比赛结束时,系统会自动发出10秒钟报警声,提示赛程结束。

5

2 系统硬件电路设计

2.1篮球赛计时计分电路原理图

用Protel99 SE设计的电路原理图见附录3,PCB版图见附录1。

2.2篮球赛计时计分器电路工作过程

整个篮球计时计分器的工作过程如下:首先在比赛之前,接通电源,系统自动复位,此时计时电路与计分电路中的共阴极数码管分别显示为0000和000000;然后我们按照计时电路图2-5中的K5键来设置比赛时间的十位数,再按下K6键,设置比赛时间的个位数字,使数码管2显示“0”即可。一般比赛时间为40分钟,所示只需要按下K5键显示“4”,按下K6键显示“0”即可。时间设置好时,等待赛程开始,当裁判吹响哨声时,启动计时,这时计时电路便开始工作,计时采用倒计时方式,即从20分钟减为0分钟表示上半场结束。上半场结束时,蜂鸣器会发出10秒钟响声,通知上半场结束,这时按下K7键,便完成了甲、乙两队的分数交换。在整个赛程中,我们还要对两队比分进行及时刷新,这时我们通过计分电路图2-9中的K1~K4键完成此功能,K1和K2键完成甲队加分、减分,K3和K4键完成乙队加分、减分。按键每按一下,表示加上或者减去1分。由于加分、减分我们采用中断完成,且加、减分的中断优先权小于计时电路中的中断优先权,所以不会对计时电路造成影响。如果在赛程过程中,一方的教练申请暂停时,经裁判批准,我们立即按下K7键,即可以暂停计时,暂停时间到时,再按下K7键继续计时,直至上半场赛程结束,蜂鸣器会发出10秒的响声。下半场的流程和上半场基本上是一样的。

2.3系统硬件电路组成

2.3.1计时电路

1.显示器及其接口

显示器是最常用的输出设备,其种类繁多,但在单片机系统设计中最常用的是发光二极管显示器(LED)和液晶显示器(LCD)两种。由于这两种显示器结构简单,价格便宜,接口容易实现,因而得到广泛的应用。下面介绍发光二

6

西安数字技术学院毕业论文设计

极管显示器(LED)的结构、工作原理及其接口电路。

(1)LED结构与原理 图2-1为典型的数码管。

图2-1 7段LED数码管

图2-2 共阴极与共阳极LED显示器

如图2-1,LED显示器又称为数码管,LED显示器由8个发光二极管组成。中7个长条形的发光管排列成“日”字形,另一个点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。如图2-2所示。本设计采用的是共阴极数码管显示。

(2)LED显示器显示方式

点亮LED显示器有两种方式:一是静态显示;二是动态显示。在本次设计中,采用的是静态显示。

所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口[5]用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,

7

西安数字技术学院毕业论文设计

图2-6 时钟振荡电路

图2-7 外部时钟电路

本次设计使用的是石英晶体谐振器,因此采用30pF的电容,频率大小采用12MHZ与6MHZ均可,这里采用的是12MHZ晶振。

2.3.2计分电路

8051系列单片机除了有4个8位并行口外,还有一个能同时进行串行发送和接收的全双工串行通信口。它能同时发送和接收数据,还能作为同步移位寄存器使用。球赛计分电路正是利用了8051单片机串行口可以外接串行输入并行输出移位寄存作用为输出口来实现球赛比分刷新显示的。

1.串行接口工作原理

MCS-51[9]系列单片机片内有一个串行I/O端口,通过引脚 RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信。

8051的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一种方式。其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1多用于双机之间或者与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统[10]。串行端口有两个控制寄存器(SCON[11]和PCON[12]),用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。

串行端口有一个数据寄存器SBUF[13] (在特殊功能寄存器中的字节地址为99H),该寄存器为发送和接收所共同。发送时,只写不读;接收时,只读不写。在一定条件下,向SBUF写入数据就启动了发送过程;读SBUF就启动了接收过程。串行通信的波特率可以程控设定。在不同工作方式中,由时钟振荡频率的分频可由定时器T1的溢出率[14]确定,使用十分方便灵活。

本次设计的计分电路中,我们使用集成电路CD4094。CD4094是8位移位

13

西安数字技术学院毕业论文设计

寄存器,它主要完成串行输入,并行输出8位数据的功能,是典型的串行/并行转换芯片。

其中引脚分布图将在后面图2-9介绍。其中2脚DATA为串行数据输入脚;3脚CLOCK为时钟脉冲输入;4、5、6、7、14、1、3、12、11脚为并行8位数据输出,前7脚与LED显示器的a~g引脚相连,11脚置空;8脚接地;16脚接电源5V。

2.比分校正控制电路

本次设计中的比分校正控制电路由四输入与门74LS21和4个按键组成,其中K1、K2键接 74LS21的9、10脚,完成甲队加、减分控制;K3、K4键接74LS21的12、13脚,完成乙队加、减分控制。有关74LS21集成电路的引脚分布及内部原理构造如图2-8所示。

图2-8 74LS21引脚图

74LS21芯片的主要引脚说明: 14脚为电源脚 7脚接地

1、2、4、5、9、10、12、13为与门输入脚 6、8脚为与门输出脚 3.计分电路原理图

计分电路原理图如图2-9所示。

14

4.计分电路的工作原理

西安数字技术学院毕业论文设计

图2-9 计分电路原理图

8脚接AT89C51的P3.2脚。当按键开关K1~K4这四个按键的任何一个一位按

显示器,74LS21以及按键开关组成。其工作过程如下:按键开关K1~~K4组成

甲、乙两队加减分控制。按键K1~K4一端接地,另一端输入与门74LS21的9

计分电路主要由单片机AT89C51,串行/并行转换器[15](CD4094),LED

下时,与门的8脚输出都会产生低电平使单片机中断,从而使相应LED显示。

脚,10脚,12脚,13脚,以及单片机AT89C51的P3.5,P3.4,P0.2,P0.1,

15

西安数字技术学院毕业论文设计

因为按键开关按下时为低电平。

例如:现在先在以甲队加分为例,来说明整个过程。假设比赛刚开始,双方比分为000 :000,当某一时刻之后,当甲队加分时,则按下K1键,这时K1=0(低电平),其余K2K3K4=111(为高电平)K1K2K3K4相与之后的结果为低电平,这时与门8脚输出的低电平到AT89C51的P3.2脚,使其外部中断INT0[16]发生中断,从而调用中断服务程序,将要显示的数据从程序中定义的LED显示常数表TAB中取出数据06H(因为LED显示常数表TAB的偏移地址为36H,36H首先是指向LED显示常数表TAB中第一个数据3FH的,当K1按下时,相当于将33H地址加1,这时便指向第二数据06H,即对应字母代码关系表中的加1)。

经串行发送端RXD/P3.0送至串行/并行转换器CD4094的第二个输入引脚,即数据输入DATA脚。由于串行口的工作方式设置为方式0。所以在串行数据通过RXD/P3.0引脚输出时,则TDX/P3.1引脚会输出多位时钟作为移位脉冲。将8位数据顺利送到串行/并行转换器CD4094中。另外,在RXD/P3.0引脚输出数据的同时,单片机AT89C51的P3.7引脚输出高电平给串行/并行转换器CD4094的第1个引脚STR(使能端控制),使前一片CD4094中的8位数据从QS移位至下一片CD4094输入端的第2引脚,即DATA引脚。在RXD/P3.0引脚输出数据的过程中,连续使单片机RD/P3.7引脚输出6次高电平6,这样便使6片CD4094中得到不同的显示代码,然后使单片机RD/P3.7引脚输出为低电平,将6片CD4094中显示代码送LED显示器显示,便得到结果,显示为001 000。

其对应的程序原理如下阐述:

因为,在程序中定义了33H,34H,35H,36H,37H,38H,6地址单元分别对应乙队、甲队3个LED显示器在程序中定义的LED显示常数表TAB的偏移首地址。单片机的RXD每次发送6个数据,分别对应以33H,34H,35H,36H,37H,38H为偏移首地址单元里的数据。例如:甲队加分表示以36H为偏移首地址的单元加1,指向第二个数据06H,其他以33H,34H,35H,37H,38H为偏移首地址单元的数据仍然指向第一个数据3FH,这样将这六个数据:3FH,3FH,3FH,06H,3FH,3FH,经单片机的RXD发送出去,再在单片机RD/P3.7输出的6次高电平作用下产生6次移位,便在6片CD4094中得到显示代码:3FH,3FH,06H,3FH,3FH,3FH。然后在RD/P3.7输出时显示为001 000。

2.4 器件选择及介绍

本系统在设计的过程中主要选取了以下一些器件: 单片机:AT89C51

16

西安数字技术学院毕业论文设计

四一七段BCD译码芯片:CD4511 并行 / 串行转换芯片:CD4094 四输入与门:74LS21

显示器件:7段共阴极LED显示器 按键:欧姆龙按键

2.4.1 AT89C51

AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash[17]只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。

2.4.2 CD4511芯片介绍

在本次设计中,由于只要求LED显示器显示0~9这十个数字,因此我们选用CD4511为LED显示器的译码芯片。

CD4511是将锁存、译码、驱动三种功能集于一身的“三合一”电路。锁存器的作用是避免在计数过程中出现“跳数现象”,便于观察和记录。译码器将BCD码转换成7段码,再经过大电流反相器,驱动共阴极LED数码管。译码器属于非时序电路,其输出状态与时钟无关,仅取决于输入的BCD码。

2.4.3 CD4094芯片的介绍

在本次设计的计分电路中,我们使用集成电路CD4094。CD4094是8位移位寄存器,它主要完成串行输入,并行输出8位数据的功能,所以又叫8位串/并转换器。

2.4.4 74LS21芯片介绍

本次设计中的比分校正电路采用四输入与门74LS21来实现。74LS21是双4输入与门。在一个芯片里有两个相同的单元,其中一个任何一个都是1/2断口。同型号的74系列、74HC系列、74LS系列芯片,逻辑功能上是一样的。

17

本文来源:https://www.bwwdw.com/article/yd9x.html

Top