单片机篮球比赛计分器.docx
- 文档编号:29307827
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:14
- 大小:251.53KB
单片机篮球比赛计分器.docx
《单片机篮球比赛计分器.docx》由会员分享,可在线阅读,更多相关《单片机篮球比赛计分器.docx(14页珍藏版)》请在冰豆网上搜索。
单片机篮球比赛计分器
概述
体育比赛计分系统是对体育比赛过程中所产生的时间,比分等数据进行快速采集记录,加工处理,传递利用的信息系统。
根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类,评分类,命中类,制胜类得分类等多种类型。
篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时系统是一种得分类型的系统。
篮球比赛的计时系统由计时器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。
由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。
世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。
篮球比赛计分器就是以单片机为核心的计时计分系统,由于对于单片机是刚刚学习,对于编程也不是十分熟练,故本次设计的内容相较简单,达不到正式比赛需求,仅供学习之用。
本系统是采用单片机AT89C52作为本设计的核心元件。
利用7段共阴LED
作为显示器件。
在此设计中共接入了8个7段共阴LED显示器,其中4个用于记录AB队的分数,每队2个LED显示器显示范围可达到0~99分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。
赛程计时采用到计时方式。
即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。
计时范围可达到0~99分钟,也完全满足实际赛程的需要。
其次,为了配合计时器和计分器校正调整时间和比分,我特定在本设计中设立了11个按键,其中8个用于设置,交换场地,启动和暂停等功能
篮球比赛计分器原理
篮球比赛计分器系统方案论证
篮球比赛计分器的原理
本课题以增强型单片机AT89C51为核心,设计制作篮球比赛计分器。
针对篮球比赛中有得1、2、3分,有时还会出现加分错误的情况,本人设计的简易篮球赛计分器主要通过按键实现以下功能:
能够进行加1、2、3分;能够进行减1分。
并通过3个数码管进行显示。
根据前面的设计的任务的要求,本设计任务主要具有以下几个模块:
单片机模块;按键模块;数码显示模块。
本设计由单片机模块部分植入主程序,通过按键部分进行加1、2、3分以及减1分操作,最终在3个LED数码管上显示结果。
本系统是以C语言作为编辑语言,采用单片机AT89C51作为本设计的核心元件。
利用7段共阳LED作为显示器件。
在此设计中共接入了3个7段共阳LED显示器,分别表示个位,十位,百位用于记录该队的分数,3个LED显示器显示范围可达到0~999分,能够满足篮球比赛的需要。
并设置有4个按键:
K1,K2,K3,K4。
当比赛队得1分时,按下k1键加1分,得2分时按k2键加2分,得3分时按下k3键加3分。
如分数计错需减分时,每按一次k4键减1分。
数码管显示原理
假设我们要显示一个数字2,那么A、B、G、E、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阴接法,那么为高电平是亮,低电平是灭。
从高往低排列,P1.7-P1.0写成二进制为01011011,把他转化为16进制则为5BH。
我们可以根据硬件的接线把数码管显示数字编制成一个表格,见下表,以后直接调用就行了。
数码管的接口有静态接口和动态接口两种。
静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阴接GND,本次课程设计由于所需数码管不多,故可用些种方法接线。
这种接法占用接口多,仅能接少量数码管。
动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一接口完成各数码管的轮流点亮。
2.1.3单片机模块
单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O口等计算机所需要的基本部件的大规模集成电路,又称MCU。
AT89C51是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
本设计P1口接四个开关,分别作为比分+1、+2、+3、-1分的控制按键;P0、P2口和P3口分别按静态接口方法接两个数码管来显示比分。
2.1.4按键模块
根据设计要求,该篮球赛计分器共有4个按键:
K1、K2、K3、K4,分别实现的功能是加1、2、3分和减1分。
K1与P1的1脚相连,K2与P1的2脚相连,K3脚与P1的3脚相连,K4键与P1的4脚相连,4个按键共用一个地端。
电路总体框架
基于单片机系统的篮球赛计时计分器的系统构成图如下图所示
图3.1硬件电路框图
控制芯片AT89C2051简介
本设计中,AT89C2051单片机是核心器件,它控制着电路各部分的工作,内部的精密比较器和定时器同时还是A/D转换电路的组成部分。
电压数字量的运算比较、电路工作状态的判断与指示、快速充电放电与涓流充电的选择以及负压的检测等等都是在单片机控制下实现的。
AT89C2051单片机的基本特点如下:
AT89C2051是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,内含2k字节的可反复擦写的Flash只读程序存储器和128字节的随机存取数据存储器(RAM),其擦写周期约1000次。
器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置通用8位中央处理器和Flash存储单元,功能强大。
AT89C2051单片机的工作电压范围较宽,可在2.7V~6V电压范围内工作。
它的工作频率为0Hz~24MHz,支持降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式(低功耗空闲和掉电模式),空闲方式下停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。
掉电方式下保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
AT89C2051还具有两级加密程序存储器,使用者可以根据需要对程序进行加密,实现版权保护的目的。
考虑到在单片机的很多应用中,需要使用发光二极管(LED)进行指示,AT89C2051的输出端口被设计成可直接驱动LED,可以省去外加的驱动电路,节省资源[6]。
AT89C2051内部资源主要有:
2k字节Flash闪速存储器,128字节内部RAM,15个I/O口线(其中P1是一个完整的8位双向I/O口),两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口(可编程串行UART通道),精密模拟比较器,片内振荡器以及时钟电路。
AT89C2051引脚如图3.2所示。
图3.2AT89C2051引脚图
AT89C2051I/O口功能说明:
1.P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
2.P1口:
P1口是一组8位双向I/0口,P1.2~P1.7提供内部上拉电阻,由于P1.0和P1.1是内部精密比较器的同相输入端(AIN0)和反相输入端(AIN1),所以内部无上拉电阻,如果需要作为通用I/O口,应在外部接上拉电阻。
Pl口输出缓冲器可灌入20mA电流并可直接驱动LED。
当P1口引脚写入“1”时可作输入端,当引脚P1.2~P1.7用作输入并被外部拉低时,它们因内部上拉电阻的作用而输出电流(IIL)。
3.P3口:
P3口的P3.0~P3.5、P3.7是带有内部上拉电阻的7个双向I/O口。
P3.6没有引出管脚,它作为一个通用I/O口但不可访问,可作为片内比较器的输出信号,P3口缓冲器可吸收20mA电流。
当P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
作输入端时,被外部拉低的P3口由于上拉电阻的存在而输出电流(IIL)。
P3口还可以用于特殊的功能,如下表所示。
表3-1P3口引脚功能
引脚
功能特性
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外中断0)
P3.3
(外中断1)
P3.4
T0(定时器/计数器0外部输入)
P3.5
T1(定时器/计数器1外部输入)
4.ALE/:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲可用于锁存地址的低八位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置置位后,只有一条MOVX和MOVC指令ALE才会被激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
5.EA/VPP:
外部访问允许。
欲使CPU仅访问外部数据存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编成,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件使用12V编程电压Vpp。
6.XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
7.XTAL2:
振荡器反相放大器的输出端。
图3.2主程序流程图
主程序代码设计
根据流程图,设计主程序代码如下:
#include
#defineucharunsignedchar
#defineuintunsignedint初始化
sbitP10=P1^0;按键k1
sbitP11=P1^1;按键k2
sbitP12=P1^2;按键k3
sbitP13=P1^3;按键k4
ucharcodetab[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
voidmain()
{uchark1=0;
while
(1)
{if(P10==0)
{k1+=1;分数加1
while(P10==0);}
if(P11==0)
{k1+=2;分数加2
while(P11==0);}
if(P12==0)
{k1+=3;分数加3
while(P12==0);}
if(P13==0)
{k1-=1;分数减1
while(P13==0);}
if(k1>1000)分数大于999,归0
k1=0;
P0=tab[S1/100];百位
P3=tab[S1%100/10];十位
P2=tab[S1%10];个位
}
}
总结
本次课程设计用到的仿真软件有Protues和Keiluvision。
在用Protues进行仿真之前,先要用KEILUVISION软件将我们编写好的汇编程序编译。
具体方法是先新建一项目,之后输入编写的程序,输入完成后保存然后执行项目、编译,在目标文件夹内生成编译好的程序文件,其中*.HEX文件就是我们所需要的目的文件,在之后电路设计好后用于导入AT89C52中执行其功能。
然后在生成*.HEX文件后,进入Protues软件,此时软件已自动打开一新建项目。
我们可直接在其中构建电路图,点击板面左侧按键P,在弹出的Pickdevices对话框中进行元器件的选择,元器件都找到后,先进行排版再按照电路图连接,连接好后,双击AT89C52在弹出对话框中选择单片机中要输入的程序,在输入程序后,即可开始进行仿真了,选择执行后点击开关可观察到数码管亮,并能实现加1、加2、加3、减1功能。
在这次的课程设计中,虽然在理论上对单片机有了简单基本的了解,但是在真正的动手操作中还是存在很多的不足,这些个不足有体现在自己的粗心大意上,更多的是对知识的应用上能力有所欠缺,以至完成这样一个简单的设计花费了不少时间。
但是最终通过自己的努力,查阅资料,询问同学,完成了这次的单片机的设计,在以后的学习中我也会更多的重视自己理论和实践的结合能力,提高自身综合能力。
最后,我还要感谢在此次课程设计中帮助过我的老师和同学。
在他们的鼎力帮助我才能顺利的完成了本次课程设计。
参考文献
[[1]单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;
[2]单片机原理及应用,张毅刚编著,高等教育出版社;
[3]51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社;
[4]单片机原理及接口技术,李朝青编著,北京航空航天大学出版社
[5]李广第.《微机原理与接口技术》[M].湖南:
湖南湖南大学出版社,2006
附录1系统电路图
总体设计电路
系统仿真图
结果调试图
附录2主要源代码
#include
#defineucharunsignedchar
#defineuintunsignedint初始化
sbitP10=P1^0;按键k1
sbitP11=P1^1;按键k2
sbitP12=P1^2;按键k3
sbitP13=P1^3;按键k4
ucharcodetab[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
voidmain()
{uchark1=0;
while
(1)
{if(P10==0)
{k1+=1;分数加1while(P10==0);}
if(P11==0)
{k1+=2;分数加2while(P11==0);}
if(P12==0)
{k1+=3;分数加3while(P12==0);}
if(P13==0)
{k1-=1;分数减1while(P13==0);}
if(k1>1000)分数大于999,归0
k1=0;
P0=tab[S1/100];百位
P3=tab[S1%100/10];十位
P2=tab[S1%10];个位
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 篮球比赛 计分