毕业设计学院检测通过篮球电子计记分器.docx
- 文档编号:10924834
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:23
- 大小:779.91KB
毕业设计学院检测通过篮球电子计记分器.docx
《毕业设计学院检测通过篮球电子计记分器.docx》由会员分享,可在线阅读,更多相关《毕业设计学院检测通过篮球电子计记分器.docx(23页珍藏版)》请在冰豆网上搜索。
毕业设计学院检测通过篮球电子计记分器
编号
闽西职业技术学院
专科生毕业设计
基于单片机篮球赛计分器设计
Microcontroller-baseddesignbasketballscoring
学生姓名:
专业:
移动通信技术
学号:
26、05、19
指导教师:
系别:
计算机系
2011年1月
摘要
篮球比赛计分器是为了解决篮球比赛时计分准确的问题。
此装置利用单片机AT89C51完成了计分的功能。
本文详细地介绍了系统硬件与软件的设计过程,设计由AT89C51编程控制LED七段数码管作显示的球赛计分系统。
该系统具有赛程及时刷新甲、乙双方的成绩以及分数交换、复位功能。
它具有价格低廉,性能稳定,操作方便并且易于携带等特点。
广泛适合各类学校或者小型团体作为赛程计分。
关键词:
单片机篮球赛计分
ABSTRACT
Scoringbasketballgameistosolvethegameofbasketballwhentheissueofaccuracy.ThisdeviceiscompletedusingAT89C51single-chipscoringfunctions.Thisarticledescribesindetailthesystemhardwareandsoftwaredesignprocess,designbyAT89C51programmingcontrolforLEDSeven-SegmentLEDdisplaysubsystemofthegame.refreshintimeA,B,andafterthetwosidesachievedatemporarysuccessfunctions.Itisinexpensive,stableperformance,easytooperateandeasytocarryandsoon.Awiderangesuitableforalltypesofschoolsorsmallgroups.
Keywords:
MCUBasketballBasketballScoreboard
目录
摘要1
Abstract1
目录I
第一章引言-1-
1.1背景知识介绍-1-
1.2设计意义-1-
1.3设计目的-1-
第二章系统硬件介绍-2-
2.1单片机系列简述-2-
2.1.1单片机AT89C51简介-2-
2.1.2管脚说明-3-
2.2显示器及其接口-3-
2.2.1显示器介绍-3-
2.2.2结构与原理-4-
2.2.3LED显示器显示方式-4-
第三章硬件电路设计-5-
3.1系统方案设计-5-
3.1.1器件选择-5-
3.2硬件总体设计-5-
3.3计分电路部分-6-
3.3.1计分电路的工作原理-6-
第四章篮球计分器软件设计-7-
4.1球赛计分器的工作过程-7-
4.2篮球计分器编程设计-7-
4.2.1记分部分模块流程-7-
4.3篮球计分器程序源代码-8-
结论-14-
参考文献-15-
致谢-16-
附录………………………………………………………….....................................................-21-
第一章引言
1.1背景知识介绍
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
1.2设计意义
单片机的应用是具有高度现实意义的。
单片机极高的可靠性,微型性和智能性(我们只要编写不同的程序后就能够完成不同的控制工作),单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中。
通过此次基于单片机设计的篮球计分系统,我们可以更清楚详细的了解单片机程序设计的基本指令功能、编程步骤和技巧来讲述单片机编程,并对AT89C51单片机的结构和原理进行讲述,以及基于单片机开发应用的相关芯片的工作原理,并且可以在将来的工作和学习中加以应用。
1.3设计目的
随着单片机在各个领域的广泛应用,许多用单片机做控制的球赛计分系统也应运而产生,用单片机控制LED七段显示器计分器等。
本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计分系统。
该系统具有及时刷新甲、乙双方的成绩以及赛后分数交换、复位功能。
它具有价格低廉,性能稳定,操作方便并且易于携带等特点。
广泛适合各类学校或者小型团体作为赛程计分。
通过本次基于C51系列篮球计分器的设计,可以了解、熟悉有关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下一些方面:
(1)可以了解到LED显示器的结构、工作原理以及这种显示器的接口实例与具体连接与编程方法。
(2)怎样利用并行口来扩展显示接口等。
第二章系统硬件介绍
2.1.1单片机AT89C51简介
本课题中用到的芯片就是AT系列中的AT89C51单片机芯片。
AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。
AT89C51具有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
它是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
如图所示图2-1为AT89C51单片机基本构造,其基本性能介绍如图2-1:
图2-1AT89C51引脚图
图2-2AT89C51结构框图
AT89C51本身内含40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
2.1.2管脚说明
VCC:
供电电压。
GND:
接地。
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)这是由于上拉的缘故。
RST:
复位输入。
2.2显示器及其接口
2.2.1显示器介绍
显示器是最常用的输出设备,其种类繁多,但在单片机系统设计中最常用的是发光二极管显示器(LED)和液晶显示器(LCD)两种。
由于这两种显示器结构简单,价格便宜,接口容易实现,因而得到广泛的应用。
液晶显示器分很多种类,按显示方式可分为段式,行点阵式和全点阵式。
段式与数码管类似,行点阵式一般是英文字符,全点阵式可显示任何信息,如汉字、图形、图表等。
两者之间的区别:
(1)二极本身发光,液晶本身不发光,只是透射光。
(2)二极管体积大,图像质量一般,适合作室外大屏幕,价格较低。
液晶成本较高,面积无法做得很大,但图像质量很好,适合做显示器。
(3)二极管耗电大,液晶耗电小。
(4)二极管图像刷新率低,液晶的高
2.2.2结构与原理
图2-27段LED数码管
如图2-2,LED显示器又称为数码管,LED显示器由4个发光二极管组成。
中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。
LED显示器有两种不同的形式:
一种是4个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是4个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。
2.2.3LED显示器显示方式
点亮LED显示器有两种方式:
一是静态显示;二是动态显示。
在本次设计中,采用的是动态显示。
这种电路的优点在于:
在同一时间可以显示不同的字符;但缺点就是占用端口资源较多。
从上图可以看出,LED显示器需要占用16根端口线,因此,在数据较多的时候,往往不采用这种设计,而是采用动态显示方式。
所谓动态显示,就是将要显示的多位LED显示器采用一个8位的段选端口,然后采用动态扫描一位一位地轮流点亮各位显示器。
图2-3为4位LED显示器动态显示电路。
第三章硬件电路设计
系统硬件由以下几个部分组成:
(1)单片机AT89C51
(2)计分电路
(3)按键开关
说明:
整个系统只用一片AT89C51;在图中将电路计分电路分开画,只是为了能够更好的更清晰的说明问题;并且在整个画图过程中将AT89C51引脚打乱是为了使图示能够更加的清晰明了。
3.1系统方案设计
本系统采用单片机AT89C51作为本设计的核心元件。
利用7段共阳LED作为显示器件。
在本次设计中,共接入4个七段共阳LED显示器用于记录甲、乙两队的分数,每队3个LED显示器分数范围可达到0—99分,足够满足赛程需要。
其次,为了配合计分器校正比分,特在本设计中设立了7个按键。
其中4个用于输入甲、乙两队的分数;另外3个则用于完成分数交换、复位功能、系统复位。
3.1.1器件选择
本系统在设计的过程中主要选取了以下一些器件:
单片机:
AT89C51
显示器件:
7段共阳LED显示器
按键:
欧姆龙按键
3.2硬件总体设计
这次设计的核心是:
如何运用AT89C51单片机,7段共阳LED显示数码管等电子元件完成显示设计在电路上的实现。
从理论上说,不论显示图形还是文字,只要控制与组成这些图形和文字的各个点所在位置对应的LED器件发光,就能得到结果。
本次设计采用的是动态驱动方式。
所谓静态驱动,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。
这种电路的优点在于:
在同一时间可以显示不同的字符;但缺点就是占用端口资源较多。
图3-2计分电路图
3.3计分电路部分
89C51单片机除了有4个8位并行口外,还有一个能同时进行串行发送和接收的全双工串行通信口。
它能同时发送和接收数据,还能作为同步移位寄存器使用。
球赛计分电路正是利用了89C51单片机并行口可以外接并行输出作用为输出口来实现球赛比分刷新显示的。
3.3.1计分电路的工作原理
计分电路主要由单片机AT89C51,LED显示器,按键开关组成。
其工作过程如下:
按键开关S1~~S4组成甲、乙两队加减分控制。
按键S1~~S4一端接地,另一端AT89C51的P1.0~P1.3。
当按键开关S5和S6两个按键的任何一个一位按下时,与门的8脚输出都会产生低电平使单片机中断,从而使相应LED显示。
因为按键开关按下时为低电平。
第四章篮球计分器软件设计
4.1篮球计分器的工作过程
首先在比赛之前,接通电源,系统自动复位,此时计分电路中的共阳极数码管全部显示为00—00。
时间设置好时,等待赛程开始。
当裁判吹响哨声时,通知上半场结束,这时按下S6键,便完成了甲、乙两队的分数交换。
在整个赛程中,我们还要对两队比分进行及时刷新,这时我们通过计分电路中的S1-S4键完成此功能,S1和S2键完成甲队加分、减分,S3和S4键完成乙队加分、减分。
按键每按一下,表示加上或者减去1分。
由于加分、减分我们采用中断完成,下半场的流程和上半场基本上是一样的。
4.2篮球计分器编程设计
编程前,必须设置好地址、数据以及控制信号。
编程单元的地址加在P1口和P2口的P2.0—P2.3(11位地址范围为0000H—0FFFH),数据从P0口输入,引脚P2.6、P2.7、P3.6、P3.7的电平设置参考校验电路,/PSEN为低电平,RST保持高电平,EA/Vpp引脚是编程电源的输入端,按要求加上编程电压,ALE/PROG引脚输入编程脉冲。
编程时,可采用4—20MHZ的时钟振荡器,本次设计采用12MHZ的石英晶体振荡器。
具体过程是:
(1)在地址线上加上要编程单元的地址信号,这里为33H,34H,35H,36H,37H,38H,6个地址符。
(2)在数据线上加上要写入的数据字节,比如甲队加一分就是在36H地址上加上(偏移)一个字符06H。
(3)激活相应的控制信号。
(4)在高电压编程方式时,将EA/Vpp端加上+12V编程电压。
(5)改变编程单元的地址和写入的数据,重复1—5步骤,直到全部文件编程结束,每个字节写入周期是自身定时的,通常约为1.5ms。
时钟振荡器图如4-1:
4.2.1记分部分模块流程
图4-2计分部分流程
4.3篮球计分器程序源代码
程序代码:
#include
#defineSHOW_AP2//甲队所用端口
#defineSHOW_BP3//乙队所用端口
sbitADD_A=P1^0;//甲队加一
sbitSUB_A=P1^1;//甲队减一
sbitADD_B=P1^2;//乙队加一
sbitSUB_B=P1^3;//乙队减一
sbitSWAP=P1^4;//两队交换
sbitRESET=P1^5;//分数复位
intnumber_a;
intnumber_b;
intseg[10]={//共阳极,数字字型码
0xC0,//"0"
0xF9,//"1"
0xA4,//"2"
0xB0,//"3"
0x99,//"4"
0x92,//"5"
0x82,//"6"
0xF8,//"7"
0x80,//"8"
0x90,//"9"
};
voiddelay(inttime);/*延时*/
voidmain()
{
inttemp;
number_a=0;
number_b=0;
SHOW_A=seg[number_a];
SHOW_B=seg[number_b];
while
(1)
{
if(ADD_A==0)
{
delay(100);
while(ADD_A==0)
{
;
}
number_a++;
if(number_a==10)
{
number_a=0;
}
SHOW_A=seg[number_a];
}
if(SUB_A==0)
{
delay(100);
while(SUB_A==0)
{
;
}
number_a--;
if(number_a==-1)
{
number_a=0;
}
SHOW_A=seg[number_a];
}
if(ADD_B==0)
{
delay(100);
while(ADD_B==0)
{
;
}
number_b++;
if(number_b==10)
{
number_b=0;
}
SHOW_B=seg[number_b];
}
if(SUB_B==0)
{
delay(100);
while(SUB_B==0)
{
;
}
number_b--;
if(number_b==-1)
{
number_b=0;
}
SHOW_B=seg[number_b];
}
if(SWAP==0)
{
delay(100);
while(SWAP==0)
{
;
}
temp=number_a;
number_a=number_b;
number_b=temp;
SHOW_A=seg[number_a];
SHOW_B=seg[number_b];
}
if(RESET==0)
{
delay(100);
while(RESET==0)
{
;
}
number_a=0;
number_b=0;
SHOW_A=seg[number_a];
SHOW_B=seg[number_b];
}
}
}
voiddelay(inttime)
{
inti,j;
for(i=0;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 学院 检测 通过 篮球 电子 记分