基于51单片机的篮球计分器.docx

上传人:b****5 文档编号:8164125 上传时间:2023-01-29 格式:DOCX 页数:17 大小:581.78KB
下载 相关 举报
基于51单片机的篮球计分器.docx_第1页
第1页 / 共17页
基于51单片机的篮球计分器.docx_第2页
第2页 / 共17页
基于51单片机的篮球计分器.docx_第3页
第3页 / 共17页
基于51单片机的篮球计分器.docx_第4页
第4页 / 共17页
基于51单片机的篮球计分器.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于51单片机的篮球计分器.docx

《基于51单片机的篮球计分器.docx》由会员分享,可在线阅读,更多相关《基于51单片机的篮球计分器.docx(17页珍藏版)》请在冰豆网上搜索。

基于51单片机的篮球计分器.docx

基于51单片机的篮球计分器

毕业设计目录

1.引言.........................................................1

2.背景知识介绍.................................................1

2.1AT89C51简介............................................1

2.2数码管显示原理..........................................4

2.3振荡电路和复位电路......................................5

2.4系统总体方案............................................5

3.编程设计.....................................................6

3.1定时/计数器.............................................6

3.2程序流程图..............................................7

3.3程序分析................................................9

4.Proteus软件仿真............................................11

4.1Proteus仿真软件简介...................................11

4.2仿真过程..............................................12

5.结束语.....................................................14

参考文献......................................................15

致谢..........................................................17

附录..........................................................18

全文共17页共5690字

基于五一单片机的篮球计分器

摘要:

篮球计分系统采用单片机AT89C51为编程控制元件,采用7段共阳LED作为显示器件。

并且接入了四个开关按钮,当比赛队得1分时,按下开关S1键加1分,得2分时按开关S2键加2分,得3分时按下开关S3键加3分。

如分数计错需减分时,每按一次开关S4键减1分。

2个7段数码显示管显示范围可达到0~99分,基本满足赛程需要。

它具有价格低廉,性能稳定,操作方便并且易于携带等特点。

广泛适合各类学校或者小型团体作为赛程计分。

关键词:

51单片机;七段数码;仿真

中图分类号:

TN86文献标识码:

A

1引言

体育比赛计分系统是对体育比赛过程中所产生的时间,比分等数据进行快速采集记录,加工处理,传递利用的信息系统。

篮球比赛计分器是为了解决篮球比赛时计分准确的问题。

此装置利用单片机AT89C51完成了计分的功能。

本文介绍了系统硬件与软件的设计过程,主体是由AT89C51编程控制LED七段数码管作显示的球赛计分系统。

采用单片机控制是这个系统按键操作使用简洁,安装方便。

解决了篮球比赛计数器的安装问题,节约了线材,适合在各种规模的体育场馆使用,当然稍加改动也可以用于其他球类比赛,是体育器材向智能化发展的一个实例。

2背景知识介绍

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

概括的讲:

一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。

单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O口等计算机所需要的基本部件的大规模集成电路,又称MCU。

其以体积小、功能全、性价比等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。

如果说C语言程序设计课程设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。

单片机的硬件特性:

  a.单片机集成度高。

单片机包括CPU、4KB容量的ROM、128B容量的RAM、2个16位定时/计数器、4个8位并行口、全双工串口行口。

  b、系统结构简单,使用方便,实现模块化;

c、单片机可靠性高,可工作到10^6~10^7小时无故障;

d、处理功能强,速度快。

2.1AT89C51简介

80C51系列单片机已有十多年的生命期,如今仍保持着上升的趋势,就充分证明了这一点。

单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。

并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制、自动化系统等、智能型家用电器等。

而美国ATMEL公司开发生产了新型的8位单片机——AT89系列单片机。

他不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点,此次设计中所用到的AT89C51就是其中典型的代表。

其管脚图如右图所示。

管脚说明:

  VCC:

供电电压。

  GND:

接地。

  P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P0口的管脚第一次写1时,被定义为高阻输入。

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编程和校验时接收高八位地址信号和控制信号。

  P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

  P3口也可作为AT89C51的一些特殊功能口,如下表所示:

  口管脚备选功能

  P3.0RXD(串行输入口)

  P3.1TXD(串行输出口)

  P3.2/INT0(外部中断0)

  P3.3/INT1(外部中断1)

  P3.4T0(记时器0外部输入)

  P3.5T1(记时器1外部输入)

  P3.6/WR(外部数据存储器写选通)

  P3.7/RD(外部数据存储器读选通)

  P3口同时为闪烁编程和编程校验接收一些控制信号。

  RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

  ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

  /PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

  /EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

  XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

2.2数码管显示原理

数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。

我们分别把他命名为A,B,C,D,E,F,G,H。

如图2.2。

图2.2数码管内部结构图

假设我们要显示一个数字3,那么A,B,C,D,G这5个段的发光管亮就可以了,E、F、H不亮,同时由于接法为共阳接法,那么为低电平是亮,为高电平是灭。

从高往低排列,P1.7-P1.0写成二进制为10110000,把他转化为16进制则为B0H。

我们可以根据硬件的接线把数码管显示数字编制成一个表格,见下表,以后直接调用就行了。

表2.1共阳极数码管显示

显示

P1.7

小数点

P1.6

G

P1.5小F

P1.4

E

P1.3

D

P1.2

C

P1.1

B

P1.0

A

HE代码

0

1

1

0

0

0

0

0

0

C0H

1

1

1

1

1

1

0

0

1

F9H

2

1

0

1

0

0

1

0

0

A4H

3

1

0

1

1

0

0

0

0

B0H

4

1

0

0

1

1

0

0

1

99H

5

1

0

0

1

0

0

1

0

92H

6

1

0

0

0

0

0

1

0

82H

7

1

1

1

1

1

0

0

0

F8H

8

1

0

0

0

0

0

0

0

80H

9

1

0

0

1

0

0

0

0

90H

数码管的接口有静态接口和动态接口两种。

静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阳接VCC,本次课程设计由于所需数码管较少,故可用些种方法接线。

这种接法占用接口多,仅能接少量数码管。

2.3振荡电路和复位电路

晶振是给单片机提供工作信号脉冲的.这个脉冲就是单片机的工作速度.本文采用12M晶振.单片机工作速度就是每秒12M。

图2.3晶振电路和复位电路

2.4系统总体方案

因所设计的篮球计分器功能较少,电路结构也相对简单。

只有两个部分:

开关控制和数码管的显示。

P0口接四个开关,分别作为比分+1、+2、+3、-1的控制按键;P1口和P3口分别按静态接口方法接两个数码管来显示比分。

采用数码管静态接法,P3口接数码管个位显示、P1口接数码管十位显示、P0口接四个开关,中间串接上电阻来作分压用,使得其高低电平能够清楚的分开从而可以实现开关上高低电平的跳变,使数码管工作。

如图2.4。

电路原理图:

图2.4电路原理图

3编程设计

3.1定时/计数器

篮球比赛计分器其实就是一个计数器,本次课程设计就是利用单片机中的定时/计数器来实现其计分的功能。

在51单片机中有两个16位的定时/计数器T0,T1,分别由TH0、TL0和TH1、TL1组成,它们均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。

它们用于存放定时或计数的初始值。

此外,内部还有一个8位的方式寄存器TMOD和一个8位的控制寄存器TCON。

用于选择和控制定时/计数器的工作。

其格式见表3-1A和3-2B。

表3-1A方式控制寄存器TMOD

GATE

C/T

M1

M0

GATE

C/T

M1

M0

门控开关

计数/定时

方式选择

门控开关

计数/定时

方式选择

表3-2B控制寄存器

TF1

TR1

TF0

TRO

IE1

IT1

IE0

IT0

T1请求

有/无

T1工作

启/停

T0请求

有/无

T0工作

启/停

INT1请求有/无

INT1方式下沿

INT1请求有/无

INT1方式下沿

篮球比赛计分器利用单片机的计数器进行工作,计数器对外部脉冲的下降沿进行加1计数,直至计满回零。

作为可编程器件,单片机中的定时/计数器初始化编程步骤如下:

根据定时时间要求或计数要求计算计数器初值;

将工作方式控制字写入TMOD寄存器;

将计数初值写入THX和TLX寄存器;

启动定时器/计数器,即将TRX置位。

如果工作于中断方式,需置位EA(中断总开关)及ETX(允许定时/计数器中断),并编写中断服务程序。

3.2程序流程图

篮球比赛中,得分可分为1分、2分、3分三种情况,为防止出见加分错误要另设一减分开关。

根据这样的设计要求,结合数码管的显示以及51单片机中计数器的工作实现方式、接口应用、中断控制等可设计出程序流程图3.2所示:

图3.2简易篮球比赛计分器

3.3程序分析

数码管的显示,在TAB中加入数码管显示数字时对应的16进制数

MOVDPTR,#TAB

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H

DB92H,82H,0F8H,80H,90H

数码管显示程序:

MOVA,R0

MOVB,#10

DIVAB

MOVCA,@A+DPTR

MOVP1,A

MOVA,B

MOVCA,@A+DPTR

MOVP3,A

由于需要四个开关,取出A中的低四位来接开关,用ANL命令实现。

其程序如下:

MOVA,P0

ANLA,#0FH

CJNEA,#0FH,KEY1

SJMPSTART

四个开关加1、加2、加3、减1,直接通过加法在累加器中实现,以开关1为例,程序如下:

MOVR1,#1

MOVA,R0

ADDA,R1

MOVR0,A

程序清单

ORG0000H

MOVR0,#0

MOVDPTR,#TAB

START:

MOVA,P0

ANLA,#0FH;取A的低四位

CJNEA,#0FH,KEY1

SJMPSTART

KEY1:

LCALLDELAY;调用延迟子程序

MOVA,P0;确认按键是否确实按下

ANLA,#0FH

CJNEA,#0FH,KEY2

SJMPSTART

KEY2:

JNBACC.0,K1;确认按下的是哪个开关

JNBACC.1,K2

JNBACC.2,K3

JNBACC.3,K4

LJMPSTART

K1:

MOVR1,#1;分别输入不同数值对应不同开关

LJMPADDOPR

K2:

MOVR1,#2

LJMPADDOPR

K3:

MOVR1,#3

LJMPADDOPR

K4:

DECR0

LJMPWAIT

ADDOPR:

MOVA,R0;与值相加

ADDA,R1

MOVR0,A

WAIT:

MOVA,P0

ANLA,#0FH

CJNEA,#0FH,WAIT

MOVA,R0

MOVB,#10

DIVAB

MOVCA,@A+DPTR

MOVP1,A

MOVA,B

MOVCA,@A+DPTR

MOVP3,A

LJMPSTART

DELAY:

MOVR6,#15;延时子程序

DEL2:

MOVR7,#200

DEL1:

DJNZR7,DEL1

DJNZR6,DEL2

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H

DB92H,82H,0F8H,80H,90H

4Proteus软件仿真

4.1Proteus仿真软件简介

Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

Protues提供了丰富的资源:

仿真元器件资源:

仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。

仿真仪表资源:

示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。

理论上同一种仪器可以在一个电路中随意的调用。

Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。

这些虚拟仪器仪表具有理想的参数指标。

另外Proteus还提供了比较丰富的测试信号用于电路的测试。

这些测试信号包括模拟信号和数字信号。

在Protues中进行电路仿真时,先绘制好原理图,再调入已编译好的目标代码文件:

*.HEX,随后便可在PROTEUS的原理图中模拟的实物运行状态和过程,进行观察从而改良自己的设计方案。

操作简单。

4.2仿真过程

在用Protues进行仿真之前,先要用KEIL软件将我们编写好的汇编程序编译。

具体方法是先新建一工程工作项目,建立工程名,新建程序文件,然后输入源代码语句,保存代码并添加到构造组中(sourceground1),在输出设置中,选择输出HEX文件,其中*.HEX文件就是我们所需要的,在之后电路设计好后用于放入AT89C51中执行其功能。

在生成*.HEX文件后,进入Protues软件,此时软件已自动打开一新建项目。

我们可直接在其中构建电路图,点击板面左侧按键P,在弹出的Pickdevices对话框中进行元器件的选择,如图4.2A。

图4.2A查找元器件

元器件都找到后,先进行排版再按照电路图连接,如连接好后如图4.2B所示:

图4.2B仿真电路图

在电路连接好后,双击AT89C51在弹出对话框中选择单片机中要输入的程序,见图4.2C。

图4.2C向AT80C51中加入程序

在输入程序后,即可开始进行仿真了,选择执行后点击开关可观察到数码管亮,并能实现加1、加2、加3、减1的功能。

图4.2D仿真结果图

5结束语

在仿真成功之后,便可进行实践了。

实物和仿真还是有一定的差别的,制作实物时要考虑的方面比仿真多的多。

做实物时,不仅要考虑到电路正确同时也要注意版面的设计,不仅设计功能要求实现,版面的美观也是必不可少的一方面,这就要注意尽量少的接线。

由于制作是考虑不周到,版面的排布不够合理,其次选择的连线也比较粗硬,导致背部比较凌乱而且容易断线。

事前的考虑看起来是麻烦而且没必要的,事实证明,在之后的工作却能减少许多不必要的浪费,包括时间包括材料。

通过这次毕业设计,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。

参考文献:

[1]肖洪兵.《跟我学用单片机》.北京:

北京航空航天大学出版社,2002.8

[2]何立民.《单片机高级教程》.北京:

北京航空航天大学出版社,2001

[3]赵晓安.《MCS-51单片机原理及应用》.天津:

天津大学出版社,2001.3

[4]李广第.《单片机基础》.北京:

北京航空航天大学出版社,1999

[5]徐惠民.《单片微型计算机原理接口与应用》.北京:

北京邮电大学出版社,1996

 

BasedonthebasketballJiFenQimaysingle-chipmicrocomputer

xxx(StudentID:

0000000)

(ClassofElectronicInformation,Grade2007,CollegeofPhysicsandElectronicInformation,InnerMongoliaNormalUniversity,Hohhot,InnerMongolia010022)

Director:

xxx

Abstract:

ThebasketballscoringsystemusesmonolithicintegratedcircuitAT89C51istheprogrammingcontrollingelement,uses7sectionofaltogetherpositiveLEDtotakethedisplaydevice.Andhasturnedonfourswitchbuttons,whencompetitionteam1timesharing,pressesdowntheswitchS1keytoadd1point,2timesharingadd2pointsaccordingtotheswitchS2key,3timesharingpressdowntheswitchS3keytoadd3points.Iftheminutecalculateswrongmustreducetimesharing,pressesatimeswitchS4keytoreduce1pointeverytime.two7sectionofdigitaldisplaytubesdemonstratedthatthescopemayamountto0~99points,meetsthecompetitionscheduleneedsbasically.Ithasthelowinprice,thestableproperty,theeaseofoperation,andeasytocarryandsooncharacteristics.Widelysuitseachkindofschoolorthesmallassociationtakesthecompetitionschedulescoring

KeyWords:

51SCM;sevensegmentdigital;simulation

致谢

在此谨向郭老师致以诚挚的谢意,感谢导师的悉心指导和不懈的支持!

同时也感谢xxx,xx,xxx等同学,从开始进入课题到论文的顺利完成,他(她)们给了我许多无言的帮助,在这里请接受我诚挚的谢意!

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1