篮球记分器单片机课程设计报告书.docx

上传人:b****6 文档编号:7490811 上传时间:2023-01-24 格式:DOCX 页数:17 大小:340.09KB
下载 相关 举报
篮球记分器单片机课程设计报告书.docx_第1页
第1页 / 共17页
篮球记分器单片机课程设计报告书.docx_第2页
第2页 / 共17页
篮球记分器单片机课程设计报告书.docx_第3页
第3页 / 共17页
篮球记分器单片机课程设计报告书.docx_第4页
第4页 / 共17页
篮球记分器单片机课程设计报告书.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

篮球记分器单片机课程设计报告书.docx

《篮球记分器单片机课程设计报告书.docx》由会员分享,可在线阅读,更多相关《篮球记分器单片机课程设计报告书.docx(17页珍藏版)》请在冰豆网上搜索。

篮球记分器单片机课程设计报告书.docx

篮球记分器单片机课程设计报告书

第1章系统概述

1.1背景知识

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

根据不同运动项目的不同比赛规则要求,体育比赛的记分系统包括测量类,评分类,命中类,制胜类得分类等多种类型。

比如篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的记分系统是一种得分类型的系统。

篮球比赛的记分系统由计分器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛记分系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。

由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。

世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。

篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器和24秒控制器等组成。

1.2设计容及要求

1.2.1设计容

(1)给甲、乙两队分别设置加分按钮,各按钮按下分别实现给甲、乙队加1~9分。

(2)给甲、乙两队分别设置减分按钮,各按钮按下分别实现给甲、乙队减1~9分。

(3)设置一个复位按钮,按下实现甲、乙队总分回到初试分及显示

(4)预置分通过甲、乙两队加分按钮实现。

1.2.2设计要求

(1)方案合理、正确,系统稳定、可靠。

(2)软件设计要求尽可能精练、简短和运行可靠。

(3)硬件电路要求简单明了,以节约成本。

 

第2章系统方案设计

2.1总体方案

此记分器的设计采用模块化结构,主要由以下2个组成,即键盘模块、以及译码显示模块。

以单片机为核心,配以一定的外围电路和软件,以实现比赛计分器的功能。

它由硬件部分和软件部分组成。

系统设计方案的硬件电路设计方框图如图2-1所示。

89C51

甲显示器

乙显示器

 

图2-1硬件电路设计方框图

2.2系统组成

硬件电路由复位按钮、80C51单片机、矩阵键盘和两个4位共阴极LED显示器等组成。

软件部分主程序主要由系统初始化段、键盘识别、键值处理、两个4位共阴极LED显示器扫描显示子程序组成。

第3章硬件设计

3.1AT89C51的介绍

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

3.2复位电路

为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。

一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。

由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。

  目前为止,单片机复位电路主要有四种类型:

(1)微分型复位电路;

(2)积分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路

现在详细介绍看门狗复位电路:

看门狗型复位电路主要利用CPU正常工作时,定时复位计数器,使得计数器的值不超过某一值;当CPU不能正常工作时,由于计数器不能被复位,因此其计数会超过某一值,从而产生复位脉冲,使得CPU恢复正常工作状态。

典型应用的Watchdog复位电路如图3-1所示。

图3-1看门狗型复位电路

此复位电路的可靠性主要取决于软件设计,即将定时向复位电路发出脉冲的程序放在何处。

一般设计,将此段程序放在定时器中断服务子程序中。

然而,有时这种设计仍然会引起程序走飞或工作不正常[3]。

原因主要是:

当程序“走飞”发生时定时器初始化以及开中断之后的话,这种“走飞”情况就有可能不能由Watchdog复位电路校正回来。

因为定时器中断一真在产生,即使程序不正常,Watchdog也能被正常复位。

为此提出定时器加预设的设计方法。

即在初始化时压入堆栈一个地址,在此地址执行的是一条关中断和一条死循环语句。

在所有不被程序代码占用的地址尽可能地用子程序返回指令RET代替。

这样,当程序走飞后,其进入陷阱的可能性将大大增加。

而一旦进入陷阱,定时器停止工作并且关闭中断,从而使Watchdog复位电路会产生一个复位脉冲将CPU复位。

当然这种技术用于实时性较强的控制或处理软件中有一定的困难。

3.3键盘控制电路

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。

如图3-2所示。

图3-2矩阵式键盘电路

需要的键数比较多时,采用矩阵法来做键盘是合理的。

矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。

这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。

行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

具体的识别及编程方法如下所述。

矩阵式键盘的按键识别方法

确定矩阵式键盘上何键被按下介绍一种“行扫描法”。

行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。

判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。

若所有列线均为高电平,则键盘中无键按下。

判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:

依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键,矩阵键盘与80C51的接口电路如图3-3所示。

图3-3矩阵键盘与80C51的接口电路

3.4显示电路

显示器采用两个四位共阴极LED显示器,来实现显示器的动态扫描,八个二极管连接一个阴极的结构,只要另一段为高电平,二极管就会发光,从而形成一段。

将八段顺序排列后就成为具有一定编码的共阴显示器了。

动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。

如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。

显示电路如图3-4所示。

图3-4显示电路接线图

 

第4章软件设计

4.1主程序设计

开始

主程序主要由系统初始化段、开中断、键盘识别、键值处理、两个4位共阴极LED显示器扫描显示子程序和中断处理子程序等组成。

通过对以上各段和子程序的结合,以实现系统功能。

该系统主程序流程图如下图4-1所示。

始初化

键盘识别

保存

是否为+

是否为+

对应处理加

显示

对应处理减

对应处理减

对应处理加

 

图4-1主程序流程图

4.2键盘识别及处理程序设计

按键识别及处理程序主要由键盘识别和键值处理组成。

其中键盘识别子程序不断地对键盘进行判断是否有键按下。

当有键按下时则转到键码处理即甲、乙总分处理子程序对相应按键进行相应处理,即可实现对甲、乙两队总分的计算与处理。

键盘识别即依次判断第一列、第二列、第三列、第四列是否有键按下。

如果有键按下,先得出列,再反向赋值得出行,最后得出所在行和列的位置。

键值处理即先定义0~9这九个按键,再对三次按键值进行保存,再来判断是甲队还是乙队加减分,再判断是加还是减,最后判断加或减多少分,实现分别给甲、乙总分进行加分和减分。

键值处理即甲、乙总分处理子程序流程图如下图4-2所示。

 

甲或乙

除以100

除以10

个位

十位

百位

余数

余数

除以100

除以10

图4-2键值处理子程序流程图

4.3显示子程序设计

由于该系统使用的是8位LED显示器显示计分器比分,因此显示采用动态扫描显示方法,即由显示器扫描显示子程序控制显示器逐个循环从左至右依次点亮各个显示器。

这样虽然在任一时刻只要一个显示器点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果一样。

显示器扫描显示子程序显示每一位用如图4-3所示流程方法完成。

从80C51的P1口送显示器位码

读相应位存储单元数据(中间两位显示“——”无此步)

由读得数据查表确定段码由80C51送相应显示器位

下一位显示

上一位显示

图4-3显示子程序流程图

4.4复位程序设计

按钮与单片机P0.6/AD6引脚相连,当每次按下该按钮后,系统将通过软件实现对计分复位功能。

在主程序运行过程中,只要系统识别到与单片机P0.6/AD6引脚相连的按键按下,程序则会转去执行复位程序,完成对甲、乙总分寄存单元的清零,显示器各位的显示数寄存单元的复位,执行完毕后,返回主程序。

流程图如4-4所示。

开始

P0.6为0

甲、乙显示器复位

返回

 

图4-4复位程序流程图

 

第5章系统调试

5.1软件模拟调试

本设计主要是用proteus软件绘图以及伟福软件进行编程仿真的。

调试步骤由两个部分组成:

首先,确定程序中错误的确切性质和位置;然后,对程序代码进行分析,确定问题的原因,并设法改正这个错误。

具体地说,由以下步骤组成:

1.从错误的外部表现入手,确定程序中出错的位置;

2.分析有关程序代码,找出错误的在原因;

3.修改程序代码,排除这个错误;

4.重复进行暴露了这个错误的原始测试以及某些回归测试,以确保该错误确实被排除且没有引入新的错误;

5.如果所作的修正无效,则撤消这次改动,重复上述过程,直到找到一个有效的办法为止。

5.2硬件接线及调试

这个电路是在老师的指导下设计的,电路的设计在理论上完全行得通,不过接线是设计中最关键的一步,我的接线原则是从全局出发,逐个模块连接调试,最后总体调试。

在这个指导思想下,我的安装还算是是成功的。

逐个模块接线再调试,可以为总体调试省去很多时间,只要每个模块正常运行,几个模块通过地址总线连接之后,就不会出现太大的问题了。

调试前的直观检查:

1、连线是否正确,在通电之前应先检查一下电路的连线是否正确,包括错线,少线和多线的情况。

查找的方法有:

按照电路图检查安装的线路,这种方法的特点是,根据电路图来确定,按一定的顺序逐一检查安装好的线路,由此,可容易查出错线和少线的情况,还有一种方法就是按照实际的线路来对照原理电路进行查线,这是一种以元件为中心进行查线的方法。

把每个元件引脚的连线一次查清,检查每个接线处在电路图上是否存在,这种方法不但可以查出错线和少线,还容易查处多线的情况。

2、元器件安装时情况

检查元、器见引脚之间有无短路;连接处有无接触不良;二极管和电容极性等是否连接有误。

电源、信号源连接是否正确。

4、电源端对地是否存在短路,在通电前,断开一根电源线,用万用表检查电源对地端是否存在短路

模拟调试结果记录如下:

通电后,显示器初始显示“100--100”。

按照键盘分布说明按键,分布给甲、乙加1分、2分和3分,显示器跟踪显示出总分,然后模拟比赛细节,随意给甲、乙加分或是减分,均达到预期效果。

在甲、乙均有一定总分的情况下对甲、乙进行减分处理,当减到0后便不能够再进行减分操作,与程序设计相符。

在甲、乙均有一定总分的情况下,按清零按钮,显示结果清零。

重复进行上面操作,结果均符合设计要求。

 

第6章总结

6.1设计心得

为期两周的单片机课程设计拉下了帷幕,我深刻体会到了其中的苦与乐,感悟甚是深切.

在没有做课程设计以前,觉得课程设计只是对知识的单纯总结,但是通过这次课程设计发现自己的看法有点太片面,课程设计不仅是对前面所学知识的一种检验,也是对自己能力的一种提高,通过这次课程设计使自己明白了原来的那点知识是非常欠缺的,要学习的东西还很多,通过这次课程设计,明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质,并将理论与实际相结合,学以致用,不再是纸上谈兵,。

对我们学生来说,理论与实际同样重要,这是我们以后在工作中说明自己能力的一个重要标准。

在这次课程设计中,同学之间互相帮助,有什么不懂的大家在一起商量,发现我们所学的知识实在是有限,不过我们能够充分利用网络的优势去查阅资料。

而且,课程设计中涉及到的电路图用了比较新的一款PROTEUS进行设计和仿真,使我多掌握了一个得力的仿真工具。

我在整个设计过程中懂得了许多东西,当遇到一不了的问题,跟同伴一起商量、合作,或许能收到事半功倍的效果。

不管学什么,一定要打好基础,并将其学好、学精,但空有知识也不一定就能说明什么,还得能为己所用;还有更重要的是培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。

虽然这个设计做的不是很完美,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益;最后,也是我感触比较深的一点,这次课程设计时为数不多的独立完成的一次,虽然过程中遇到很多困难,让自己犯愁过,彷徨过,急躁过,可当自己很快调整好心态,从跌倒的地方爬起来继续,最后取得成功,不止是成功后的喜悦,也是一次锻炼!

通过这次课程设计,明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质,并将理论与实际相结合,理论与实际同样重要。

实习中,我感受到了老师对学生的那种悔人不卷的精神,每天的固定时间,老师都来给我们指导,使我们少走弯路,顺利完成实习任务,请允许我向你们致意崇高的敬意,感你们,老师!

在这次课程设计中,我在整个设计过程中懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。

虽然这个设计做的不是很理想,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我受益良多。

 

6.2参考文献

[1]、《微型计算机原理及应用》许立梓编

机械工业2002

[2]、《微型计算机接口技术及应用》乐善编

华中理工大学2000

[3]、《计算机硬件技术基础试验教程》邹逢兴编

高等教育2000

[4]、《16位微型计算机原理接口及其应用》周佩玲编

中国科学技术大学2000

[5]、《微型计算机原理与接口技术》吴秀清编

中国科学技术2001

[6]、《微型计算机接口技术》邓亚平编

清华大学2001

[7]、《单片机原理及及应用》王迎旭编

机械工业2001

[8]、《单片机应用程序设计技术》周航慈著

航空航天大学2002

[9]、《单片机实用技术问答》宜仁主编

人民邮电2002

 

附录

附录A程序清单

ORG0000H

START:

MOV2AH,#100

MOV4AH,#100

MOVDPTR,#TAB

MOV6AH,#0FEH

MOV6BH,#0FDH

MOV6CH,#0DFH

MOV6DH,#0F7H

MOV6EH,#0EFH

MOV6FH,#0FBH

MAIN:

MOVP2,#0F0H

K0:

JBP2.4,K1

MOVA,P2

MOV30H,A

MOVP2,#0FFH

MOVP2,#0FH

MOVA,P2

ORLA,30H

MOV31H,A

LJMPKK

K1:

JBP2.5,K2

MOVA,P2

MOV30H,A

MOVP2,#0FFH

MOVP2,#0FH

MOVA,P2

ORLA,30H

MOV31H,A

LJMPKK

K2:

JBP2.6,K3

MOVA,P2

MOV30H,A

MOVP2,#0FFH

MOVP2,#0FH

MOVA,P2

ORLA,30H

MOV31H,A

LJMPKK

K3:

JBP2.7,LL

MOVA,P2

MOV30H,A

MOVP2,#0FFH

MOVP2,#0FH

MOVA,P2

ORLA,30H

MOV31H,A

LJMPKK

KK:

MOVDPTR,#TAB

MOVA,31H

MOV31H,#0H

CJNEA,#07EH,Z0

MOVA,#4H

ADDA,2AH

MOV2AH,A

LJMPLOOP

Z0:

CJNEA,#07DH,Z1

MOVA,2AH

SUBBA,#4H

MOV2AH,A

LJMPLOOP

Z1:

CJNEA,#07BH,Z2

MOVA,#4H

ADDA,4AH

MOV4AH,A

LJMPLOOP

Z2:

CJNEA,#077H,Z3

MOVA,4AH

SUBBA,#4H

MOV4AH,A

LJMPLOOP

Z3:

CJNEA,#0D7H,Z4

MOVA,2AH

SUBBA,#2H

MOV2AH,A

LJMPLOOP

Z4:

CJNEA,#0EBH,Z5

MOVA,#1H

ADDA,2AH

MOV2AH,A

LJMPLOOP

Z5:

CJNEA,#0DBH,Z6

MOVA,#2H

ADDA,2AH

MOV2AH,A

LJMPLOOP

Z6:

CJNEA,#0BBH,Z7

MOVA,#3H

ADDA,2AH

MOV2AH,A

LL:

LJMPLOOP

Z7:

CJNEA,#0EDH,Z8

MOVA,4AH

SUBBA,#1H

MOV4AH,A

LJMPLOOP

Z8:

CJNEA,#0DDH,Z9

MOVA,4AH

SUBBA,#2H

MOV4AH,A

LJMPLOOP

Z9:

CJNEA,#0BDH,Z10

MOVA,4AH

SUBBA,#3H

MOV4AH,A

LJMPLOOP

Z10:

CJNEA,#0EEH,Z11

MOVA,#1H

ADDA,4AH

MOV4AH,A

LJMPLOOP

Z11:

CJNEA,#0DEH,Z12

MOVA,#2H

ADDA,4AH

MOV4AH,A

LJMPLOOP

Z12:

CJNEA,#0BEH,Z13

MOVA,#3H

ADDA,4AH

MOV4AH,A

LJMPLOOP

Z13:

CJNEA,#0E7H,Z14

MOVA,2AH

SUBBA,#1H

MOV2AH,A

LJMPLOOP

Z14:

CJNEA,#0B7H,LOOP

MOVA,2AH

SUBBA,#3H

MOV2AH,A

LJMPLOOP

LOOP:

MOVA,2AH

MOVB,#100

DIVAB

MOV3AH,A

MOVA,B

MOVB,#10

DIVAB

MOV3BH,A

MOV3CH,B

MOVR0,#3AH

MOVR1,#6AH

MOVR3,#3

L0P1:

MOVA,R0

MOVCA,A+DPTR

MOVP1,A

MOVA,R1

MOVP0,A

MOVR6,#0FFH

DJNZR6,$

MOVP0,#0FFH

INCR0

INCR1

DJNZR3,L0P1

MOVA,4AH

MOVB,#100

DIVAB

MOV5AH,A

MOVA,B

MOVB,#10

DIVAB

MOV5BH,A

MOV5CH,B

MOVR0,#5AH

MOVR1,#6DH

MOVR3,#3

LOP2:

MOVA,R0

MOVCA,A+DPTR

MOVP3,A

MOVA,R1

MOVP0,A

MOVR6,#8FH

DJNZR6,$

MOVP0,#0FFH

INCR0

INCR1

DJNZR3,LOP2

JNBP0.6,SS

LJMPMAIN

SS:

LJMPSTART

TAB:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

 

附录B总电路原理图

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

当前位置:首页 > 小学教育 > 语文

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

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