篮球记分牌单片机实训报告.docx

上传人:b****1 文档编号:3330948 上传时间:2023-05-05 格式:DOCX 页数:17 大小:634.78KB
下载 相关 举报
篮球记分牌单片机实训报告.docx_第1页
第1页 / 共17页
篮球记分牌单片机实训报告.docx_第2页
第2页 / 共17页
篮球记分牌单片机实训报告.docx_第3页
第3页 / 共17页
篮球记分牌单片机实训报告.docx_第4页
第4页 / 共17页
篮球记分牌单片机实训报告.docx_第5页
第5页 / 共17页
篮球记分牌单片机实训报告.docx_第6页
第6页 / 共17页
篮球记分牌单片机实训报告.docx_第7页
第7页 / 共17页
篮球记分牌单片机实训报告.docx_第8页
第8页 / 共17页
篮球记分牌单片机实训报告.docx_第9页
第9页 / 共17页
篮球记分牌单片机实训报告.docx_第10页
第10页 / 共17页
篮球记分牌单片机实训报告.docx_第11页
第11页 / 共17页
篮球记分牌单片机实训报告.docx_第12页
第12页 / 共17页
篮球记分牌单片机实训报告.docx_第13页
第13页 / 共17页
篮球记分牌单片机实训报告.docx_第14页
第14页 / 共17页
篮球记分牌单片机实训报告.docx_第15页
第15页 / 共17页
篮球记分牌单片机实训报告.docx_第16页
第16页 / 共17页
篮球记分牌单片机实训报告.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

篮球记分牌单片机实训报告.docx

《篮球记分牌单片机实训报告.docx》由会员分享,可在线阅读,更多相关《篮球记分牌单片机实训报告.docx(17页珍藏版)》请在冰点文库上搜索。

篮球记分牌单片机实训报告.docx

篮球记分牌单片机实训报告

编号:

 

设计说明书

题目:

篮球计分牌

学院:

桂林电子科技大学职业技术学院

专业:

电子信息工程技术

学生姓名:

学号:

指导教师:

职称:

讲师

题目类型:

理论研究实验研究√工程设计工程技术研究软件开发

2014年12月日

摘要

伴随着信息传播技术的发展,NBA在年轻人中越来越流行。

在我们校园的每一个角落都能发现篮球比赛的身影。

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

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

本文详细地介绍了系统硬件与软件的设计过程,设计由AT89C51编程控制四位数码管作显示的球赛计时计分系统。

该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩等功能。

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

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

 

关键词:

AT89C51;篮球赛计分牌;四位数码管;动态显示;

 

 

引言

随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的电子产品开始进入人们的生活。

同时伴随着信息传播技术的发展,NBA在年轻人中越来越流行。

在我们校园的每一个角落都能发现篮球比赛的身影,由于体育竞赛的不可重复性,决定了篮球计分牌是一个实用性很强、可靠性要求极高的以计算机技术为核心的电子服务系统。

因此,篮球计分牌自身组成独立的采集、分配、评判、显示发布系统,做到所以信息的实时、准确、快捷、权威。

电子计时计分设备是各类体育竞赛中不可缺少的电子设备,篮球计分牌设计是否合理,关系到整个体育比赛系统运行的稳定和可靠,并直接影响到整个体育比赛的顺利进行。

篮球计分牌可取代传统记分员手动翻动记分牌的工作模式,对比赛的比分和时间进行快速采集记录,加工处理。

本次设计的篮球计时计分器,电路简单,而且易懂,使操作使用者使用非常方便,成本较低,灵敏可靠,计录准确,连接简单,具有非常高的实用价值。

 

1系统概述

1.1选题背景

体育比赛计分系统是对体育比赛过程中所产生的比分等数据进行快速采集记录,篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的。

篮球比赛中一个重要的环节就是计分工作,但人工计分耗时耗力,所以针对这种情况设计一个电路简单,易懂、易操作的篮球比赛计分板,来及时的记录比赛比分。

1.2设计要求

(1)使用四位数码管其中3位数码管显示篮球分数;

(2)通过4个按键进行AB两队分别加1分或减1分;

(3)发挥部分:

可以计时。

 

2设计原理

2.1硬件部分

主控芯片采用AT89C52;显示部分采用四位共阴数码管;时钟电路采用12MHZ的石英晶体振荡器,将其和单片机对应的引脚正确连接,将晶振产生的时钟信号作为定时信号;复位电路采用传统RC复位电路。

篮球计分牌分为两个部分:

开关控制、数码管显示。

P1口接4个按键,分别作为给AB两队加减1分功能;P3口接2个按键,1个用于设置长按切换篮球比分显示或秒表计时显示,1个用于秒表的开始或暂停;P0口和P2口分别接数码管的段选和位选。

2.2软件部分

程序采用C语言进行编程,编程后利用KeiluVision4来进行编译,再生成的HEX文件通过下载口导入芯片中。

然后根据按键功能查看是否实现功能。

3硬件电路设计与分析

3.1硬件框架图

图1

3.2单片机最小系统

3.2.1STC89C52芯片介绍

STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,指令代码完全兼容传统8051使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

工作电压:

3.3V~5.5V;

工作频率范围:

0~40MHz;

用户应用程序空间为8K字节;

片上集成512字节RAM;

通用I/O口(32个),上电复位后为:

P0/P1/P2/P3是准双向口/弱上拉,P0作为I/O口用时,需加上拉电阻;

外部中断2个,下降沿中断或低电平触发电路;共2个16位定时器/计数器。

即定时器T0、T1;可通过可直接使用串口下载,串口(RxD/P3.0,TxD/P3.1)直接下载用户程序;具有EEPROM(掉电储存)功能,内带4K字节EEPROM存储空间。

图2

图2

3.2.2时钟电路

STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。

时钟可以由内部方式产生或外部方式产生在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。

定时元件通常采用石英晶体和电容组成的并联谐振回路。

晶体振荡频率可以在1.2~12MHz之间选择,电容值的大小可对频率起微调的作用。

单片机最小系统起振电容C1、C2一般采用15~33pF,晶振一般采用12MHZ,并且电容离晶振越近越好,晶振离单片机越近越好。

时钟电路原理图:

图3

3.2.3复位电路

一般情况下,电容的大小是10uF,电阻的大小是10k,复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位。

在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。

所以可以通过按键的断开和闭合在运行的系统中控制其复位,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。

复位电路原理图:

图4

3.3四位数码管 

3.3.1数码管的介绍

四位数码管是一种半导体发光器件,其基本单元是发光二极管。

数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个,引线已在内部连接完成,只需引出它们的各个笔划,公共电极分别由字母a,b,c,d,e,f,g,dp来表示,能显示4个数码管叫四位数码管。

图5

四位数码管的引脚图:

图6

 

3.3.2四位数码管共阳和共阴的区分

市面上的四位一体的数码管一般都没有数据表,所以掌握他们管脚的分布是很重要的一个环节。

共阳数码管是指,将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指,将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

区别他们的方法是:

若公共端接地,其他端接电源,若各段测试能亮,说明是共阴的,反之共阳的;若公共端接电源,其他端分别接的,测得各端亮,则说明是共阳的,反之为共阴的。

此次篮球计分牌的四位数码管采用共阴数码管。

 

3.3.3数码管的驱动方式

(1)静态显示:

静态显示也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,但一个STC89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

 

(2)动态显示:

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,却能够节省大量的I/O端口,而且功耗更低。

3.474HC573芯片介绍

此次篮球计分牌的设计利用74HC573来驱动两个四位共阴数码管。

74HC573 的八个锁存器都是透明的D 型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。

当使能为低时,输出将锁存在已建立的数据电平上。

输出控制不影响锁.器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。

这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。

特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器

74HC573芯片引脚图:

 

图7

4软件设计与分析

本系统的编程部分工作采用Keil_C51语言完成,KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。

运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

4.1程序主流程图:

4.2初始化定时器程序

voidinit()//初始化定时器

{

TMOD=0X11;

TH0=0xFE;TL0=0x36;

TH1=0xFC;TL1=0x18;

TR0=1;

EA=1;

ET0=1;

ET1=1;

}

4.3四位共阴数码管的动态显示程序

/*...........定时器0服务程序.............*/

voidtime0()interrupt1

{

TH0=0xFE;TL0=0x36;

counter++;

if(counter>=time)

{

counter=0;

select++;

if(select>8)select=0;

}

switch(select)

{

case0:

smg_wm=wm[0];smg_sm=sm[0];break;

case1:

smg_wm=wm[1];smg_sm=sm[b2];break;

case2:

smg_wm=wm[2];smg_sm=sm[s2];break;

case3:

smg_wm=wm[3];smg_sm=sm[g2];break;

case4:

smg_wm=wm[4];smg_sm=sm[0];break;

case5:

smg_wm=wm[5];smg_sm=sm[b1];break;

case6:

smg_wm=wm[6];smg_sm=sm[s1];break;

case7:

smg_wm=wm[7];smg_sm=sm[g1];break;

default:

break;

}//动态显示

}

5系统调试

单片机应用系统的调试是系统开发的重要环节。

当完成了单片机应用系统的硬件设计、软件设计和硬件组装后,便可进入应用系统调试阶段。

系统调试的目的是查出系统中硬件设计与软件设计中存在的错误以及可能出现的不协调问题,以便修改设计,最终使系统能正确地工作。

单片机应用系统的调试分为硬件调试、软件调试和脱机运行调试三个部分。

5.1硬件调试

5.1.1最小系统调试

(1)上电复位后,用万用表测量单片机VCC和GND为5V;

(2)上电复位后,晶振起振,晶振两端电压约为1.5V~2V;

(3)上电复位后,万用表测量9脚为低电平;

(4)没烧录程序时,万用表测量各I/O口输出高电平,约5V;

(5)30脚,产生频率,万用表测量为高电平,约5V;

(6)31脚,接VCC,万用表测量为高电平,约5V;

5.1.2四位数码管调试

将公共端接电源,其他端分别接GND,测得各端亮,说明数码管属于共阴数码管,且数码管各端LED发光管正常。

5.2软件调试

程序按照流程图编程,采用的是最保险的方法,计分模块变量,个位变量经按键自加1,逢9向百位进1,百位变量逢9向千位进1,千位变量逢9则计分全部变量值零,程序琐长但逻辑严密。

数码管采用动态显示的方法,利用定时器0的工作方式1,在中断函数中对数码管的公共端进行位选控制。

因为防止PCB连接数码管时有很多跳线,原理图上将数码管个引脚的连接方式进行了修改,而程序的0~9段代码为:

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};导致电路板上电时数码管显示乱码;经过修改段代码为:

{0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7}后,测试数码管显示正常。

 

5.3脱机运行调试

图8

在焊完成后,程序烧录进去,上电后四位数码管都亮,说明P2口已开始进行位选工作,但其中一个数码管上电默认显示的数字0,显示不全;

查看程序仿真合理,单片机最小系统正常工作,但是显示模块没有达到预期要求;

用万用表检测数码管的各引脚电压,发现有两个引脚电压与单片机P0口段选输出电压不同,说明有断线;

用万用表,黑表笔接GND,红表笔从数码管引脚出发,沿其与单片机对应线路,检测到单片机I/O口,终于发现如图8框部分线路断路了;

随后将焊锡熔到断电处,数码管显示正常,数码管显示不全问题解决;

测试P1口的四个加减1分按键,功能实现;

测试P3口按键,k5长按切换到秒表计时界面,再次长按切换到计分界面;k6长按秒表开始,再次长按暂停;

整块电路板完全符合设计要求。

 

6总结

按照脱机运行调试的电路板的情况来看,完全符合设计要求,应该是一个成功的设计。

实训中也暴露出在理论学习中的不足之处,对单片机的很多方面内容还不够了解,有些地方还需有待加强学习,正是理论学习的不足导致对作品原理图正确性的怀疑。

通过不断地翻书查资料确定设计的原理图没问题后,才开始制作电路板。

制作电路板的工作是交给我的队友。

最后的电路板,只有几根断线而已,补接好后,功能都能实现,一次成功,出乎我的意料,他向我展示了他强大的动手能力;也得益于我设计的原理图和PCB,都经过我的反复检查。

对此作品的软件程序编写,经XX找到了些程序,但这些程序不符合我的设计原理图。

要得到能够实现计分、计时功能的篮球计分牌程序,只能从零开始编程。

经过参考单片机实验指导书,编写的这个篮球记分牌程序的结构清晰简单,实现的功能也很全面,但感觉程序太琐长,不善精简。

操作说明:

(1)k1给A队加1分,k2给A队减1分;

(2)k3给B队加1分,k4给B队减1分;

(3)k5长按操作,切换篮球比分显示或秒表计时显示;

(4)k6长按操作,控制秒表的开始或暂停。

 

谢辞

两周的实训结束了,由衷感谢我的指导老师。

叶俊明老师对我遇到的问题总是耐心解答和悉心指导;提出了许多富有启发性的建议和具有创意的想法;如在篮球计分板的程序中加入EEPROM部分。

在这次毕业设计中,得益于学校的各方面资源,图书馆可以查找到许多相关的有用的书籍资料、图书馆网站上的数据库也给我提供了不少参考,这些都给我们创造一个良好的学习、设计环境。

在跟随叶俊明老师学习期间,我学到了许多从未接触过的知识,受益匪浅。

感谢桂林电子科技大学和诸位老师对我的培养和教育,同时也感谢学院为我提供良好的做毕业设计的环境。

本文参考了大量的文献资料,在此,向各学术界的前辈们致敬!

 

参考文献

【1】XX文库,篮球记分牌的设计.

【2】叶俊明、苏鹏鉴,单片机实验指导书,2014.

【3】张秀国,单片机C语言程序设计教程与实训,2012.

【4】姚宏坤,C语言程序设计项目教程,2012.

【5】郭天祥,十天学会单片机视频.

 

 

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2