《基于AT89C51单片机的篮球比赛计时与计分系统设计.doc》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的篮球比赛计时与计分系统设计.doc(37页珍藏版)》请在金锄头文库上搜索。
1、 篮球比赛计时与计分系统设计篮球比赛计时与计分系统设计摘 要随着单片机在各个领域的广泛应用,许多用单片机作控制的球赛计时计分器也应运而生,如用单片机控制LCD液晶显示器的计时计分器,用单片机控制LED七段显示器的计时计分器等等。本次设计的篮球计时计分系统以AT89C51单片机为核心元件,利用它内部的计数器T0完成比赛的计时,通过七段共阴极LED来显示比分和时间。计时部分采用CD4511(七段BCD码译码器)进行硬件译码;计分部分采用CD4094(8位移位存贮总线寄存器)进行串行口扩展显示器接口,并利用74LS21(双四输入与门)来实现比分的刷新功能。报警部分采用蜂鸣器为音响器件。本系统具有赛事
2、时间设置、赛事时间启/停设置、24s倒计时控制;比分刷新控制;报警等功能。且造价低廉、操作简单、携带方便,适合于学校或小团体作为赛程计时计分工具。关键词:篮球计时计分系统;七段共阴LED数码管;AT89C51BASKETBALL GAME TIME AND SCORING DESIGNABSTRACTWith a wide range of SCM applications in various fields, many with a single chip timing for the control of the game scoring device have emerged, such
3、 as liquid crystal display LCD with MCU control the timing of scoring device, LED seven segment display with microcontroller timing control points and more.The time basketball scoring system designed to AT89C51 microcontroller as the core component, use it to finish within the time T0 counter, throu
4、gh the common cathode seven segment LED to display the score and time. Part time using CD4511 (seven segment BCD decoder) for hardware decoding; scoring part is CD4094 (8-bit shift register storage bus) serial port expansion, monitor port, and use 74LS21 (Dual four-input AND gate) to achieve the sco
5、re of the refresh function. Buzzer to sound the alarm part of the device used. The system has set the event time, event time start / stop setting, 24s countdown control; score refresh control; alarm functions. And low cost, simple operation, easy to carry, suitable for schools or small groups as the
6、 race time scoring tool.Key Words: Time basketball scoring system; Common cathode seven segment LED digital tube; AT89C51目 录1前言12系统方案设计22.1 总体方案22.1.1 设计内容22.1.2 设计要求22.2 系统组成33 硬件设计43.1 AT89C51的介绍43.2 复位电路43.3 键盘控制电路53.4 显示电路74 软件设计84.1 主程序设计84.2 键盘识别及处理程序设计94.3 显示子程序设计94.4 复位程序设计105 系统调试115.1 软件模拟
7、调试115.2 硬件接线及调试116 总结136.1 设计心得13参考文献15致谢17附录17附录A 程序清单17附录B 总电路原理图321前 言体育比赛记分系统是对体育比赛过程中所产生的比分等数据进行快速采集记录,加工处理,传递利用的信息系统。根据不同运动项目的不同比赛规则要求,体育比赛的记分系统包括测量类,评分类,命中类,制胜类得分类等多种类型。比如篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的记分系统是一种得分类型的系统。篮球比赛的记分系统由计分器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛记分系统设备应能够与现场成绩处理,现场大屏幕
8、,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器和24秒控制器等组成。2系统方案设计2.1 总体方案此记分器的设计采用模块化结构,主要由以下2个组成,即键盘模块、以及译码
9、显示模块。以单片机为核心,配以一定的外围电路和软件,以实现比赛计分器的功能。它由硬件部分和软件部分组成。系统设计方案的硬件电路设计方框图如图2-1所示。矩形键盘89C51甲显示器乙显示器图2-1 硬件电路设计方框图2.1.1 设计内容(1)给甲、乙两队分别设置加分按钮,各按钮按下分别实现给甲、乙队加19分。(2)给甲、乙两队分别设置减分按钮,各按钮按下分别实现给甲、乙队减19分。(3)设置一个复位按钮,按下实现甲、乙队总分回到初试分及显示(4)预置分通过甲、乙两队加分按钮实现。2.1.2 设计要求(1)方案合理、正确,系统稳定、可靠。(2)软件设计要求尽可能精练、简短和运行可靠。(3)硬件电路
10、要求简单明了,以节约成本。2.2 系统组成硬件电路由复位按钮、80C51单片机、矩阵键盘和两个4位共阴极LED显示器等组成。软件部分主程序主要由系统初始化段、键盘识别、键值处理、两个4位共阴极LED显示器扫描显示子程序组成。3 硬件设计3.1 AT89C51的介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该
11、器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2 复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V5%,即4.755.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡
12、器稳定工作时,复位信号才被撤除,微机电路开始正常工作。目前为止,单片机复位电路主要有四种类型:(1)微分型复位电路;(2)积分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路现在详细介绍看门狗复位电路:看门狗型复位电路主要利用CPU正常工作时,定时复位计数器,使得计数器的值不超过某一值;当CPU不能正常工作时,由于计数器不能被复位,因此其计数会超过某一值,从而产生复位脉冲,使得CPU恢复正常工作状态。典型应用的Watchdog复位电路如图3-1所示:图3-1 看门狗型复位电路此复位电路的可靠性主要取决于软件设计,即将定时向复位电路发出脉冲的程序放在何处。一般设计,将此段程序放在定时器
13、中断服务子程序中。然而,有时这种设计仍然会引起程序走飞或工作不正常3。原因主要是:当程序“走飞”发生时定时器初始化以及开中断之后的话,这种“走飞”情况就有可能不能由看门狗复位电路校正回来。因为定时器中断一真在产生,即使程序不正常,看门狗也能被正常复位。为此提出定时器加预设的设计方法。即在初始化时压入堆栈一个地址,在此地址内执行的是一条关中断和一条死循环语句。在所有不被程序代码占用的地址尽可能地用子程序返回指令RET代替。这样,当程序走飞后,其进入陷阱的可能性将大大增加。而一旦进入陷阱,定时器停止工作并且关闭中断,从而使看门狗复位电路会产生一个复位脉冲将CPU复位。当然这种技术用于实时性较强的控
14、制或处理软件中有一定的困难。3.3 键盘控制电路在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。如图3-2所示。图3-2 矩阵式键盘电路需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/
15、O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。具体的识别及编程方法如下所述。矩阵式键盘的按键识别方法确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。判断闭合键所在的位置