篮球计分计时器毕业设计ppt

时间:2025-07-12

项目名称:篮球赛计时计分牌 篮球赛计时计分牌

设计制作一个篮球赛计时计分牌, 设计制作一个篮球赛计时计分牌,功能如 下: 具有加减分功能( ),并在数 具有加减分功能(1、2、3分),并在数 码管上显示双方比分。 码管上显示双方比分。 具有计时功能,每节总时间倒计时,24S 具有计时功能,每节总时间倒计时, 倒计时,倒计时到声光报警。 倒计时,倒计时到声光报警。 按下加减键显示和输入加减分, 按下加减键显示和输入加减分,平时显示 时间、时间精确到0.1S 时间、时间精确到0.1S 。 具有暂停、启动功能。 具有暂停、启动功能。

篮球计时规则双方持球时间不得超过24秒,否则犯规,系统自动报警,24秒重 新 计时,给对方发球。 在24秒内,一方进球,24秒重新开始计时。 在24秒内,如有犯规或者进球,时间暂停。24秒重新计时。 在24秒内,因教练布置战术等原因暂停,24秒继续计时。 单节比赛结束,系统自动报警。

篮球计分规则当犯规需要罚球时,每次加1分。 在三分线内进球时,每次加2分。 在三分线外进球时,每次加3分。

项目描述 本设计是采用AT89S51单片机为核心设计的一 本设计是采用AT89S51单片机为核心设计的一 AT89S51 个用于赛场的篮球计时计分牌。 个用于赛场的篮球计时计分牌。本设计采用 定时器T0 T1中断计时 T0、 中断计时, 定时器T0、T1中断计时,显示部分分为计时 和计分显示两部分,均采用共阳极LED显示。 LED显示 和计分显示两部分,均采用共阳极LED显示。 每节总时间倒计时计时12分钟,12分钟倒计 12分钟 每节总时间倒计时计时12分钟,12分钟倒计 时间到,24S倒计时间到 声光报警; 倒计时间到, 时间到,24S倒计时间到,声光报警;而且具 有暂停、启动功能;计分部分调节灵活, 有暂停、启动功能;计分部分调节灵活,显 示范围从0--999 平时显示时间、 999, 示范围从0--999,平时显示时间、时间精确 0.1S,足以满足一般规模赛程的需要 足以满足一般规模赛程的需要。 到0.1S,足以满足一般规模赛程的需要。

项目需要分 析 本次项目的设计首先需要 我们了解C 我们了解C中各种语句的 使用方法, 使用方法,单片机定时器 的结构及定时器的工作方 式、初始值设置等基本技 能,其次我们必须分配好 硬件资源. 硬件资源.

对本次设计的方案如下: 对本次设计的方案如下:模式1 模式1: (1)显示单节倒计时时间, 第5 、 6 、 7 位显示秒 , 精确值0.1%,4位显示精确值 (2)24S倒计时时间, 第1、 2位显示24S, 精确值0.1%,0位显示精确值

7 2 0. 0 X 2 4. 0模式2 模式2: (1)显示双

方比分,第5 、6 、7位显示A队得分,1 杠,显示最大分值为999分 (2)显示要加的分,第0位显示,加分最大为3分 模式3 模式3: (1)显示要减的分,第1位显示,减分最大为3分、

2

3位显示B队得分,4位显示横

0 0 0. - 0 0 0. 0

声光报警每节总时间倒计时,24S倒计时,倒计时到声光报警 1. LED闪烁 2. 蜂鸣器发声

#include <reg51.h> typedef unsigned char UINT8; typedef unsigned int UINT16; #define S1 0x0e #define S2 0x0d #define S3 0x0b #define S4 0x07 UINT8 miao_01s=0,Daojishi_24s=24,i=1, j=0,Daojishi_01s=0; UINT8 L_C=0,R_C=0,Add=0,Jian=3; UINT16 miao=720; sbit Sheng=P3^5; bit Flag_over=0;bit Flag_24s=0; UINT8 code SEGMENT[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0xbf,0xf6,0xff}; UINT8 code SELECT[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void Delay(UINT16 t) { UINT16 i,j; for(i=0;i<t;i++) for(j=0;j<113;j++); } UINT8 Scankey(void) { UINT8 key; if((P3&0x0f)==0x0f) return(0xff); Delay(10); if((P3&0x0f)==0x0f) return(0xff); key=P3&0x0f; while((P3&0x0f)!=0x0f); return(key); }

函数定义

延时函数 按键扫描

主函数 void main() { UINT8 key; System_init(); while(1) { key=Scankey(); switch(key) { case S1:i++;if(i==4)i=1;break; case S2: S_2();break; case S3: S_3();break; case S4: S_4();break; } if(Flag_over) { Baojing(); Flag_over=0; } } }

void Display() { static UINT8 num=0; UINT8 B,D0,D1,D2,D3,D4,D5,D6,D7; P2=0xff; if(i==1) { B=0x7f; D0=Daojishi_01s%10; D1=Daojishi_24s%10; D2=Daojishi_24s/10; D3=12; D4=miao_01s%10; D5=miao%10; D6=miao%100/10; D7=miao/100; } if(i==2) { D0=Add; D1=R_C%10; D2=R_C%100/10; D3=R_C/100; D4=10; D5=L_C%10; D6=L_C%100/10; D7=L_C/100; B=0x7f; } if(i==3) { D0=Jian; D1=R_C%10; D2=R_C%100/10; D3=R_C/100; D4=10; D5=L_C%10; D6=L_C%100/10; D7=L_C/100; B=0x7f; }

显示函数 switch(num) { case 0: P0=SEGMENT[D0];break; case 1: P0=SEGMENT[D1]&B;break; case 2: P0=SEGMENT[D2];break; case 3: P0=SEGMENT[D3];break; case 4: P0=SEGMENT[D4];break; case 5: P0=SEGMENT[D5]&B;break; case 6: P0=SEGMENT[D6];break; case 7: P0=SEGMENT[D7];break; } P2=SELECT[num]; num++; num%=8; }

void S_2() { switch(i) { case 1: break; case 2: break; case 3: break; } } void S_3() { switch(i) { case 1: Daojishi_24s=24;Daojishi_01s=0; if(j==0){ } else if(j==1){ Daojishi_24s=23;Daojishi_01s=0;Flag_24s=1;TR0=1; } break; Add=0; j++;j%=2; L_C%=1000; TR0=!TR0; Flag_24s=1; Add++; Jian--; Add%=4; if(Jian==0)Jian=3;

报警、系统初 始化等函数

void Baojing() { UINT8 a; for(a=0;a<15;a++) { Sheng=0; P1=0xaa; Delay(100); P1=0x55; Delay(100); P3=0xff;P1=0xff; } } void Sys …… 此处隐藏:3154字,全部文档内容请下载后查看。喜欢就下载吧 ……

篮球计分计时器毕业设计ppt.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219