篮球计时计分器系统设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

篮球计时计分系统

设计报告

电信131 荣根电信132 卓壮浩

目录

1.系统设计要求及设计思路

2.硬件电路设计

2.1主控电路

2.2按键控制模块

2.3显示模块

2.4定时报警模块

3.软件开发流程及代码分析

4.实验总结

引言

•篮球计时计分器硬件电路设计

•篮球计时计分器软件设计

篮球计时计分器系统以AT89C51单片机为核心,系统显示部分包括

计时显示和计分显示两部分,均采用共阳极LED动态扫描方式显

示。系统采用单片机定时器TO中断计时,计时围宽,可进行定

时设定,也可以调整小时、分钟、秒等值;计分部分调整灵活,显

示围宽,足以满足各种规糢赛程需要。

1. 系统设计要求及设计思路

1.系统设计要求

为实现篮球计时计分器系统的设计,本系统应该满足以下几点

要求:

•能设置整个赛程的比赛时间,在比赛过程中能根据需要暂停和开始计时。

•能根据比赛情况刷新比赛双方的比分。

•中场交换比赛场地时,能交换甲、乙两队比分的位置。

•比赛结束时,能发出报警声。

2.系统设计思路

根据设计任务与要求,设计思路如下:

系统主要功能包括记分和计时两部分,能实现两队比分的加分、减分、汁时以及其他多种显示效果;系统控制模块有:2位动态显示记分模块、4位动态显示计时模块、两队加分减分模块、按键查

询模块、分秒控制模块等。

具体实现过程:釆用7段LED数码管动态显示整个赛程的比赛时间和两队的比分情况。通过 4个按键和外部中断0实现输入功能,用于赛前时间调整、比赛过程比分纪录、时间启停以及比赛结束以后的声音报警等功能。

2.硬件电路设计

根据设计要求与设计思路,确定该系统的设计方案,图6-1为该系统设计方案的硬件电路设计框图。硬件电路主要由4部分组成:主控电路、按键控制电路、显示模块和定时报警模块。下

面对其进行一一介绍。

2.1主控电路

系统的主控电路即为单片机最小系统,前丨M几章已经介绍过,其电气原理图如图6-2所示, 这串.不再赘述。

2.2按键控制模块

系统共涉及9个按键,采用查询方式进行键盘扫描,具体电气原理图如图所示 :

2.3显示模块

系统采用共阳极数码管显示,前面也已作详细介绍,在此不再赘述。本系统显示分为三部分时间计时显示、A队分数显示以及B队分数显示。

显示模块如图所示:

2.4定时报警模块

定时报警模块采用蜂鸣器声音报警。比赛结束后,P3.7输出一低电平,此时,发射结正向偏置且集电结反向偏置,满足三极管放大的外部条件,使信号放大从而驱动扬声器产生报警。电气原理图如图6-5所示。

3.软件开发流程及代码分析

本系统软件部分主要包含定时中断函数、延时函数、显示函数、蜂鸣器启动函数、外部中断o函数、按键函数等。下面一一进行介绍。

1..软件开发流程

篮球比赛中,得分可分为1分、2分、3分三种情况,系统在这设置加1分功能和加2分功能,得2分可按一下加2分功能键,得3分可先后按一下加2分功能键和加1分功能键。主函数中调用显示函数,可显示时间、比分。中断函数及按键扫描函数配合实现篮球比分和时间显示及修改功能。其中,用1片4位数码管显示时间,2片2位数码管显示比分,均采用动态扫描方式显示; 时间启停、分数累加,均通

过接入键盘电路实现。

2..代码分析

(1)函数声明及变景定义

为方便程序的编写,把部分常用的变量进行伪定义。#include

#include

#define uint unsigned int #define uchar unsigned char uchar code table[]= {0x3

f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar disbuffer[8]={0};

uchar minute=0,second=0; //定义全局变量

uchar Ascore=03score=0,temp=0; //

uchar flagel=0; //定义标志位

uchar flage=0; //

uint county,z; //

sbit bizz=P3A7; //蜂鸣器

sbit add1= Pl A0; //加一分

sbit add2=Pl A l; //加两分

sbit minus 1=P1A2; //减一分

sbit exchange=Pl A3; //上下半场换场时加分sbit bstop= Pl A4; //全场结束关闭蜂鸣器sbit start=Pl A5; //开始

sbit stopagain=Pl A6; //暂停开始

sbit tum=Pl A7; //切换加分

sbit timeadd=P3A2; //加时间设定时间

(2)定时中断函数

产生一个Is的计时单元

Void ininterruptO interrupt 1

{

TH0=(65536-50000y256;

TLO=(65536-50000)%256;

count++;

if(count==20)

{

Count=0;

If(second==0&&minute==0;

{

Et0=0;

}

else if(second==0 && minute!=0)

{

second=59;

minute--;

}

else if(second!=0 )

{

second--;

}

}

相关文档
最新文档