篮球赛计时计分器的设计 - 范文中心

篮球赛计时计分器的设计

05/28

学生姓名 李照明 学号 1213014066 题 目 篮球赛计时计分器的设计

所在学院 陕西理工学院 专业班级 电子1203班 指导教师 梁芳

完成地点 物理与电信工程学院实验室

2016 年 6 月 2 日

篮球赛计时计分器的设计

作者:李照明

(陕西理工学院 物理与电信工程学院 电子信息工程专业12级3班,陕西 723000)

指导老师:梁芳

[摘要]介绍基于STC89C51单片机的篮球比赛计时计分系统。本次设计的篮球赛计时计分系统通过STC89C51编程控制LED七段数码管来实现计时和计分的功能。通过按键控制电路设置比赛定时时间,暂停时间,立即刷新甲、乙两队的比分, 比赛进行到半场结束交换场地时,两队比分能交换显示的位置,比赛结束时,系统可以发出报警的指令以及在赛后及时暂存成绩等功能。该系统价格低廉,性能稳定,携带方便且操作简洁,广泛应用于各类学校或者小型团体作为赛程计时计分。

[关键词]单片机;篮球比赛计时计分器;数码管

I

Design of timing and scoring device for basketball match

Author:Zhaoming Li

(Grade 12,Class 03,Major in Electronics & Information engineering ,Physics & Telecommunications

engineering Dept., Shaanxi University of Technology,Hanzhong,723003,Shaanxi)

Tutor:Fang Liang

Abstract: Introduction to basketball games STC89C51 time scoring system based on the MCU. The design of the basketball game time scoring by STC89C51 programming control LED seven-segment LED to achieve the timing and scoring functions. Button control circuit is provided timing game, pause time, immediately flush A and B teams score, the game proceeds to the end of the half-exchange sites, teams were able to exchange position is displayed at the end of the game, the system can send out alarms instruction and function in a timely manner after the scratch results and the like. The system is inexpensive, stable, easy to carry and simple operation, widely used in all types of schools or small groups as the race timing and scoring points.

Key Words: MCU;Basketball time scoring device;Digital Tube

II

目录

1引言 ······································ 1

1.1课题背景 ······························································································································ 1

1.2立题的目的及意义 ··············································································································· 1

1.3国内外的研究现状及发展趋势 ····························································································· 1

1.4本系统主要研究内容 ··········································································································· 1 2系统总体设计 ·································· 2

2.1 系统总体设计方案 ·············································································································· 2

2.2 系统基本功能介绍 ·············································································································· 2 3系统硬件电路设计································ 4

3.1 篮球计时计分器电路原理图 ································································································ 4

3.2 篮球计时计分器电路工作过程 ···························································································· 5

3.3系统硬件电路组成 ··············································································································· 5

3.3.1 计时电路 ·················································································································· 5

3.3.2 计分电路 ·················································································································· 7

3.4 STC89C51芯片介绍 ············································································································· 8

3.4.1 管脚说明 ·················································································································· 9 4系统仿真 ··································· 11

4.1仿真工具的介绍 ················································································································· 11

4.1.1 Proteus软件介绍 ·································································································· 11

4.1.2 Keil软件介绍 ········································································································ 11

4.2系统设计流程图 ················································································································· 12

III

4.3 Proteus仿真 ···················································································································· 13 5系统调试 ··································· 14

5.1 软件调试 ··························································································································· 14

5.2 硬件调试 ··························································································································· 14 结论 ······································ 18 致谢 ······································参考文献 ····································附录A 英文原文 ································附录B 中文翻译 ································附录C 程序源代码 ·······························附录D 元件清单 ································

IV 19 20 21 26 29 39

4.3 Proteus仿真 ···················································································································· 13

5系统调试 ··································· 14

5.1 软件调试 ··························································································································· 14 5.2 硬件调试 ··························································································································· 14

结论 ······································ 18 致谢 ······································参考文献 ····································附录A 英文原文 ································附录B 中文翻译 ································附录C 程序源代码 ·······························附录D 元件清单 ································19 20 21 26 29 39

1引言

1.1课题背景

随着单片机在各个领域的广泛应用,许多用单片机做控制的球赛计时计分系统应运而生,如用单片机控制LCD液晶显示器计时计分器,用单片机控制LED七段显示器计时计分器等。

体育比赛计时计分器是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录、加工处理、传递利用的工具。篮球比赛的计时计分器是一种得分类型的工具。它由计时器、计分器等多种电子设备组成。 1.2立题的目的及意义

虽然篮球比赛中很早就开始研究应用了电子计分器,但通常都是利用模拟电子器件、数字电子器件或是模拟、数字混合组成的,其稳定性和高准确度计分仍存在一些问题。以单片机为核心的篮球比赛计分器,计分准确,具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点。

除了上述特点外,单片机在功能性,集成度,通用性方面也非常良好,基于这些优势,使得单片机得到了广泛的应用,现在在新电子产品和测量控制应用系统中作为非常重要的部件来来应用,社会中的各个机电行业,相关的测控类的企业,各大电气厂商纷纷将单片机作为核心部件,用来进行产品更新,实现产品的数字化和智能化。本次篮球赛计时计分器的设计便是基于单片机的计时计分系统,它由计时器,计分器,综合控制器和报警器等组成。 1.3国内外的研究现状及发展趋势

体育比赛计时计分系统是对体育比赛过程中所产生的时间,比分等数据信息进行快速采集记录、加工处理、传递和利用的系统。不同的运动项目,有着不同的比赛规则,体育比赛的计时计分系统分多种类型,包括测量类、评分类、命中类、制胜类和得分类等。作为一种得分类型的计时计分设备,篮球赛比赛的胜负取决于规定时间内两队之间的比分多少。篮球赛计时计分器通过计时器,积分器等电子设备来展示比赛数据。随着运动员技术的不断提高,篮球赛的技术水平也要求越来越高,要求这个系统不光能实现计时计分功能,还要能连接现场的大屏幕,场外的电视转播车等等多个设备,要能随时对现场的比赛成绩进行处理,以给观众带来激烈的比赛场面和娱乐体验。

单片机是微型计算机发展的一个重要分支,它以其独特的结构和性能,越来越普遍地应用

[3]

的到国民经济建设的各个领域,而且采用AT89S51单片机设计,能使仪表向数字化、智能化、多功能化、柔软化方向发展,是检测、处理、控制等功能一体化,重量大大减轻,便于携带和使用,具有很高的性价比。 1.4本系统主要研究内容

本系统主要完成的任务:

篮球比赛上下半场各20分钟,要求能随时暂停,启动后继续计时,一场比赛结束后应可清零重新开始比赛。计时器由分、秒计数器完成,秒计数器为模60,分计数器应能计至40分钟。设计内容包括计时器、计分器、到时报警、比分显示等部分,可以使参加比赛的成员、裁判和观众一目了然的看到所有参加者的成绩,以最快的速度评出结果。

[1]

[6]

2系统总体设计

2.1 系统总体设计方案

1、能记录整个赛程的比赛时间,并能修改时间,暂停比赛时间。 2、能随时刷新甲、乙两队在整个赛程中的比分。 3、场中交换比赛场地时,能交换甲、乙两队比分的位置。 4、比赛时间结束时,能发出报警指令。

图2.1 系统构成图

2.2 系统基本功能介绍

1、一个四位一体数码管显示比赛时间,时间格式如:15:00,两个三位一体数码管显示甲乙两对的比分,比分格式如:008。

2、比赛时间采用倒计时方式,以一秒的频率减时,上电时默认初值为15:00,在没有开始比赛时,可以修改时间,比赛开始后不能修改。

3、甲乙队比分采用三位数,上电初值为000,最大值为999,满足常理要求,未开始比赛以及比赛结束后比分无法加减。

4、比赛未开始之前,可以通过ADD1、DEC1键对比较时间的分钟进调时,通过ADD2、DEC2键对比较时间的秒进行调时。

5、可随时暂停/启动比赛时间。

6、比赛进行时,可以通过ADD1、DEC1键对甲队比分加、减,可以通过ADD2、DEC2对乙队比分加、减。每按一次键,加/减1分。

7、当一节比赛完后,可以通过(EXCHANGE)换场键换场,换场后,比分交换显示,交换后,下一节比赛开始时,相应的比分加减键也随之交换。

8、当比赛结束时,发出报警。

图2.2 按键定义图

如图2.2示:键盘对应名称如下:

ADD1,DEC1,EXCHANGE,ADD2,DEC2,RUN/STO 其中,

ADD1为甲队比分加1键,(比赛开始前为调整时间加1) DEC1为甲队比分减1键,(比赛开始前为调整时间减1) EXCHANGE为换场键,一节比赛结束后才可换场。 ADD2为乙队比分加1键,(比赛开始前为调整时间加1) DEC2为乙队比分减1键,(比赛开始前为调整时间减1)

RUN/STOP为启动暂停键,比赛开始前按下启动计时,比赛开始,比赛开始后,按下为暂停计时,比赛暂停。

3.1 篮球计时计分器电路原理图

3系统硬件电路设计

图3.1 篮球计时计分器电路原理图

陕西理工学院毕业设计

4LED

3.2 篮球计时计分器电路工作过程

1.调整比赛时间:插上电源后,系列默认比赛时间为15:00,甲乙队比分默认000,此时按下ADD1键,可以对比赛时间分钟加1,按下DEC1键,可以对比赛时间的分钟减1,按下ADD2键,可以对比赛时间秒加1,按下DEC2键,可以对比赛时间秒减1。

2.启动比赛:按下RUN/STOP键,计时开始,比赛时间以1秒的频率倒计时。 3.暂停比赛:比赛运行的状态下,按RUN/STOP键,比赛暂停,计时暂停。

4.比分加减,在比赛进行的状态下按ADD1,DEC1键,可以对甲队比分加、减1,按ADD2、DEC2键,可以对乙队比分加、减1.

5.交换场地:在一节比赛时间结束后,按下EXCHANGE键,比赛时间重新预置为15:00,同时左右两边数码管的比分交换显示。此时按下启动键可以开始新一节的比赛。

6.报警提示:在一节比赛时间倒计时到00:00时,蜂鸣器发出报警提示。 3.3系统硬件电路组成 3.3.1 计时电路

1.显示器及其接口

作为最常用的输出设备,显示器种类繁多,发光二极管显示器(LED)和液晶显示器(LCD)是

[4]

在单片机系统设计中最常用的两种类型。这两种显示器之所以得到广泛的应用,是由于其结构简单,价格便宜,并且接口也容易实现。下面介绍发光二极管显示器(LED)的结构、工作原理及其接口电路。

(1)LED结构与原理 图3.2为典型的数码管。

图3.2 7段LED数码管

如图3.2LED显示器又称为数码管,主要由8个发光二极管组成。其中7段发光管排列成“日”字形,在显示器的右下角有一个点形的发光管用来显示小数点,这样它可以显示每个数字和一些英文字母,。LED显示器有两种不同的形式:一种是共阳极LED显示器,另一种是共阴极LED显示器,前者8个发光二极管的阳极都连在一起的,而后者8个发光二极管的阴极都连在一起。

(2)LED显示器显示方式

点亮LED显示器有两种方式:一是静态显示;二是动态显示。在本次设计中,采用的是动态显示。

所谓静态显示,单独的具有锁存功能的I/O接口被每一个显示器单独占用来实现笔划段字形代码。这样需要显示的字形代码只要被单片机单独发送到接口电路,就可以了,要显示新的数据时,接着发送新的字形码即可,所以,使用这种方法单片机中CPU的资源占有率比较小。

这种电路的优点在于:不同的字符可以在同一时间来显示;但缺点就是端口资源占用较多。从

图3.2以看出,每位LED显示器上8根端口线需要被单独占用,因而,当数据量多的时候,这种设计往往不被采用,而是利用动态的显示方式。本设计采用的便是此种显示方式。

图3.3 静态显示图

由于所有的段选码连在一起,所以同一瞬间只能显示同一种字符。但如果要显示不同字符,则要由位选码来控制。(如果LED为共阴极则P2.0~~P2.3输出为高电平,如果LED为共阳极则P2.0~~P2.3输出为低电平。)

2.报警器

(1)报警器的工作原理

一般常见的报警器种类比较多,包括扬声器,蜂鸣器等,本次设计所采用报警器为电磁式蜂鸣器。这种蜂鸣器由振荡器、电磁线圈、磁铁、震动膜片以及外壳等部分组成。当电源接通以后,音频信号由振荡器产生并通过电磁线圈,让电磁线圈周围形成一个磁场。在电磁线圈和磁铁的相互作用下,振动膜片发出周期性的振动声。

3.计时电路的工作原理图

图3.4 计时电路原理图

4.计时电路的工作原理

计时电路主要由开关K6、K7,单片机STC89C51以及LED显示器构成。其工作过程如下:当比赛准备开始的时候,按下K6即可,计时开始,计时采用倒计时,例如:设置初始化的时间为15分钟,则LED数码管上会显示“1500”四位数。当定时T0计数60秒后中断返回,继续定时计数下一个60秒;4位LED显示器上显示出“1459”四位数,表示比赛时间经过了1秒钟,即为14分59秒。这样一直持续下去,直到计时显示为“0000”时表明赛程结束。如果比赛中被叫暂停,则只需要按下K7键,赛程计时暂停。

5.振荡电路

本次设计要使用到STC89C51单片机的时钟振荡功能。STC89C51中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一同构成自激振荡器。

振荡电路如图3.5所示。如图3.5,外接石英晶体或者陶瓷谐振器以及电容C1,C2接在放大器的反馈电路中构成并联谐振电路。谐振器本身对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度以及温度的稳定性,如果使用石英晶体,使用30pF。

图3.5 时钟振荡电路

3.3.2 计分电路

本次设计使用的是石英晶体谐振器,因此采用30pF的电容,频率大小采用的是12MHZ晶振。 1.计分电路

8051系列单片机包括4个8位并行口和一个全双工串行通信口。串口通信可以同时进行串行发送和接收,还能作为同步移位寄存器使用。正是利用了8051单片机串行口可以外接串行输入并行输出移位寄存作为输出口,球赛计分电路才能实现球赛双方比分的刷新显示。

2.计分电路原理图

计分电路原理图如图3.6所示。

图3.6 计分电路原理图

3.计分电路的工作原理

计分电路主要由单片机STC89C51, LED显示器以及按键开关组成。其工作过程如下:按键开关K2、K3、K5 、K6组成甲、乙两队加减分控制。按键一端接地,另一端输入与单片机STC89C51的P3.5,P3.4,P0.2,P0.1。

例如:现在先在以甲队加分为例,来说明整个过程。假设比赛刚开始,双方比分为000 :000,当某一时刻之后,当甲队加分时,则按下K2键,这时K2=0(低电平),其余K3K5K6=111(为高电平)

[7]

K2K3K5K6相与后为低电平,这时的低电平输出到STC89C51的P3.2脚,使外部中断INT0发生中断,从而调用中断服务程序,从程序中定义的LED显示常数表TAB中取出要显示的数据06H(因为LED显示常数表TAB的偏移地址为36H,36H首先是指向LED显示常数表TAB中第一个数据3FH的,当K5按下时,相当于将33H地址加1,这时便指向第二数据06H,即对应字母代码关系表中的加1)。 3.4 STC89C51芯片介绍

STC89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件的生产均采用高密度、非易失性存储技术,标准MCS-51指令系统可以得到兼容,STC89C51内置了功能强大的微型计算机,可以提供高性价比的解决方案。

为适应不同产品的需求,STC89C51具备PDIP、PQFP/TQFP及PLCC等三种封装形式,作为一个低功耗高性能单片机,它有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,STC89C51可以在线编程,也可以通过一般的方法进行编程。结合通用的微处理器和Flash存储器,尤其是可反复擦写的Flash存储器使开发成本得到有效的降低。

[10]

[9]

3.4.1 管脚说明

VCC:供电电压。 GND:接地。

如图3.7所示,图3.7为STC89C51单片机基本构造,其基本性能介绍如下:

图3.7 STC89C51引脚图

STC89C51的主要特性如下表3.1所示。下面介绍各个管脚:

P0口:P0口为一个8位漏极开路双向I/O口,每个引脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。当1被写入P1口管脚后,内部将其上拉为高,可以用来输入,外部将P1口下拉为低电平时,由于内部上拉的缘故,将输出电流。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容,P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

表3.1 STC89C51主要功能描述

功能

兼容MCS—51指令系统 32个双向I/O口 两个16位可编程定时/计数器

1个串行中断 两个外部中断源 可直接驱动LED 低功耗空闲和掉电模式

描述

4k可反复擦写(>1000次)Flash ROM

可编程UARL通道 全静态操作0-24MHz 128x8bit内部RAM 共6个中断源 3级加密位

软件设置睡眠和唤醒功能

P3口:P3口管脚是8个带有内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当 “1”

被写入P3口后,内部会将P3口上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平。P3口将输出电流。

P3口也可作为STC89C51的一些特殊功能口,如表3.2所示。 P3口同时为闪烁编程[20]和编程校验接收一些控制信号。

RST:复位输入。当器件被振荡器复位时,RST脚两个机器周期的高电平时间要保持。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。

表3.2 STC89C51特殊功能表

端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

第二功能 RXD(串行输入口) TXD(串行输出口) /INT0(外部中断0) /INT1(外部中断1) T0(记时器0外部输入) T1(记时器1外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通)

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。

4系统仿真

4.1仿真工具的介绍 4.1.1 Proteus软件介绍

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅涵盖了其它EDA工具软件的仿真功能,单片机及外围器件也可以。它是目前最好的仿真单片机及外围器件的工具。虽然这款软件在国内刚刚被推广,但对于从事单片机教学的教师、单片机爱好者、致力于单片机开发应用的科技工作者,早已青睐已久。

它是一个一体化的系统设计和仿真平台,集成了模拟电路、数字电路、模数混合电路以及多种

[11]

微控制器系统。它真正的实现了从概念到产品的全套设计,从原理布图、代码调试一直到单片机

[8]

和外围电路的协同仿真,到一键切换到 PCB的设计。是目前世界上唯一将电路仿真软件、 PCB设计软件和虚拟模型仿真软件三者结合为一体的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续添加其它系列的处理器模型。在编译这方面,它也支持IAR、Keil和MPLAB等多种编译器的使用。

功能特点:Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:原理布图;PCB自动或人工布线;SPICE电路仿真。革命性的特点1. 电路仿真的互动性让用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2.仿真处理器及其外围电路,51系列、AVR、PIC、ARM、等常用主流单片机均可以被仿真。在基于原理图的虚拟原型上它可以直接编程,再配合显示器输出,运行后输入输出的效果得到展示。配合系统配置的虚拟逻辑分析仪、示波器等,完备的电子设计开发环境已经在Proteus上得到建立。 功能模块:丰富的器件库:多达27000种元器件以上,创建新元件非常简便;智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,绘图时间得到了大大缩短;支持总线结构:电路设计使用总线器件和总线布线使其变得简明清晰;可输出高质量图纸:通过个性化设置,印刷质量的BMP图纸可以被生成,也可以方便地供WORD、POWERPOINT等多种文档使用。

电路仿真:在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。针对单片机课堂教学,PROTEUS作为智能助手。许多单片机实例功能不仅可以变得形象化,许多单片机上运行的实例过程也变得形象化。在实物演示实验的效果上,一定程度上前者比后者更能达到效果。它的元器件、连接线路和传统的单片机实验硬件之间实现了高度的对应。使得传统的单片机实验教学的功能在相当程度上被替代,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。实践证明,通过 Proteus 进行系统

[5]

仿真开发好后再进行实际制作,使单片机系统设计的效率得到极大提高。因此,Proteus 有较高的推广利用价值。目前Proteus的最新版为7.9,ARM cortex处理器被增加,在7.9中已经增加DSP系列(TMS320)。 4.1.2 Keil软件介绍

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,相比于汇编语言,C语言不论在学习还是应用上都非常容易,它在功能上、结构性、可读性、可维护性上有着明显的优势。Keil提供了完整的开发方案,它高度集成了C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器,让这些部分在一个集成开发环境(uVision)下组合在一起。操作系统像WIN98、NT、WIN2000、WINXP等。均可以运行Keil软件。不论是使用C语言编程或仅用汇编语言编程, Keil都是最好的选择,因为其具备易用的集成环境、强大的软件仿真调试工具。

Keil使用说明:

启动建立一个工程选择工程保存位置选择单片机(MCU)型号 弹出对话框询问是否将初始化代码一起加入工程建立.c文件,将.c文件添加到工程开始编写程序写完程序后,点“编译”“链接”编译成功后,生成HEX文件,将生成的HEX装载到仿真单片机完成相应的功能。 4.2系统设计流程图

系统程序设计流程图如图4.1和图4.2所示。

图4.1 计分部分程序流程图

图4.2 计时部分程序流程图

如图4.3 为篮球赛计时计分器的系统仿真图。

4.3 Proteus仿真

陕西理工学院毕业设计

4LED

陕西理工学院毕业设计

图4.3 系统仿真图

5系统调试

5.1 软件调试

上电时对系统中进行检测是单片机程序中的一个良好设计。在硬件设计时也应该细细考虑将各个使用到的芯片、接口设计成容易使用软件进行测试的模式。

很多有经验的单片机设计者都会在系统上电时(特别是第一次上电时)进行全面的检测,或者更进一步,将系统的运行状态中分为测试模式和正常运行模式,通过加入测试模式对系统进行详细的检测,使得系统的批量检测更为方便容易。

另外要注意的是,即使一个非常简单的故障,在显示界面上也是不易察觉的,需要非常谨慎清晰的头脑来分析发现。例如:作为单片机系统中常用的器件,系统的外部RAM(数据存储器)一旦出现问题的话,通常情况下,整个程序会失去控制。

因此,程序在上电启动时,针对外部RAM 务必要进行细致的检测。 检测内容包括:

(1)RAM 中各单元的检测。观察写入和读出的数据是否都保持一致。

(2)单片机与RAM 之间的地址数据总线的检测。确保总线之间没有发生短路,也都没有接到“地”上。此外,很多芯片都有提供测试方法。像串行通信芯片UART,都带环路测试的功能。 此外,要做好充分的准备再进行仿真操作。对于单片机开发者,虽然单片机硬件仿真器让工作变得更加方便,但也很容易造成人的懒惰心理。许多工程师,没有仿真器,也可以写出很出色的程序来。在硬件仿真调试之前,要做好一下准备工作:

(1)编程结束后,对写的代码进行整体检查和走查。同时也要看代码的规范性是否符合要求,细心寻找发现代码中的错误,将其记录到代码检查表中,根据二八定律,再出现错误的地方,可能还有别的错误。所以,针对代码错误多的地方要重点检查。

(2)测试各个子程序的正确性。通过用程序测试程序的测试方法,编写一个调用该子程序的代码,定义要测试子程序的入参条件,给一个入参看它能否按预期输出一个正确的出参。

(3)预判出错误容易出现的地方,有针对性的进行代码检查,如果部分代码做了修改,要检查是否修改成功,各个模块的程序和整体的程序都要能够正确运行,注意修正一个错误的同时也可能会引入新的错误。

(4)利用专门的调试工具或程序语言提供的调试功能来分析程序的动态执行。一般程序语言和工具提供的调试功能有检查主存和寄存器;设置断点,针对特定语句或改变特定变量的值时执行,程序到达断点处停止执行,观察程序此时的状态,做进一步分析。

(5) 在不影响硬件各部分功能实现的情况下,可以允许有一些小的Bug或缺陷产生,但要反复运行调试,确保程序中没有致命的或一些隐藏着的重大缺陷,将Bug的比率降到最低。程序可以在硬件电路中稳定运行。 5.2 硬件调试

1.上电初始化系统,默认比赛时间为15:00,甲乙队比分默认000。

2.比赛时间调至20:00,按下RUN/STOP键,以一秒的频率,倒计时方式开始计时或暂停计时。

3.比赛进行中,对两队比分进行加减操作。

4. 比赛时间倒计时到00:00时,蜂鸣器发出报警提示。

5.上半场比赛结束,按EXCHANGE键,比分交换显示,比赛时间重新预置为15:00。

在本次设计中,我通过基于典型单片机STC89C51的设计和应用,对于单片机工作原理,功能有了宏观的了解,并对单片机C程序的应用有了新的、进一步的认识。

在设计的过程中,我发现很多的问题,给我的感觉就是下手很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路。另外单片机系统的知识似懂非懂,而且很多知识当时弄明白了,现在要用的时候又不记得,造成我用了大量的时间去查阅各种资料和程序命令,因此整个过程时间安排不合理。由于设计的计划没有安排好,设计的时间极为仓促,尤其是在硬件调试的过程中出现了很大的问题。另外资料的查找也是一大难题,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后的就业还是学习,都会起到很大的促进和帮助。 本次设计测试结果以及不足之处:计时电路可完成倒计时、暂停、继续等功能,在比赛时间到后可进行报警。记分电路工作正常,可完成对比分的刷新与暂存。

首先,感谢学校四年来对我的培养。为我们营造了一个良好的学习氛围,建设一流的教学设施,使我们身心愉快的投入到学习中。

其次,感谢尊敬的梁芳老师,有了他的谆谆教诲,处处提点,才使本论文的前期准备以及整个研究过程顺利完成。梁芳老师的严谨治学态度、扎实的理论基础、全身心投入工作的精神以及对学生尽心尽力的态度给了我极大的帮助与鼓励,使我受益匪浅。从梁芳老师的教学态度上,我学到的不仅仅只有书本上的知识,还有做人的道理。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。在此谨向梁芳老师致以诚挚的谢意和崇高的敬意。

最后,感谢我的父母多年来给予我的支持和关怀,同时感谢我的舍友和朋友对我的帮助。 还有许许多多给予我学业上鼓励和帮助的朋友,在此无法一一列举,在此也一并表示忠心地感谢!

参考文献

[1]徐惠民,安德宁.单片微型计算机原理接口及应用.(第二版)北京:北京邮电大学出版社,2000: 23-38.

[2]唐俊翟.单片机原理与应用.北京:冶金工业出版社,2003.8.

[3]丁明亮,唐前辉.51单片机应用设计与仿真-基于Keil C和Proteus.北京:北京航空航天大学出版社,2009.

[4]彭为.黄科,雷道仲.单片机典型系统设计实例精讲.北京:电子工业出版社,2006:247-273.

[5]求是科技.单片机应用系统开发实例导航.北京:人民邮电出版社,2004.

[6]何立民.单片机应用技术选编.北京:北京航空航天大学出版社,2002.

[7]电子世界.2005年9月刊.国内邮发代号:2-892.

[8]蒋辉平,周国雄.基于PROTEUS的单片机系统设计与仿真实例.北京:机械工业出版社,2009.

[9]李东生.Protel99 SE电路设计技术入门与应用.第一版.北京:电子工业出版社,2002.

[10]罗伯特森.PCB设计基础.北京:机械工业出版社,2007.5:15-20.

[11]金素华,张尉.单片机调试方法的讨论.电子世界,2004. 25(4):34-65.

[12]Compaq,Intel,Microsoft,NEC.Universal Serial Bus Specification V1.1[S].1998.

[13] Philips,Augest.PDIUSBDI2 DataSheet[EB].20.

附录A 英文原文

We live in the wider world, mankind has entered an unprecedented development of science and technology information society. In this rapidly changing information society, along with LSI, the rapid development of computer technology and artificial intelligence is widely used in testing technology, traditional electronic measuring instruments in principle, function, level of accuracy and automation have taken place great changes, and gradually form a complete breakthrough in the traditional concept of a new generation of instruments - intelligent instrument. Currently, most traditional electronic instruments and updating the existing corresponding intelligent instrumentation products, but also the emergence of many new types of equipment, so that modern electronic equipment has undergone fundamental changes.

Sports time scoring time is generated during sports, the score and other information quickly and accurately collect data recording, processing, transmission and utilization systems. Depending on the sport, the rules of the game have different requirements, the game sports time scoring categories include measuring, evaluation classification, hit category, winning the class and have other types of classification.

Basketball game is based on the movement of players in the game a predetermined number of time points to determine the winner, so time scoring basketball game is a score type of control system. The game of basketball by the timer time scoring system, scoring device and other electronic equipment consisting of, at the same time, according to the current requirements of high-level basketball game, basketball game perfect timing and scoring equipment should be able to deal with Live Scores, Live Large screen, television trucks and other equipment linked to achieve a sense of fierce competition live entertainment performances and functional objectives.

SCM since the 1970s came to an extremely high price people's attention and concern, it is very extensive, it has developed rapidly. SCM also known as single-chip microcontroller, it is not a complete one-chip logic function, but to a computer system integrated into a single chip. Speaking in general terms: a chip into a computer. Its small size, light weight, cheap, learning, application and development of facilities provided. At the same time, learning to use the single-chip computer is the best choice to understand the principles and structure. SCM also used internal computer functions and similar modules, such as CPU, memory, parallel bus, as well as the role of the hard disk and the same storage device, use it to do some electrical control class is not a very complex task sufficient. We are now using automatic drum washing machine, exhaust hood, VCD and so on appliances which can see its shadow.

Advantage of these devices is highly integrated, strong, common good, especially its small size, light weight, low energy consumption, low cost, high reliability, strong anti-interference ability and ease of use. For example, 80C51 microcontroller series more than ten years of life, and now still maintains an upward trend, it is sufficient to prove this point. Microcontroller with its series of advantages, in recent years has been the rapid development and large-scale promotion, widely used in industrial control systems, data acquisition systems, intelligent instrumentation, and communications equipment, daily consumer products, toys and so on. And it has been deep into all aspects of industrial production, as well as all levels of people's lives, as assembly line control, automation systems, intelligent home appliances. The United States ATMEL company developed and produced a new 8-bit microcontrollers --AT89 family of microcontrollers. He not only has all the characteristics of the general MCS-51 microcontroller, but also has some unique advantages.

These advantages as the device itself, so that the microcontroller quickly get the application, widely used in smart instrumentation, industrial control, home appliances, computer networks, medical equipment, automotive equipment and the like. It has become the preferred models and key parts of the measurement and control applications in new electronic products. The world's major manufacturers of electrical, measurement and control technology companies, mechanical and electrical industries, competing for the microcontroller used in product updates, as the digital, intelligent core components. Current major chip companies in

the world have launched their own microcontroller, from eight, 16-32, etc., but they are unique, mutually complementary for microcontroller applications a vast world. Timing basketball scoring device is a microcontroller as the core of the timed scoring system by the timer, scoring device, the integrated controller and 24 seconds the controller and other components.

Basketball is a shooting one centered confrontational sport, January 1892 (another way of saying in December 1891),the United States , Massachusetts, Springfield YMCA Training School teacher James Ness Smith by Dr. INNOVATION In order to improve the game of basketball, he developed in 1892, 13 of the rules, after the gradual modification and addition of provisions, the number of appearances is gradually reduced until the provisions of 5 people per team, this has become the modern basketball, accompanied by the emergence of basketball, timing scoring basketball also emerged. Initially, there is no formal timing scoring device, only a simple game clock and scoreboard. In 1932, just born to American universities use the FIBA basketball rules as a basis for the world's first unified competition rules, while also scoring basketball game timer began to enter the electronic age , Began the game clock, scoring circuit is a simple circuit barricaded.Stopwatch when used for suspension or suitable (visible) device (not the game clock). Two separate, distinctly different and very loud signal, record table, team fouls signs. 1980s is highly technical and synchronous speed development period, while focusing on developing countries in height, electronic technology has entered a new stage, and gradually form a complete breakthrough in the traditional concept of a new generation of instruments - intelligent instrument.Currently, most traditional electronic instruments and updating the existing corresponding intelligent instrumentation products, microcontroller to control the core, intelligent devices can also be applied to the basketball arena in.

After years of research and production practice, solve the problem of low-scoring basketball timing performance and stability, low accuracy, volume and other clumsy workmanship. But basketball is not timed scoring is widely used in various places, its high costs, some small and medium factories, schools, businesses or the continuation of the hand to the timing and scoring. SCM control system is simple to use button operation, LED display, easy to install. Solve the basketball game counter installation, saving wire, suitable for all sizes of stadiums to use, it can replace the traditional method of using the watch timer, of course, a little change can also be used for other ball games, sports an example of equipment to intelligent development.

Although the game of basketball very early began to study the application of electronic timing scoring device, but usually using analog electronics, digital electronics, or analog, digital, mixed composition, its stability and high accuracy timing scoring persists some problems. With the continuous development and updating of science and technology of electronic

technology, its stability and high accuracy timing scoring is still the subject of scientific research and production.

Electronic engineering technology, integrated and systematic promotion of the development of electronic engineering technology, but also to promote electronic engineering technology is widely used in various sectors of society. With the single-chip widely used in various fields, many microcontroller for control of game time scoring system will be shipped to produce, for example, the microcontroller controls the timing scorer LCD liquid crystal display, MCU control LED segment display timing scoring device Wait. Meanwhile microcontroller widely used in this field, but also greatly enhance the game's scoring in the timing stability and accuracy.

Basketball scoring screen is a ubiquitous electronic products, after years of development, the technology is already quite mature. According to the current requirements of high-level basketball game, basketball game perfect timing system equipment should be capable of handling live scores, live big screen, TV trucks, and other associated equipment, in order to achieve a high sense of competition site, offer entertainment features such as target audience. With the widespread promotion of industrial structure adjustment of electronic technology, the rapid development of the production process and basketball, the market demand for basketball scorer is also growing. Timing scoring basketball game utilizes SCM STC89C51 timekeeping and scoring functions. STC89C51 by the programming control LED seven-segment LED display for the game time scoring. The system has a regular schedule set, schedule time to pause, timely refresh of both

A and B grades, when the exchange field venues, to exchange A and B teams were in position at the end of game time, game instructions, and can alarm results scratch and other functions. Based STC89C51 MCU timer basketball scoring device, use common cathode 7-segment LED as a display device. Access a four in one common cathode 7-segment LED display, 2 Trinity 7-segment LED display common cathode, the former used to record the time schedule, which is used to display 2 minutes, 2 seconds for the display, with the latter B team to record a score, each team three integrated LED display range can reach from 0 to 999 points. Schedule timer count down approach, starting the timing when the start of the race, until the timing to zero. To cope with the timer and scorer correction adjustment time and score, you can set up buttons for settings, adjust the time, start, pause and adjust the score and other functions. SCM control timer makes basketball scoring

system using a simple button operation, LED display, easy installation. It has a low price, stable performance, easy to operate and easy to carry and so on. Suitable for a wide range of types of schools or small groups as the race timing and scoring points.

With the new technology innovation and development in the pursuit of athletic competitions and entertainment to watch the basketball court, timing scoring and other electronic devices are also intelligent and tend to slowly digitizing, along with various sports competitions will also be gradually It will become more equitable, just and wonderful.

附录B 中文翻译

在我们生活的大千世界上,人类已进入了科学技术空前发展的信息社会。在这个瞬息万变的信息社会里,随着大规模集成电路、计算机技术的迅速发展,以及人工智能在测试技术方面的广泛应用,传统电子测量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,逐步形成了一种完全突破传统概念的新一代的仪器——智能仪器。目前,大多数传统的电子仪器已有相应换代的智能仪器产品,而且还出现了不少全新的仪器类型,使现代电子仪器发生了根本性的变化。

体育比赛计时计分系统是对体育比赛过程中所产生的时间,比分等数据信息进行快速准确采集记录、加工处理、传递和利用的系统。根据运动项目的不同,比赛规则要求也不同,体育比赛的计时计分系统包括测量类,评分类,命中类,制胜类和得分类等多种类型。

篮球比赛是根据运动队员在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的控制系统。篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成的,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现激烈的比赛现场感和表演娱乐等功能目标。

单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影。

单片机的优点是集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便。例如,80C51系列单片机已有十多年的生命期,如今仍保持着上升的趋势,就充分证明了这一点。单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制、自动化系统等、智能型家用电器等。而美国ATMEL公司开发生产了新型的8位单片机——AT89系列单片机。他不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点。

由于单片机的这些自身优点,使单片机迅速得到了推广应用,广泛应用于智能仪器仪表、工业控制、家用电器、计算机网络、医疗设备、汽车设备等领域中。目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。当前世界上各大芯片公司都推出了自己的单片机,从8位、16位到32位等,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器和24秒控制器等组成。

篮球是以投篮为中心的对抗性体育运动之一,1892年1月(另一种说法是1891年12月),为美国马萨诸塞州菲尔德基督教青年会训练学校教师詹姆士·奈斯密斯博士所创。为了完善篮球游戏,他在1892年制定了13条规则,后逐步修改和增加条款,出场人数也逐渐减少,直至规定每队5人,这才成为现代的篮球运动,同时伴随着篮球的出现,篮球赛计时计分器也应运而生了。起初,并没有正规的计时计分器,只有简单的比赛计时钟和记录板。1932年,刚诞生的国际篮联以美国大学使用的篮球规则为基础,制定了第一份世界统一的竞赛规则,同时篮球赛计时计分器也开始进入了电子时代 ,开始出现比赛计时钟、简单电路搭成的计分电路。供暂停时用的计秒表或适宜的(可见的)装置(不是比赛计时钟)。两个独立的、显然不同的和非常响亮的信号,记录表,队员犯规标志牌。80年代是高度、技术和速度同步发展时期,各国在重视发展高度的同时,电子技术也进入一个新的阶段,逐步形成了一种完全突破传统概念的新一代的仪器——智能仪器。目前,大多数传统的电子仪器已有相应换代的智能仪器产品,同时以单片机为控制核心,智能器件也应用到了篮球赛场中。

经过多年的研究与生产实践,解决了篮球赛计时计分器稳定性能低、精确度低、体积笨拙等制造工艺上的难题。但是篮球赛计时计分器还不能广泛应用于各种场所,它的成本很高,一些中小型工厂、学校、企业还是延续手到计时和计分。采用单片机控制是这个系统按键操作使用简洁,LED显示,安装方便。解决了篮球比赛计数器的安装问题,节约了线材,适合在各种规模的体育场馆使用,完全可以代替传统的用钟表进行计时的方法,当然稍加改动也可以用于其他球类比赛,是体育器材向智能化发展的一个实例。

虽然篮球比赛中很早就开始研究应用了电子计时计分器,但通常都是利用模拟电子器件、数字电子器件或是模拟、数字混合组成的, 其稳定性和高准确度计时计分仍存在一些问题。随着科学技术的发展和电子技术的不断更新,对其稳定和高准确度计时计分的实现至今仍是生产和科研的课题。

工程技术的电子化、集成化和系统化促进了电子工程技术的发展,同时也促进了电子工程技术在社会各行业中的广泛应用。随着单片机在各个领域的广泛应用,许多单片机作控制的球赛计时计分系统也就应运产生,例如用单片机控制LCD液晶显示器的计时计分器,用单片机控制LED七段显示

[2]

器的计时计分器等。同时单片机在此领域的广泛应用,也大大提高了比赛中计时计分器的稳定性和准确性。

篮球计分屏是一个无处不在的电子产品,经过多年的发展,技术已经相当成熟了。根据目前高水平篮球比赛要求,完善的篮球比赛计时系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。随着电子技术的产业结构调整,生产工艺的飞速发展和篮球的广泛推广,市场对篮球计分器的需求也越来越大。篮球比赛计时计分器利用单片机STC89C51实现了计时和计分的功能。由STC89C51编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩,场中交换比赛场地时,能交换甲、乙两队比分的位置,比赛时间结束时,能发出报警指令以及赛后成绩暂存等功能。基于STC89C51单片机的篮球计时计分器,利用7段共阴LED作为显示器件。接入1个四位一体7段共阴LED显示器,2个三位一体7段共阴LED显示器,前者用来记录赛程时间,其中2位用于显示分钟,2位用于显示秒钟,后者用于记录甲乙队的分数,每队3位一体的LED显示器显示范围可达到0~999分。赛程计时采用倒计时的方式,比赛开始时启动计时,直至计时到零为止。为了配合计时器和计分器校正调整时间和比分,可以设立按键,用于设置,调整时间,启动,调整分数和暂停等功能。采用单片机控制使篮球赛计时计分器系统按键操作使用简洁,LED显示美观,安装方便。它具有价格低廉,性能稳定,操作方便并且易于携带等特点。广泛适合各类学校或者小型团体作为赛程计时计分。

随着新技术的不断创新和发展,在追求比赛竞技化和观赏娱乐化的篮球赛场上,计时计分器等电子设备也慢慢趋于智能化和数字化,伴随着各项体育赛事也将逐渐会变得更加公平,公正和精彩。

附录C 程序源代码

#include

#define LEDData P0 //定时数码管的段值从P0口输出

unsigned char code LEDCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数码管0--9的编码

unsigned char minit,second,count,count1; //分,秒,计数器

sbit add1=P1^0; //甲对加分,每按一次加1分 /在未开始比赛时为加时间分

sbit dec1=P1^1; //甲对减分,每按一次减1分 /在未开始比赛时为减时间分

sbit exchange=P1^2; //交换场地

sbit add2=P1^3; //乙对加分,每按一次加1分 /在未开始比赛时为加时间秒

sbit dec2=P1^4; //乙对减分,每按一次减1分 /在未开始比赛时为减时间秒

sbit secondpoint=P0^7; //秒闪动点

//----数码管的位选控制脚,共有11位数码管------

sbit led1=P2^7;

sbit led2=P2^6;

sbit led3=P2^5;

sbit led4=P2^4;

sbit led5=P2^3;

sbit led6=P2^2;

sbit led7=P2^1;

sbit led8=P2^0;

sbit led9=P3^7;

sbit led10=P3^6;

sbit led11=P3^5;

sbit alam=P1^7; //报警

bit playon=0; //比赛进行标志位,为1时表示比赛开始,计时开启 bit timeover=0; //比赛结束标志位,为1时表示时间已经完 bit AorB=0; //甲乙对交换位置标志位

bit halfsecond=0; //半秒标志位

unsigned int scoreA; //甲队得分

unsigned int scoreB; //乙队得分

//====================延时==================

void Delay5ms(void)

{

unsigned int i;

for(i=100;i>0;i--);

}

void display(void)

{

//-----------显示时间分--------------

LEDData=LEDCode[minit/10]; //显示分钟的十位

led1=0; //开启位选

Delay5ms(); //延时,以便足以点亮数码管。

led1=1; //关闭位选

LEDData=LEDCode[minit%10]; //显示分钟的个位

led2=0;

Delay5ms();

led2=1;

//-------------秒点闪动------------

if(halfsecond==1)

LEDData=0x80;

else

LEDData=0x00;

led2=0;

Delay5ms();

led2=1;

secondpoint=0;

//-----------显示时间秒------------

LEDData=LEDCode[second/10]; //显示秒钟的十位

led3=0;

Delay5ms();

led3=1;

LEDData=LEDCode[second%10]; //显示秒钟的个位

led4=0;

Delay5ms();

led4=1;

//-----------显示1组的分数百位-------

if(AorB==0)

LEDData=LEDCode[scoreA/100];

else

LEDData=LEDCode[scoreB/100];

led5=0;

Delay5ms();

led5=1;

//---------------显示1组分数的十位-----------

if(AorB==0)

LEDData=LEDCode[(scoreA%100)/10];

else

LEDData=LEDCode[(scoreB%100)/10];

led6=0;

Delay5ms();

led6=1;

//---------------显示1组分数的个位-----------

if(AorB==0)

LEDData=LEDCode[scoreA%10];

else

LEDData=LEDCode[scoreB%10];

led7=0;

Delay5ms();

led7=1;

//-----------显示2组分数的百位-------

if(AorB==1)

LEDData=LEDCode[scoreA/100];

else

LEDData=LEDCode[scoreB/100];

led8=0;

Delay5ms();

led8=1;

//-----------显示2组分数的十位-----------

if(AorB==1)

LEDData=LEDCode[(scoreA%100)/10];

else

LEDData=LEDCode[(scoreB%100)/10];

led9=0;

Delay5ms();

led9=1;

//-----------显示2组分数的个位-----------

if(AorB==1)

LEDData=LEDCode[scoreA%10];

else

LEDData=LEDCode[scoreB%10];

led10=0;

Delay5ms();

led10=1;

}

//=========================按键检测程================================================

void keyscan(void)

{

if(playon==0) //在比赛未开始的状态下

{

if(add1==0) //当add1按键按下时

{

display(); //调用显示,同时作为延时消抖

if(add1==0); //延时消抖后,依然检查到按键按下

{

if(minit

minit++;

else

minit=99; //否则,分钟仍然为99,最在调整为99分钟 }

do //当按键未松开时,一直调用显示,防止数码管闪动, display();

while(add1==0);

}

if(dec1==0) //当dec1键按下时,dec1的原理与add一样, {

display();

if(dec1==0);

{

if(minit>0)

minit--;

else

minit=0;

}

do

display();

while(dec1==0);

}

if(add2==0)

{

display();

if(add2==0);

{

if(second

second++;

else

second=59;

}

do

display();

while(add2==0);

}

if(dec2==0)

{

display();

if(dec2==0);

{

if(second>0)

second--;

else

second=0;

}

do

display();

while(dec2==0);

}

if(exchange==0)

{

display(); 陕西理工学院毕业设计 //调整秒,与上原理相同 //换场键

if(exchange==0); {

TR1=0; alam=1; AorB=~AorB; minit=15; second=0;

}

do

display();

while(exchange==0); }

}

else {

if(add1==0) {

display(); if(add1==0);

{

if(AorB==0) {

if(scoreA

scoreA=999; }

else {

if(scoreB

scoreB=999; }

}

do

display(); while(add1==0); }

if(dec1==0) {

display();

if(dec1==0); 陕西理工学院毕业设计 //关闭T1计数器 //关报警 //开启交换 //并将时间预设为15:00 //在比赛开始时。 //当add1键按下时, //调用显示,同时作为延时消抖, //当场地标志位=0时, //当A方的比分小于999时,比分加1 //否则最大值为999分 //当场地标志位=1时, //当B方的比分小于999时,比分加1 //否则最在值为999分 //当dec1键按下时,原理与add1一样,比分减1

{

if(AorB==0) {

if(scoreA>0) scoreA--; else

scoreA=0; } else {

if(scoreB>0) scoreB--; else

scoreB=0; } } do

display(); while(dec1==0);

}

if(add2==0) {

display(); if(add2==0); {

if(AorB==1) {

if(scoreA

scoreA=999; } else {

if(scoreB

scoreB=999; } } do

display(); while(add2==0);

陕西理工学院毕业设计

//原理与上一样

}

if(dec2==0) {

display(); if(dec2==0); {

if(AorB==1) {

if(scoreA>0) scoreA--; else

scoreA=0; } else {

if(scoreB>0) scoreB--; else

scoreB=0; } } do

display(); while(dec2==0); } } }

//******************************主************************************************* void main(void) {

TMOD=0x11; //TMOD设置

TL0=0xb0; //定时器0,初值为0x3CB0,既定时0.05s TH0=0x3c;

TL1=0xb0; //定时器1,初值为0x3CB0,即定时0.05s TH1=0x3c;

minit=15; //初始值为15:00 second=0;

EA=1; //开总中断 ET0=1; //开T0中断

ET1=1; //开T1中断 TR0=0; TR1=0;

EX0=1; //开外部中断0 IT0=1; IT1=1; // EX1=1; PX0=1; // PX1=1; PT0=0; P1=0xFF; P3=0xFF; while(1) {

keyscan(); //按键检查 display(); //显示程序 } }

//============外部中断0中断程序================= void PxInt0(void) interrupt 0 {

Delay5ms();

EX0=0; //关中断使能 alam=1; //关蜂鸣器 TR1=0; //关定时器0

if(timeover==1) //当一节比较时间结束时,结束标志位=1 {

timeover=0; //清除标志位 }

if(playon==0) //当比赛结束或暂停时 {

playon=1; //开始标志位 TR0=1; //开启计时 } else {

playon=0; //开始标志位清零,表示暂停 TR0=0; //暂停计时 }

EX0=1; //重新开中断 }

//===================定时器0中断服务函数====================== void time0_int(void) interrupt 1 {

TL0=0xb0; //重赋初值 TH0=0x3c;

TR0=1; //启动计时

count++; //软件计数器加1

if(count==10) //0.05s*10=0.5s,即0.5秒钟时 {

halfsecond=0; //半秒标志位清零 }

if(count==20) //0.05s*20=1s,即1秒钟 {

count=0; //清除计数器 halfsecond=1; //半秒标志置1

if(second==0) //倒计时,每计时1秒钟,时间减1,当秒=0时,秒=59,分钟减1

{

if(minit>0) {

second=59; minit--; }

else //当分,秒都为0时,表示倒计时时间到, {

timeover=1; //时间标志位置1

playon=0; //比赛标志清0,表示1节比赛结束 TR0=0; //关闭定时器0

TR1=1; //开启定时1,使蜂鸣器报警 } } else

second--; } }

//==============定时器1中断服务函数========================== void time1_int(void) interrupt 3 {

TL1=0xb0; //重赋初值

TH1=0x3c; TR1=1; count1++; if(count1==10) {

alam=0; }

if(count1==20) {

count1=0; alam=1; } }

//启动计时

//软件计数器加1

//0.05s*10=0.5s,也就是半秒钟 //开启蜂鸣器

//0.05s*20=1s,也就是1秒钟

//清除软件计数器,

//关闭蜂鸣器,也就是蜂鸣器以1秒的频率响

附录D 元件清单

表D1 元件清单

元件名称 万用板9*15 STC89C51单片机 40脚IC座 74HC245 20脚IC座

0.36四位一体共阴数码管 0.36三位一体共阴数码管

10K排阻(103) 2.2K电阻 10K电阻 10uF电容

数量 1 1 1 1 1 1 2 1 1 1 1


相关内容

  • 信工20XX年师生运动会策划
    信息科学与工程学院 2016 年 师 生 交 流 体 育 活 动 时间:2016年11月26日 目 录 一.活动口号.............................................................1 ...
  • 20**年篮球嘉年华策划书最终版
    城建职业学院 2010 ~ 2011学年度 篮球嘉年华策划书 主办方: 城建职业学院篮球协会 赞助商: 活动前言: 篮球是一项全民运动,它是一种大众文化,一种能传播快乐,传播友 谊的渠道.朝气与活力,饱满激情,冲劲是我们这些大学生的特征. ...
  • 0趣味运动会策划
    企 划 书 青岛科技大学 宿舍管理委员会 一.活动时间.地点:2010/11/20东山操场 二.活动目的: 丰富各部门成员的课余生活,锻炼反应能力,缓解学习压力,为以后更好的工作塑造良好的精神面貌.增强团队意识,加强各不联系,使我们宿管委的 ...
  • 四人抢答器电路设计1
    广东石油化工学院 课程设计说明书 课程名称: 数字电子技术课程设计 题 目: 抢答器电路设计 学生姓名: 专 业: 班 级: 学 号: 指导教师: 李新超 日 期: 2010 年 6 月 30日 茂 名 学 院 课 程 设 计 任 务 书 ...
  • 头脑奥林匹克竞赛规则
    头脑奥林匹克竞赛 头脑奥林匹克竞赛规则 一 简介 头脑奥林匹克竞赛(简称OM)是一项创造力的竞赛,现在已成为国际上颇具知名度的培养青少年创造力的活动."OM"竞赛于1976年,由美国新泽西州葛拉斯堡罗州立学院教授Samu ...
  • 20**年伦敦奥运会比赛时间表
    2012伦敦奥运会比赛时间表 2012.7.28 开始时结束时8:158:309:009:009:009:009:309:309:309:309:309:30 16:0011:0012:2013:00 项目射击羽毛球射箭篮球 比赛名称 比赛 ...
  • 20**年党员共建活动方案
    *****2015年党员共建会方案 兹定于******召开****2015年度党员共建会,具体事项如下: 一.参会人员:集团公司全体党员.中层以上领导干部.各企业负责人以及计财部.办公室全体人员. 二.会议时间: 集合时间: 会议时间: 午 ...
  • 心协20**年冬季活动策划
    成都航空职业技术学院 心理协会 "2014年双11情侣模拟活动" 策 划 书 主办方:成都航院社团联合会 承办方:心理协会等社团 赞助方:________________ 2014年11月6日 一:活动主题 大学里有最美 ...
  • 张锦杏-体育管理学案例分析
    案例: 第十三届CUBA中国大学生篮球联赛西南赛区的比赛在湖北省武汉市华中师范大学佑铭体育馆举行,武汉体委和华师体育学院根据第十三届CUBA中国大学生篮球联赛的总目标,对筹备工作做出了很大的努力也获得了很大的成绩. 首先,建立比赛系统工程树 ...
  • 物理活动教案
    物理活动教案 目录: • • • • • • • • • • • • • • • • • • 第一课时:我们身边的科学 第二课时:"生活中的物理"知识竞赛 第三课时:测定反应时间 第四课时:用交通标志估算路程和时间 第五 ...