篮球比赛计时器


由于本次设计要求用 32768 赫兹的晶振产生秒脉冲,所以采用方案一。
二、秒、分倒计数器的设计
1、24 秒倒计时电路 计数器的倒计时功能。用两片 74LS192 分别做个位(低位)和十位(高位)
的倒计时计数器,由于本系统只需要从开始时的“24”倒计到“00”然后停止, 所以可以直接运用十进制的 74LS192 进行减计数。
吉林工业职业技术学院
毕业论文
篮球比赛计时器
吉林工业职业技术学院
年6月
吉林工业职业技术学院
毕业论文
篮球比赛计时器
学
生:
导
师:
系
别:
专
业:
班
级:
答 辩 日 期: 2
吉林工业职业技术学院
前言
电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践 能力相统一的一个环节,是真正锻炼学生能力的一个环节。
555 与 RC 组成的多谐振荡器作为时间标准信号源。
吉林工业职业技术学院
参数计算:
1.脉冲产生电路:
a.用 555 组成的脉冲产生电路:
R1=15*103Ω
R2=68*103Ω
C=
10μF
则 555 所产生的脉冲的为:f=1.43/[(R1+2*R2)*103*10*106=0.947Hz,而设计要
节次电路:用四个 D 触发器和适当的组合逻辑电路搭成四位的移位寄存器, 四个 LED 分别接在这四个 D 触发器的输出 Q 上,当一天和尚撞一天钟 12 分钟重 置时,电路自动移位指示节次。
警报提示:为了给出警报提示,可在计数器的输出端用一个普通二极管和 LED 二极管。当计数为 0 时,QO 输出为 0,LED 灯亮起。
在篮球比赛中,规定了球员的持球时间不能超过 24 秒,否则就犯规了。本 课程设计的“篮球比赛计时器”,可用于篮球比赛中,用于对比赛时间的记录和 进攻时间 24 秒得记录。一旦球员的持球时间超过了 24 秒,它自动的报警从而判 定此球员的犯规。
本设计主要能完成:显示 24 秒倒计时功能;系统设置外部操作开关,控制 计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器全部 显示为“0”;计时器为 30 秒递减计时其计时间隔为 0.1 秒;计时器递减计时到 零时,数码显示器不灭灯,同时发出光电报警信号等。
9 10
1 15
D3 D2 D1 D0
TCD TCU
13 12
Q3 Q2 Q1 Q0
7 6 2 3
7 1 2 6
A B C D
3 4 5
LT BI LE/STB
QA QB QC QD QE QF QG
13 12 11 10 9 15 14
U8
4511
7 1 2 6
A B C D
3 4 5
LT BI LE/STB
因为预置的数不是“00”,所以我选用置数端 LOAD 来进行预置数。低位的
借位输出信号用作高位的时钟脉冲。
24 秒倒计时电路如图:
2、12 分钟倒计时电路设计
①12 分钟倒计时秒部分。运用两片可逆计数器 74LS192 来构成 60 进制的减 计数器。
SW1
SW -SPDT
U6:B
74LS00
U6:A
求为 1Hz,因此其误差为 5.3%,在精度要求不是很高的时候可以使用.
b.石英晶体振荡电路:
采用的 32768 晶体振荡电路,其频率为 32768Hz,然后再经过 15
分频电路可得到标准的 1Hz 的脉冲输出.R 的阻值,对于 TTL 门电路通常在 0.7~
2KΩ之间;对于 CMOS 门则常在 10~100MΩ之间.
QA QB QC QD QE QF QG
13 12 11 10 9 15 14
4511
U12
吉林工业职业技术学院
吉林工业职业技术学院
这个计数器的低位即个位,不需要搭接任何反馈电路而直接运用 74LS192 芯片的减计数功能:时钟脉冲接到 down 端,置数、清零端无效,即可以实现十 进制的倒计时计数功能。而最低位的计数变化应当与时钟脉冲的变化同步。所以, 原则上应当将时钟脉冲直接引到这片 192 计数器的减计数时钟脉冲输入端 down。
在许多领域中计时器均得到普遍应用,诸如在体育比赛,定时报警器、游戏 中的倒时器,交通信号灯、红绿灯、行人灯、交通纤毫控制机、还可以用来做时 间提醒设备等等,由此可见计时器在现代社会是何其重要的。
篮球作为一项全民健身项目,已有一定的历史。在中国,篮球很盛行,篮球 比赛也日趋职业化。篮球比赛中有一项违例时间要用倒计时器,目前多数采用的 是 24 秒制,
吉林工业职业技术学院
摘要
本设计是脉冲数字电路的简单应用,设计了篮球竞赛 24 秒和 12 分钟倒计时器。 此计时器功能齐全,可以直接清零、启动、暂停和连续以及具有报警功能,同时 应用了七段数码管来显示时间。此计时器有了启动、暂停和连续功能,可以方便 地实现断点计时功能,当计时器递减到零时,会发出报警信号。本设计完成的中 途计时功能,实现了在许多的特定场合进行时间追踪的功能,在社会生活中也具 有广泛的应用价值。
计时,一节比赛结束后应可清零。 按篮球比赛规则,进攻方有 24 s 为倒计时。要求进攻方得到发球权后,必
须在 24 s 内完成一次进攻,否则将球权判给对方,因此需要一个具有 24 s 的倒 计时功能。
2、“分”、“秒”显示用 LED 数码管,应配用相应译码器。 3、用扭子开关控制计时器的启动/暂停。 4、24s 计时时间到、每节结束和全场结束能自动音响提示。 (2)工作原理及参考方案 篮球比赛计时器实际上是一种多功能倒计时装置,它包括 12 min、24 s 倒 计时,按键启停功能和自动音响提示等,其组成原理框图如图 2.3.2 所示。该 电路主要由秒信号发生电路、启停电路、声响电路、门控电路、显示电路和计数 电路等组成。一旦发球,启停电路启动,计时器开始工作,即 12 min、24 s 倒 计时同时工作。当发球权交给对方时,24 s 倒计重新开始计时,而 12 min 倒计 时继续工作。当启停电路暂停时,12 min、24 s 倒计器保持原来的数据不变, 等到重新启动开始工作。
该计数器的高位即十位,与低位的计数进制不相同。由于时间的分和秒都是 60 进制,所以这里的计数芯片 74LS192 必须要接成六进制的计数器。这里,我 选用反馈置数的方法来实现这个功能。
反馈方案一: 考虑到 74LS192 芯片的置数端 LOAD 是异步置数,并且是低电平有效的,
吉林工业职业技术学院
当有球员犯规,裁判吹哨,整个计时系统的倒计时暂停,这个功能通过暂停开关 S 截断时钟脉冲的传输来实现。当倒数计时器计数到零时,选取“00:00”这个 状态,通过组合逻辑电路给出截断信号,让其与时钟脉冲在与非门中将时钟脉冲 截断,从而计时器在计数到零时停住。24 秒计数芯片的置数端和 12 分的置数、 清零端共用一个开关,比赛开始后,24 秒的置数端也无效,24 秒的倒数计时器 与 12 分的倒数计时器同时开始进行倒计时,逐秒倒计到零。同样也是选取“00” 这个状态,通过组合逻辑电路给出截断信号,让该信号与时钟脉冲在与非门中将 时钟截断,使计时器在计数到零时停住。
12 分钟倒计时:这部分电路完成 12 分钟倒计时的功能,比赛准备开始时, 屏幕上显示 12:00 字样。当比赛开始时,倒计时从 12:00 开始逐秒递减到 00: 00。这一模块主要利用双向计数器 74LS192 的减计数功能来实现。
攻方 24 秒倒计时:这部分电路与 12 分钟倒计时功能类似,当比赛准备开始 时,屏幕上显示 24 秒字样,当比赛开始后,倒计时从 24 逐秒倒数到 00。这一 模块主要也是利用双向计数器 74LS192 来实现。
吉林工业职业技术学院
目录
第一章 总体设计思路、基本原理和框图
1、设计思路……………………………………………………………7
2、基本原理……………………………………………………………7、8
3、总体设计框图…………………………………………………………8
第二章 单元电路设计与方案比较(各单元电路图)
1、秒脉冲发生器的设计…………………………………………………9、10 2、秒、分倒计数器的设计………………………………………………10、11、12、13 3、译码器和显示器的设计………………………………………………13
4、节次控制电路的设计…………………………………………………13、14
第三章 总设计(总电路图)………………………………14 第四章 安装、调试步骤……………………………………15
第五章
性能测试和结果分析………………………………16
第六章 附录(元器件清单)………………………………13
第七章 课程设计总结………………………………………………17
R7
C3
1k
0.1u
7
U1:A
1 QS
J6
CLK 3
2 QR
K5
4
4027
U2
MR 12
3 2 1 15 13 14 6 4 5 7
Q13 Q12 Q11 Q9 Q8 Q7 Q6 Q5 Q4 Q3
4060
CTC 9 RTC 10
RS 11
R4
R5
10k
10k
X1
CRYSTAL
C1
C2
15u
15u
方案二: 由集成逻辑门与 RC 组成的时钟源振荡器或由集成电路定时器
三、总体设计框图
24 秒显示
12 分钟显示
译码驱动 计数器
控制电路
译码驱动 计数器
秒脉冲发 生器
报警电路
总体电路说明: 倒计时功能主要是利用 192 计数芯片来实现,同时利用反馈和置数实现
进制的转换,以适合分和秒的不同需要。由于该系统特殊的需要,到各计时器到
合集下载

篮球比赛计时器(课程设计).

篮球比赛计时器(课程设计).

目录摘要 (I)1 总体设计思路、基本原理 (1)1.1 设计思路 (1)1.2 基本原理 (1)2单元电路设计与各单元电路图 (2)2.1 秒脉冲发生器的设计 (2)2.2 秒、分倒计数器的设计 (2)2.2.1 24秒倒计时电路 (2)2.2.2 12分钟倒计时电路设计 (3)2.3 译码器和显示器的设计 (5)3 总设计 (6)4 总结 (8)参考文献 (9)附录 (10)附录1 (10)附录2 (11)简易篮球比赛计时器摘要本设计主要能完成:显示篮球竞赛24秒和12分倒计时功能;此计时器功能齐全,系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器灭灯;计时器计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时蜂鸣器会发出声报警信号等。

本设计是脉冲数字电路的简单应用,应用七段数码管来显示时间。

此计时器有了启动、暂停和连续功能,可以方便地实现断点计时功能。

本设计完成的中途计时功能,实现了在许多的特定场合进行时间追踪的功能,在社会生活中也具有广泛的应用价值。

本电路主要有五个模块构成:秒脉冲发生器、计数器、译码显示电路、控制电路和报警电路。

当控制电路的置数开关闭合时,在数码管上显示数字24和12:00,每当一个秒脉信号输入到计数器时,数码管上的数字就会自动减1,当计时器递减到零时,报警电路会发出蜂鸣信号。

控制电路能直接控制计数器启动计数、暂停/连续计数、译码显示电路的显示等功能。

关键词:计数器24秒倒计译码显示电路报警电路1 总体设计思路、基本原理1.1 设计思路篮球比赛计时器的主要功能包括:12分钟倒计时、进攻方24秒倒计时计时暂停,重新开启和结束警报提示。

该计时系统由以下四个电路模块组成:1秒时基产生器:由集成电路定时器555与RC组成的多谐振荡器作为时间标准信号源。

24秒倒计时:这部分电路完成24 秒倒计时的功能,当比赛准备开始时,屏幕上显示24秒字样,当比赛开始后,倒计时从24逐秒倒数到00。

篮球比赛计时计分器

篮球比赛计时计分器

设计任务:1、显示内容,队名用英文名,3个大写字母20分队名1-A:队名2-B =xxx:xxx第x节剩余时间:XX分XX秒2、串口控制20分A+1% A队加1分,%为结束符A+2% A队加2分,%为结束符A+3% A队加3分,%为结束符B+1% B队加1分,%为结束符以此类推3、串口控制交换场地5分A-B% AB队交换4、20 分PAUSE% 计时暂停按键1-定义为PAUSE按键用ZLG7290RESTART%重新计时按键2-定义为RESTARTRESET%重新比赛按键3-定义为RESET5、存储近5场的成绩到AT24C02 格式:1-队名1队名2=90:100类推20分RECALL1% 提取存储的第1场成绩,在数码管上显示,只显示比分,串口传回队名+比分&整场结束,提示是否保存成绩,按键4-存储键按键5-放弃键15分源代码:接线说明:PSB-VCC RS-P1.0 RW-P1.1 P1.3-E INT-P3.2 TXD-P3.1 RXD-P3.0 SDA-P1.6 SCL-P1.7 I2C 总线的ABC》别接键盘的ABCD以程序为准凭记忆写出来的)主程序#include<reg51.h>#include<intrins.h>#include<string.h>#include<I2C.h>#include <ZLG7290.h>#define unchar unsigned char #define unit unsigned int #define Lcd_Bus P0#define unchar unsigned char unsigned char KeyValue,FlagINT; int ney;// 纪录第及场比赛sbit RS=P1A0;//LCD 显示屏sbit RW=P1A1;sbit E=P1A3;unchar code lcddata[]={"0123456789:"};unchar code duiming[]={'1','H','O','U',':','2','C','H','I','='};unchar bifen[7];unchar fen1;unchar fen2;unchar jie;unchar min;unchar sec;unchar control;unchar table[10];************** 延时函数***********************void delay(unsigned int t) { unsigned int i,j;for(i=0;i<t;i++) for(j=0;j<10;j++)/* ------------ 写命令到LCD ---------------------- */void write_com(unsigned char cmdcode) {//chk_busy();RS = 0; // 置零RW = 0;E = 1;Lcd_Bus = cmdcode;delay(10); // 在数据写入的时候加入适当的延时 E = 0;}/* ------------ 写数据到LCD ---------------------- */void write_data(unsigned char Dispdata){//chk_busy();RS = 1; // 写数据RW = 0;E = 1;Lcd_Bus = Dispdata;delay(10); // 在数据写入的时候加入适当的延时 E = 0;/******* 函数名称:Write_Char* 功能描述:写字符******/ void write_char(unsigned int num){// chk_busy();RS = 1;RW = 0;E = 1;Lcd_Bus = lcddata[num];E = 0;}/* ------------ 显示字符串----------------- */void hzkdis(unsigned char code *s){ while(*s>0){ write_data(*s);// 选择基本指令集 (30H )// 点设定,游标右移// 开显示控制 (无游标、不反白 )// 清除显示,并且设定地址指针为 00H //unchar duiming[]= "1-HOU:2-CHI";// 队名数组//unchar bifen[7];// 比分数组unchar k;// 记录第几场比赛void timer0init(void) {TMOD=0X21;TH0=0X31;TL0=0XB0;ET0=1;EA=1;TR0=1;//IT0=1;// EX0=1;}/***** 用作串口通信 ****/ void timer1init(void){TH1=0xf3;TL1=0XF3;SCON=0X50;EA=1;ES=1;TR1=1;}/**** 保存成绩 */void save(int ney){ s++;/* ------------ 初始化 LCD 屏 ----------------- */ /*** 用作计时***/void lcdreset() { write_com(0x30);delay(16); write_com(0x04);delay(16);write_com(0x0f); delay(16);write_com(0x01);delay(16);}(同时地址归为 )int i;unchar buff[7];// ney++;ZLG7290_Download(i,0,0,0X0A); bifen[2]=fen2/100;bifen[1]=(fen2%100-fen2%10)/10;bifen[0]=fen2%10;bifen[3]=0X1F;bifen[6]=fen1/100;bifen[5]=(fen1%100-fen1%10)/10;bifen[4]=fen1%10;for(i=0;i<7;i++){x24c02_write(i+7*ney,bifen[i]);}for(i=0;i<7;i++){buff[i]=x24c02_read(i+7*ney); delay(12);}for(i=0;i<7;i++){ZLG7290_Download(i,0,0,buff[i]);}/********** 将存储在at24c02 的数据通过串口通信发还给电脑**/ void fahuan(unsigned char k){unchar buff[7],i;for(i=0;i<10;i++){SBUF=duiming[i];while(!TI){;}TI=0;}for(i=0;i<7;i++){buff[i]=x24c02_read(i+7*k);delay(12);}for(i=0;i<7;i++){ZLG7290_Download(i,0,0,buff[i]);}for(i=6;i>3;i--){SBUF=buff[i]+48;while(!TI){;}TI=0;}SBUF=':';while(!TI){;}TI=0;SBUF=buff[2]+48;while(!TI){;}TI=0;SBUF=buff[1]+48; while(!TI){;} TI=0;SBUF=buff[0]+48; while(!TI){;} TI=0;P2=0xf0;}/**** 定时器中断用作计时**/ void timer0(void) interrupt 1 using 1 {static unchar count=0; unchar i;TH0=0X3C;TL0=0XB0; count++;if(count==20){count=0;sec--;if(sec==-1){sec=59; min--; if(min==-1) {if(jie<=3) {write_com(0x01); jie++;min=1; } else { // TR0=0;control=0; //save();}}}}/**** 主要用作显示比分**/void show_fen1(void){ write_com(0x80); hzkdis("2-CHI:1-HOU=");write_com(0x90); delay(16);write_char(fen2/ 100); delay(16);write_char((fen2%100-fen2% 10)/10); delay(16);write_char(fen2% 10); delay(16);write_char( 10 ); delay(16) ;write_char(fen1/ 100); delay(16);write_char((fen1%100-fen1% 10)/10); delay(16);write_char(fen1% 10); delay(16);}/**** 显示比分队名顺序相反**/void show_fen0(void){write_com(0x80);hzkdis("1-HOU:2-CHI=");write_com(0x90); delay(16);write_char(fen1/ 100); delay(16);write_char((fen1%100-fen1% 10)/10); delay(16);write_char(fen1% 10);write_char( 10 ); delay(16) ;write_char(fen2/ 100); delay(16); write_char((fen2%100-fen2%10)/10); delay(16);write_char(fen2% 10); delay(16);}/*** 显示时间**/void show_time(void){write_com(0x88);if(jie%10==1)hzkdis("第 1 节”);if(jie%10==2)hzkdis("第 2 节");if(jie%10==3)hzkdis("第 3 节");if(jie%10==4)hzkdis("第 4 节");write_com(0x8c);hzkdis("剩余时间");write_com(0x9a);delay(16);write_char( min / 10 );delay(16);write_char( min % 10 );delay(16);write_char( 10 );delay(16);write_char( sec / 10 );delay(16);write_char( sec % 10 );}void show(){write_com(0x80);hzkdis("是否保存成绩?”);write_com(0x90);hzkdis("y press butter 4"); write_com(0x88);hzkdis("n press butter 5 "); write_com(0x98);hzkdis(" ");}/***** 串口中断处理来自串口助手的命令*/ void chuanko() interrupt 4 {unchar i=0;unchar buff[]="wrong";while(1){ while(!RI);RI=0; if(SBUF=='%') break; table[i]=SBUF;i++;} if(table[0]=='A'&&table[1]=='+'&&table[2]=='1') fen1++;else if(table[0]=='A'&&table[1]=='+'&&table[2]=='2') {fen1++;fen1++;}else if(table[0]=='A'&&table[1]=='+'&&table[2]=='3') {fen1++;fen1++;fen1++;}else if(table[0]=='B'&&table[1]=='+'&&table[2]=='1')fen2++;else if(table[0]=='B'&&table[1]=='+'&&table[2]=='2'){fen2++;fen2++;}else if(table[0]=='B'&&table[1]=='+'&&table[2]=='3'){fen2++;fen2++;fen2++;}else if(table[0]=='A'&&table[1]=='-'&&table[2]=='B'){control=2;// 交换场地}elseif(table[0]=='P'&&table[1]=='A'&&table[2]=='U'&&table[3]=='S'&&table[4]=='E'){TRO=(~TRO);〃暂停}elseif(table[0]=='R'&&table[1]=='E'&&table[2]=='S'&&table[3]=='T'&&table[4]=='A'&&table[5]==' R'& &table[6]=='T'){TR0=0;min=11;sec=59;TR0=1;〃重新计时}elseif(table[0]=='R'&&table[1]=='E'&&table[2]=='S'&&table[3]=='E'&&table[4]=='T'){ timer0init();// TR0=0;min=11;sec=59;jie=1;fen1=0;fen2=0;TR0=1;〃重新开始write_com(0x01);control=1;}elseif(table[0]=='R'&&table[1]=='E'&&table[2]=='C'&&table[3]=='A'&&table[4]=='L'&&table[5]==' L'& &table[6]=='1'){ ZLG7290_Download(i,0,0,0X0E);fahuan(0);//shuma(1);}elseif(table[0]=='R'&&table[1]=='E'&&table[2]=='C'&&table[3]=='A'&&table[4]=='L'&&table[5]=='L'& &table[6]=='2'){ fahuan(1);//shuma(2);}elseif(table[0]=='R'&&table[1]=='E'&&table[2]=='C'&&table[3]=='A'&&table[4]=='L'&&table[5]==' L'& &table[6]=='3'){ fahuan(2);//shuma(3);}elseif(table[0]=='R'&&table[1]=='E'&&table[2]=='C'&&table[3]=='A'&&table[4]=='L'&&table[5]==' L'& &table[6]=='4'){ fahuan(3);//shuma(4);}elseif(table[0]=='R'&&table[1]=='E'&&table[2]=='C'&&table[3]=='A'&&table[4]=='L'&&table[5]==' L'& &table[6]=='5'){ fahuan(4);//shuma(5);}else{ for(i=0;i<6;i++) {SBUF=buff[i]; while(!TI); TI=0;/**** 外部中断初始化响应按键中断**/void SystemInit(){I2C_Init();EA = 0;IT0 = 1; // 负边沿触发中断EX0 = 1; // 允许外部中断EA = 1; // 等待ZLG7290 复位完毕}/***** 外部中断函数响应各个按键**/void INT0_SVC() interrupt 0 {unchar i; ZLG7290_ReadReg(ZLG7290_Key,&KeyValue);// 显示键值DispValue(0,KeyValue); if(KeyValue==0x09) {TRO=(~TRO);//暂停} if(KeyValue==0x0a){TR0=0;min=11;sec=59;TR0=1;//重新计时} if(KeyValue==0x0b)timer0init(); write_com(0x01);TR0=0;min=11;sec=59;jie=1;fen1=0;fen2=0;control=1;TR0=1;〃重新开始} if(KeyValue==0x0c) { save(ney);ney++;timer0init();// 响应完中断记得重新初始化不然可能会出错timer1init();SystemInit();}main(){min=11;sec=59;fen1=0;fen2=0;jie=1;control=1;ney=0;timer0init();timer1init();lcdreset();SystemInit();//系统初始化while(1){if(control==1){show_fen0(); show_time();}if(control==0){show();// 比赛结束提示}if(control==2){show_fen1();// 交换场地show_time();}I2C.C标准80C51单片机模拟I2C总线的主机程序Copyright (c) 2005,广州周立功单片机发展有限公司All rights reserved.本程序仅供学习参考,不提供任何可靠性方面的担保;请勿用于商业目的*/#i nclude "I2C.h"//定义延时变量,用于宏l2C_Delay()un sig ned char data I2C_Delay_t;/*宏定义:I2C_Delay()功能:延时,模拟I2C总线专用*/#defi ne I2C_Delay()\{\I2C_Delay_t = (I2C_DELAY_VALUE);\ while ( --I2C_Delay_t != 0 );\/*函数:I2C_I nit()功能:I2C总线初始化,使总线处于空闲状态说明:在main()函数的开始处,通常应当要执行一次本函数*/void I2C_I nit(){I2C_SCL = 1;I2C_Delay();I2C_SDA = 1;I2C_Delay();/*函数:I2C_Start()功能:产生I2C 总线的起始状态说明:SCL处于高电平期间,当SDA出现下降沿时启动I2C总线不论SDA和SCL处于什么电平状态,本函数总能正确产生起始状态本函数也可以用来产生重复起始状态本函数执行后,I2C总线处于忙状态*/void I2C_Start(){I2C_SDA = 1;I2C_Delay();I2C_SCL = 1;I2C_Delay();I2C_SDA = 0;I2C_Delay();I2C_SCL = 0;I2C_Delay();} /* 函数:I2C_Write()功能:向I2C总线写1个字节的数据参数:dat:要写到总线上的数据*/ void I2C_Write(char dat){unsigned char t = 8;do{I2C_SDA = (bit)(dat & 0x80);dat <<= 1;I2C_SCL = 1;I2C_Delay();I2C_SCL = 0;I2C_Delay();} while ( --t != 0 );/*函数:I2C_Read() 功能:从从机读取 1 个字节的数据返回:读取的一个字节数据*/char I2C_Read(){char dat;unsigned char t = 8;I2C_SDA = 1; //在读取数据之前,要把SDA拉高do {I2C_SCL = 1;I2C_Delay();dat <<= 1;if ( I2C_SDA ) dat |= 0x01;I2C_SCL = 0;I2C_Delay();} while ( --t != 0 ); return dat;}/*函数:I2C_GetAck() 功能:读取从机应答位返回:0:从机应答1 :从机非应答说明:从机在收到每个字节的数据后,要产生应答位从机在收到最后 1 个字节的数据后,一般要产生非应答位*/bit I2C_GetAck(){bit ack;I2C_SDA = 1;I2C_Delay();I2C_SCL = 1;I2C_Delay();ack = I2C_SDA; I2C_SCL = 0;I2C_Delay();return ack;/*函数:I2C_PutAck() 功能:主机产生应答位或非应答位参数:ack=O:主机产生应答位ack=1 :主机产生非应答位说明:主机在接收完每一个字节的数据后,都应当产生应答位主机在接收完最后一个字节的数据后,应当产生非应答位*/void I2C_PutAck(bit ack){I2C_SDA = ack;I2C_Delay();I2C_SCL = 1;I2C_Delay();I2C_SCL = 0;I2C_Delay();}/*函数:I2C_Stop()功能:产生I2C 总线的停止状态说明:SCL处于高电平期间,当SDA出现上升沿时停止I2C总线不论SDA和SCL处于什么电平状态,本函数总能正确产生停止状态本函数执行后,I2C总线处于空闲状态*/void I2C_Stop(){unsigned int t = I2C_STOP_WAIT_VALUE;I2C_SDA = 0;I2C_Delay();I2C_SCL = 1;I2C_Delay();I2C_SDA = 1;I2C_Delay();while ( --t != 0 ); // 在下一次产生Start 之前,要加一定的延时} /*函数:I2C_Puts()功能:I2C总线综合发送函数,向从机发送多个字节的数据参数:SlaveAddr:从机地址(7位纯地址,不含读写位)SubAddr:从机的子地址SubMod:子地址模式,0—无子地址,1 —单字节子地址,2—双字节子地址*dat :要发送的数据Size:数据的字节数返回:0:发送成功1 :在发送过程中出现异常说明:本函数能够很好地适应所有常见的I2C 器件,不论其是否有子地址当从机没有子地址时,参数SubAddr 任意,而SubMod 应当为0*/bit I2C_Puts(unsigned char SlaveAddr, unsigned int SubAddr, unsigned char SubMod, char *dat, unsigned int Size){// 定义临时变量unsigned char i;char a[3];// 检查长度if ( Size == 0 ) return 0;// 准备从机地址a[0] = (SlaveAddr << 1);// 检查子地址模式if ( SubMod > 2 ) SubMod = 2;// 确定子地址switch ( SubMod ){case 0: break;case 1:a[1] = (char)(SubAddr);break;case 2:a[1] = (char)(SubAddr >> 8);a[2] = (char)(SubAddr);break;default: break;}// 发送从机地址,接着发送子地址(如果有子地址的话) SubMod++;I2C_Start();for ( i=0; i<SubMod; i++ ){I2C_Write(a[i]);if ( I2C_GetAck() ){I2C_Stop(); return 1;}}// 发送数据do{I2C_Write(*dat++);if ( I2C_GetAck() ) break;} while ( --Size != 0 );//发送完毕,停止I2C总线,并返回结果I2C_Stop();if ( Size == 0 ){return 0;}else{return 1;}}/*函数:I2C_Gets()功能:I2C总线综合接收函数,从从机接收多个字节的数据参数:SlaveAddr:从机地址(7位纯地址,不含读写位)SubAddr:从机的子地址SubMod:子地址模式,0—无子地址,1 —单字节子地址, *dat :2—双字节子地址保存接收到的数据Size:数据的字节数返回:0:接收成功1 :在接收过程中出现异常说明:本函数能够很好地适应所有常见的I2C 器件,不论其是否有子地址当从机没有子地址时,参数SubAddr 任意,而SubMod 应当为0 */bit I2C_Gets(unsigned char SlaveAddr, unsigned int SubAddr, unsigned char SubMod, char *dat, unsigned int Size){// 定义临时变量unsigned char i; char a[3];// 检查长度if ( Size == 0 ) return 0;// 准备从机地址a[0] = (SlaveAddr << 1);// 检查子地址模式if ( SubMod > 2 ) SubMod = 2;// 如果是有子地址的从机,则要先发送从机地址和子地址if ( SubMod != 0 ){//确定子地址if ( SubMod == 1 ){a[1] = (char)(SubAddr);}else{a[1] = (char)(SubAddr >> 8); a[2] = (char)(SubAddr);} //发送从机地址,接着发送子地址SubMod++;I2C_Start();for ( i=0; i<SubMod; i++ ){ I2C_Write(a[i]); if ( I2C_GetAck() ) {I2C_Stop();return 1;}}//这里的l2C_Start()对于有子地址的从机是重复起始状态//对于无子地址的从机则是正常的起始状态l2C_Start();// 发送从机地址l2C_Write(a[0]+1);if ( l2C_GetAck() ){l2C_Stop();return 1;}//接收数据for (;;){*dat++ = l2C_Read();if ( --Size == 0 ){ l2C_PutAck(1); break;} l2C_PutAck(0);}//接收完毕,停止I2C总线,并返回结果l2C_Stop();return 0;}/*ZLG7290.c数码管显示与键盘管理芯片ZLG7290的标准80C51驱动程序C文件Copyright (c) 2005,广州周立功单片机发展有限公司All rights reserved.本程序仅供学习参考,不提供任何可靠性方面的担保;请勿用于商业目的*/ #include "I2C.h"#include "ZLG7290.h" /*函数:ZLG7290_WriteReg()功能:向ZLG7290的某个内部寄存器写入数据参数:RegAddr:ZLG7290的内部寄存器地址dat :要写入的数据返回:0:正常1:访问ZLG7290时出现异常*/bit ZLG7290_WriteReg(unsigned char RegAddr, char dat){bit b;b = I2C_Puts(ZLG7290_I2C_ADDR,RegAddr,1,&dat,1); return b;}/*函数:ZLG7290_ReadReg()功能:从ZLG7290的某个内部寄存器读出数据参数:RegAddr:ZLG7290的内部寄存器地址*dat :保存读出的数据返回:0:正常1:访问ZLG7290时出现异常*/bit ZLG7290_ReadReg(unsigned char RegAddr, char *dat){bit b;b = I2C_Gets(ZLG7290_I2C_ADDR,RegAddr,1,dat,1); return b;}/*函数:ZLG7290_cmd()功能:向ZLG7290发送控制命令参数:cmdO :写入CmdBufO寄存器的命令字(第1字节) cmdl :写入CmdBufl寄存器的命令字(第2字节) 返回:0:正常1:访问ZLG7290时出现异常*/bit ZLG7290_cmd(char cmd0, char cmd1){bit b;char buf[2];buf[0] = cmd0;buf[1] = cmd1;b = I2C_Puts(ZLG7290_I2C_ADDR,ZLG7290_CmdBuf,1,buf,2); return b; }/* 函数:ZLG7290_SegOnOff()功能:段寻址,单独点亮或熄灭数码管(或LED)中的某一段参数:seg:取值0〜63,表示数码管(或LED)的段号b:0 表示熄灭, 1 表示点亮返回:0:正常1:访问ZLG7290时出现异常说明:在每一位数码管中,段号顺序按照“ a,b,c,d,e,f,g,dp ”进行*/bit ZLG7290_SegOnOff(char seg, bit b){char cmd;cmd = seg & 0x3F;if ( b ) cmd |= 0x80;return ZLG7290_cmd(0x01,cmd);}/*函数:ZLG7290_Download() 功能:下载数据并译码参数:addr :取值0〜7,显示缓存DpRamO〜DpRam7的编号dp:是否点亮该位的小数点,0 —熄灭,1—点亮flash:控制该位是否闪烁,0—不闪烁,1—闪烁dat :取值0〜31,表示要显示的数据返回:0:正常1:访问ZLG7290时出现异常说明:显示数据具体的译码方式请参见ZLG7290的数据手册*/bit ZLG7290_Download(char addr, bit dp, bit flash, char dat){char cmd0;char cmd1;cmd0 = addr & 0x0F;cmd0 |= 0x60;cmd1 = dat & 0x1F;if ( dp ) cmd1 |= 0x80;if ( flash ) cmd1 |= 0x40;return ZLG7290_cmd(cmd0,cmd1);} /*I2C.h标准80C51单片机模拟I2C总线的主机程序头文件Copyright (c) 2005,广州周立功单片机发展有限公司All rights reserved. 本程序仅供学习参考,不提供任何可靠性方面的担保;请勿用于商业目的*/#ifndef _I2C_H_ #define _I2C_H_#include <reg51.h>//模拟I2C总线的引脚定义sbit I2C_SCL = P1A6;sbit I2C_SDA = P"7;//定义I2C总线时钟的延时值,要根据实际情况修改,取值1〜255//SCL信号周期约为(I2C_DELAY_VALUE*4+15个机器周期#define I2C_DELAY_VALUE 12//定义I2C总线停止后在下一次开始之前的等待时间,取值1〜65535〃等待时间约为(I2C_STOP_WAIT_VALUE*8个机器周期//对于多数器件取值为 1 即可;但对于某些器件来说,较长的延时是必须的#defineI2C_STOP_WAIT_VALUE 120//I2C 总线初始化,使总线处于空闲状态void I2C_Init();void x24c02_write(unsigned char address,unsigned char info); unsigned charx24c02_read(unsigned char address); //unsigned char x24c02_read(unsigned char address);//I2C 总线综合发送函数,向从机发送多个字节的数据bit I2C_Puts(unsigned char SlaveAddr,unsigned int SubAddr,unsigned char SubMod, char *dat, unsigned int Size);//I2C 总线综合接收函数,从从机接收多个字节的数据bit I2C_Gets(unsigned char SlaveAddr,unsigned int SubAddr,unsigned char SubMod, char *dat, unsigned int Size);#endif //_I2C_H_/*ZLG7290.h数码管显示与键盘管理芯片ZLG7290的标准80C51驱动程序头文件Copyright (c) 2005,广州周立功单片机发展有限公司All rights reserved. 本程序仅供学习参考,不提供任何可靠性方面的担保;请勿用于商业目的*/#ifndef _ZLG7290_H_#define _ZLG7290_H_#include <reg51.h> //ZLG7290 中断请求信号的引脚定义sbit ZLG7290_pi nINT = P3A2;II定义ZLG7290在I2C总线协议中的从机地址// 这是7 位纯地址,不含读写位#define ZLG7290_I2C_ADDR 0x38II定义ZLG7290内部寄存器地址(子地址)#define ZLG7290_SystemReg 0x00 II系统寄存器#define ZLG7290_Key 0x01 II 键值寄存器II#define ZLG7290_RepeatCnt 0x02 II 连击次数寄存器II#define ZLG7290_FunctionKey 0x03 II 功能键寄存器#define ZLG7290_CmdBuf 0x07 II 命令缓冲区起始地址#define ZLG7290_CmdBuf0 0x07 II 命令缓冲区0#define ZLG7290_CmdBuf1 0x08 //命令缓冲区 1//#define ZLG7290_FlashOnOff 0x0C //闪烁控制寄存器#define ZLG7290_ScanNum 0x0D //扫描位数寄存器#define ZLG7290_DpRam 0x10 // 显示缓存起始地址#define ZLG7290_DpRam0 0x10 //显示缓存0/#define ZLG7290_DpRam10x11 //显示缓存 1#define ZLG7290_DpRam2 0x12 //显示缓存 2#define ZLG7290_DpRam3 0x13 //显示缓存 3#define ZLG7290_DpRam5 0x15 //显示缓存 5#define ZLG7290_DpRam6 0x16 //显示缓存 6#define ZLG7290_DpRam7 0x17 //显示缓存7//向ZLG7290的某个内部寄存器写入数据bit ZLG7290_WriteReg(unsigned char RegAddr, char dat);//从ZLG7290的某个内部寄存器读出数据bit ZLG7290_ReadReg(unsigned char RegAddr, char *dat);//向ZLG7290发送控制命令bit ZLG7290_cmd(char cmd0, char cmd1);//段寻址,单独点亮或熄灭数码管(或LED)中的某一段bit ZLG7290_SegOnOff(char seg, bit b);//下载数据并译码bit ZLG7290_Download(char addr, bit dp, bit flash, char dat);〃闪烁控制指令(Fn应当是字节型)//Fn 的8 个位分别控制数码管的8 个位是否闪烁,0-不闪烁,1-闪烁#define ZLG7290_Flash(Fn) ZLG7290_cmd(0x70,(Fn))#endif //_ZLG7290_H_#include <reg51.h>#include <intrins.h>#include <I2C.h>//sbit dula=P2A6;//sbit wela=P2A7; unsigned char j,c;void de(unsigned char i) // 延时程序{for(j=i;j>0;j--)for(c=125;c>0;c--);}/*24C02 读写驱动程序*/void flash()// 短时间的延时,几微秒左右{ ; ;}void init() //24c02 初始化子程序{I2C_SCL=1;flash();I2C_SDA=1;flash();}void start() // 启动I2C 总线{I2C_SDA=1;flash();I2C_SCL=1;flash();I2C_SDA=0;flash();// scl=0;// flash();}void stop() // 停止I2C 总线{I2C_SDA=0;flash();I2C_SCL=1;flash();I2C_SDA=1;flash();}void writex(unsigned char j) // 写一个字节{ unsigned char i,temp;temp=j;for (i=0;i<8;i++){ temp=temp<<1; I2C_SCL=0; flash(); I2C_SDA=CY; flash(); I2C_SCL=1; flash();}I2C_SCL=0;flash();I2C_SDA=1;flash();} unsigned char readx() // 读一个字节{unsigned char i,z;I2C_SCL=0;flash();I2C_SDA=1;for (i=0;i<8;i++){ flash(); I2C_SCL=1; flash();if (I2C_SDA==1) j=1; else j=0;z=(z<<1)|j;// 先左移,然后在最低位读入值I2C_SCL=0;}flash();return(z);}void clock() //I2C 总线时钟响应{unsigned char i=0;I2C_SCL=1;flash();while ((I2C_SDA==1)&&(i<255))i++;I2C_SCL=0;flash();//////// 从24c02 的地址address 中读取一个字节数据///// unsigned charx24c02_read(unsigned char address) {unsigned char i; start();writex(0xa8);//A1 A2 A3 全部低电平// clock();writex(address);clock();start(); writex(0xa9);clock(); i=readx();stop(); de(10);return(i); }////// 向24c02 的address 地址中写入一字节数据info///// void x24c02_write(unsigned char address,unsigned char info) {EA=0;start(); writex(0xa8);clock(); writex(address);clock(); writex(info);clock();stop();de(50);。

选篮球竞赛24秒计时器设计的说明书

选篮球竞赛24秒计时器设计的说明书

选篮球竞赛24秒计时器设计的说明书引言:本说明书旨在介绍选篮球竞赛所需的24秒计时器的设计功能和操作步骤。

该计时器旨在帮助裁判员和球员准确掌握比赛时间,提供公正的判断依据,确保比赛的公平进行。

1. 介绍:篮球竞赛24秒计时器是一种用于控制进攻方进攻时间的装置。

在篮球比赛中,每次球队进攻有24秒的时间。

该计时器可以提供直观的数字显示,提醒球员控制出手时间,同时也方便裁判员判断进攻是否超时。

2. 主要功能:- 数字显示:该计时器通过数字屏幕实时显示剩余进攻时间,数字清晰可见,便于球员和裁判员观察。

- 启动/停止按钮:裁判员使用该按钮来控制进攻时间的启动和停止。

- 警示信号:当剩余进攻时间不足5秒时,计时器会发出警示音,提醒球员作出快速决策。

- 可调整时间:该计时器允许裁判员根据比赛需要调整进攻时间上限,最长不能超过24秒。

3. 操作步骤:以下是使用篮球竞赛24秒计时器的操作步骤:- 确保计时器已经连接到电源,并处于工作状态。

- 在开始进攻时,裁判员按下启动按钮,计时器开始倒计时,显示剩余时间。

- 当队伍成功进行进攻或24秒时间用尽时,裁判员按下停止按钮,计时器停止倒计时。

- 若球队未在规定时间内完成进攻,计时器会发出警示音并显示超时标识,裁判员应中断进攻并控球转到对方队伍。

4. 注意事项:- 确保计时器正常工作并准确显示时间。

- 在比赛开始前进行全面的测试,确保计时器的准确性和稳定性。

- 调整计时器时间上限时,确保不超过24秒以保持公平。

- 维护人员应定期检查和维修计时器,确保其可靠性和正确性。

结论:篮球竞赛24秒计时器是一项重要的装置,用于确保篮球比赛的公正性和公平性。

本说明书介绍了该计时器的设计功能和操作步骤,希望能够对相关人员的使用提供指导和帮助。

任何人在使用该计时器时都应熟悉本说明书的内容,并按照操作步骤正确操作。

课程设计-篮球24秒计时器设计

课程设计-篮球24秒计时器设计

课程设计-篮球24秒计时器设计1. 引言篮球是一项流行的运动项目,而篮球比赛中的24秒计时器被广泛应用。

24秒计时器的作用是规定进攻球队必须在24秒内射门。

本文将详细介绍篮球24秒计时器的设计思路和实现方法。

2. 设计目标本课程设计的目标是设计一个实时计时的24秒计时器,要求能够准确地显示剩余时间,并提供简单的控制功能。

3. 设计思路3.1 硬件部分为了实现一个可靠的24秒计时器,我们需要选用合适的硬件组件。

以下是主要的硬件组件和功能设计: - 显示屏:用于显示计时器的剩余时间。

- 开始/停止按钮:用于开始或停止计时器。

- 复位按钮:用于将计时器复位为24秒。

- 蜂鸣器:用于发出警报声,提醒比赛方双方。

3.2 软件部分在硬件部分的基础上,我们需要编写相应的软件代码来实现计时器的功能。

以下是主要的软件设计思路: - 初始化:启动计时器时,显示屏显示24秒,计时器停止。

- 开始计时:按下开始按钮后,计时器开始倒数计时,显示屏实时更新倒计时的剩余时间。

- 停止计时:按下停止按钮后,计时器停止计时,显示屏停止更新。

- 复位计时:按下复位按钮后,计时器复位为24秒,显示屏重新显示24秒。

- 警报:当计时器倒计时为0秒时,蜂鸣器发出警报声,提醒比赛方双方。

4. 实现方法4.1 硬件实现硬件实现主要包括连接各个硬件组件,以及编写相应的硬件控制代码。

以下是硬件实现的步骤:1. 连接显示屏和主板,确保显示屏能够正常工作。

2. 连接开始/停止按钮和主板,通过按下按钮来控制计时器的启动和停止。

3. 连接复位按钮和主板,通过按下复位按钮来复位计时器。

4. 连接蜂鸣器和主板,确保能够正常发出警报声。

4.2 软件实现软件实现主要包括编写相应的代码来控制硬件组件的工作。

以下是软件实现的步骤: 1. 初始化计时器,设置剩余时间为24秒,并停止计时。

2. 监听开始/停止按钮的按下事件,根据按钮状态来控制计时器的启动和停止。

篮球30秒计时器课程设计

篮球30秒计时器课程设计

篮球30秒计时器课程设计简介篮球30秒计时器是一种用于比赛计时的设备,它起到控制比赛时间的作用。

本篇课程设计将介绍篮球30秒计时器的原理、使用方法以及相关的教学内容。

篮球30秒计时器的原理篮球30秒计时器是一种根据篮球比赛规则设计的计时设备,主要用于掌控比赛时间。

其原理如下: 1. 计时器设置在30秒,根据比赛规则,球队进攻时必须在30秒内投篮。

2. 当一支球队控球开始进攻时,计时器开始倒计时。

3. 如果球队在30秒内未能完成投篮,那么球权转移到对方球队。

4. 如果球队在30秒内完成投篮,并且投篮球进入篮筐,那么该球队得到2分。

篮球30秒计时器的使用方法篮球30秒计时器的使用方法非常简单,主要分为以下几个步骤: 1. 首先,将篮球30秒计时器放置在比赛台上,并确保其电源已接通。

2. 在比赛开始前,按下计时器上的“开始”按钮,计时器开始工作,显示屏上显示的时间为30秒。

3.当一支球队控球开始进攻时,教练或裁判员应立即按下计时器上的“开始”按钮,计时器开始倒计时。

4. 如果球队在30秒内未能完成投篮,计时器倒计时结束后会发出警报声,并自动将球权转移到对方球队。

5. 如果球队在30秒内完成投篮,并且投篮球进入篮筐,计时器会停止倒计时,并显示下一次进攻的时间。

篮球30秒计时器课程设计为了帮助学生更好地理解和运用篮球30秒计时器,我们设计了以下课程内容: 1. 介绍篮球30秒计时器的作用和原理 - 讲解篮球30秒计时器在比赛中的重要作用,以及其设计原理和工作原理。

2. 计时器的使用方法和注意事项 - 具体讲解计时器的使用方法,如何按下开始按钮、如何重置计时器、如何处理倒计时结束后的情况等。

- 强调注意事项,如确保计时器连接正常、不要随意更改计时器设置等。

3. 球队协作训练 - 通过分组练习,让学生模拟比赛情境,分两支球队进行攻防对抗。

- 设定每次进攻时间为30秒,要求学生在规定时间内完成投篮,并根据比赛结果进行得分统计。

无线篮球计时器频道设置说明

无线篮球计时器频道设置说明

无线篮球比赛计时器
频道设置说明书
操作步骤及规则:
1、先给两个屏幕通电(操作台不供电),头两位表示
该计时器屏幕的频道号如:00;3、4位表示亮度如:
05;5、6位表示数码个数06。

看计时器屏幕的频
道数是多少号。

2、操控台接入220V AC50Hz电源,打开电源开关,此
时操控台显示的信息为全场的比赛时间(4位显示)
和进攻时间(2位显示)。

3、频道设置:按住‘功能’键不放,再按住比赛时间
的‘暂停/保存’键不放,操作台上前两位不断闪烁
后就放开。

然后按住‘功能’键不放,再按一下比
赛时间的‘暂停/保存’键下移设置点。

直到操作台
显示为:00-- --此时点按‘2分钟/调整’键调整十
位、‘1分钟/调整’键调整个位,输入密码:123456。

然后按住‘功能’键不放,再按一下比赛时间的‘暂
停/保存’键下移设置点操作台显示为:00 -1 00;
前两位输入屏幕频道号(如:30),下移设置点修
改屏幕频道号(如:00),显示为:30 -1 00,单按
‘暂停/保存’键退出并保存。

此时已经把屏幕的频道号30号改为了00号。

操作台就能控制计时器屏幕了。

篮球比赛计时器

目录摘要 (3)一、设计任务及设计要求 (3)1.1任务: (3)1.2要求: (3)二、设计方案论证 (3)2.1 设计原理 (3)2.2 总体设计框架 (4)三、各个电路的功能分析 (5)3.1译码显示电路 .............................................................................................. 错误!未定义书签。

3.2脉冲产生电路 .............................................................................................. 错误!未定义书签。

3.3计数电路 ...................................................................................................... 错误!未定义书签。

四、电路仿真 (10)五、元器件清单 (11)六、设计心得 (12)参考文献 (12)摘要本课程设计是脉冲数字电路的简单应用。

该计时器适合于全场40分钟,上下半场每场20分钟的篮球比赛,兼有倒计时、重新开始计时、随时手动暂停和半场自动暂停并报警的功能。

再采用一些基本的门控电路实现秒脉冲发生、控制、报警等功能,同时应用了七段数码管来显示时间,应用广泛。

关键字计时器门控电路七段数码管一、设计任务及设计要求1.1任务:设计一个上下半场各20分钟的篮球比赛计时器。

1.2要求:(1)篮球比赛上下半场各20分钟,要求能随时暂停,启动后继续计时,一场比赛结束后应可清零重新开始比赛。

(2)计时器由分、秒计数器完成,秒计数器为模60,分计数器应能计至40分钟。

(3)“分”、“秒”显示用LED数码管,应配用相应译码器。

(4)用按钮开关控制计时器的启动/暂停。

30s篮球计时器课设报告

30s篮球计时器课设报告30秒篮球计时器是一种用于篮球比赛的计时设备,它具有精确计时、便捷携带和操作简单的特点。

本文将从计时器的功能、使用方法和优势等方面进行介绍和分析。

一、功能30秒篮球计时器主要用于控制比赛中每个进攻回合的时间,确保比赛的公平性和规范性。

它可以精确计时,显示剩余时间,并通过声音或闪光等方式提醒比赛双方。

在比赛中,裁判员可以根据计时器的显示情况来判断是否需要停止比赛或进行其他操作。

二、使用方法使用30秒篮球计时器非常简单。

首先,裁判员需要将计时器放置在合适的位置,以便双方球队和观众都能够清楚地看到。

然后,裁判员在比赛开始时启动计时器,并在每个进攻回合开始时按下“开始”按钮。

计时器将开始倒计时,同时显示剩余时间。

当进攻回合结束或达到规定的时间时,计时器会发出声音或闪光信号,提醒裁判员停止比赛或进行其他操作。

三、优势相比传统的人工计时方式,30秒篮球计时器具有许多优势。

首先,它可以精确计时,避免了人工计时可能出现的误差。

其次,计时器操作简单,裁判员只需按下几个按钮即可完成计时,不需要进行复杂的操作。

此外,计时器还可以发出声音或闪光信号,提醒比赛双方和观众,增加了比赛的可视性和趣味性。

四、应用领域30秒篮球计时器不仅适用于篮球比赛,还可以应用于其他体育比赛或训练中。

例如,它可以用于足球比赛中控制每个进攻回合的时间,或用于乒乓球训练中控制每个球员的发球时间。

此外,30秒篮球计时器还可以应用于一些特殊场合,如演唱会或会议等,用于控制演出或发言的时间。

五、总结30秒篮球计时器作为一种精确计时的设备,在篮球比赛中起到了重要的作用。

它具有简单操作、精确计时和提醒功能的优势,可以有效地控制比赛的进行。

同时,30秒篮球计时器还具有广泛的应用领域,不仅可以用于篮球比赛,还可以应用于其他体育比赛或训练以及一些特殊场合。

相信随着科技的不断发展,30秒篮球计时器将会越来越普及,为各类比赛和活动提供更加精确和便捷的计时服务。

篮球竞赛24秒计时器设计PPT课件


9 1 1 1001 0 1 1 1 1 0 1 1
2021/3/12
12
报警电路:采用光电报警,当倒计时为0时,发光二极 管亮灯,且蜂呜器发出响声。
2021/3/12
13
控制电路 由7474锁存器、74ls08二输入与门、74ls04非门、74ls02二输入与非门、 4002四输入与非门组成及三个开关组成。
2021/3/12
3
课题三、数字电子钟设计
设计要求
(1)、准确计时,以数字形式显示时、分、秒的时间。 (2)、小时计时采用24进制的计时方式,分、秒采用60进 制的计时方式。 (3)、具有快速校准时、分、秒的功能。
2021/3/12
4
课题一、篮球竞赛24秒计时器设计
1. 具有24秒计时功能。 2. 设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能。 3. 在直接清零时,要求数码显示器灭灯。 4. 计时器为24秒递减时, 计时间隔为1秒。 5. 计时器递减到零时,数码显示器不能灭灯,同时发出光电报警信号。
当按下启动开关S1时给74ls192置数端提供有效低电平,同时给7474琐存器 提提供有效沿,将D端的“1”存入,使Q端输出“1”。当倒计时至0时74ls192 芯片1产生借位,经过反相器将与门打开,即可报警
当按下暂停、连续开关S2时,为4511LT锁存引脚提供有效高电平,将 显示信与锁存,同时将秒脉冲截断,使计数保持。
直接清零 启动
暂停/连续
2021/3/12
5
秒脉冲发生器
通常用晶体振荡器发出的脉冲经过整形、分频获得 1Hz的秒脉冲。如晶振为32768 Hz,通过15次二分 频后可获得1Hz的脉冲输出 。
2021/3/12

篮球比赛计时器设计

本次毕业设计的主要介绍:篮球比赛计时器。

随着科技发展,篮球计时器不仅应用于NBA,CBA这样专业的篮球赛场上,也广泛应用于民用的普通赛场上,方便于每场比赛的公平公正。

本设计是对脉冲数字电路的简单应用,设计了篮球竞赛24秒和12分钟倒计时器。

此计时器功能齐全,可以直接清零、启动、暂停和连续以及具有报警功能,同时应用了七段数码管来显示时间。

利用软件和硬件的结合实现开机自动置节计数器为第一节,节计时器为12分00秒,24秒违例为24秒。

用数字显示篮球比赛当时节数,每节时间及24秒的倒计时,采用单片机串行显示。

最后本文会详细叙述此电路的安装与调试,并对调试过程中出现的问题做简要说明。

关键词:篮球比赛计时器;计数器;74LS192第一章绪论 (1)1.1课题选题的概论 (1)1.2课题设计的背景和意义 (2)1.3设计的任务和要求 (2)第二章设计思路、基本原理和框图 (3)2.1设计思路 (3)2.2基本原理 (3)2.3总体设计框图 (4)2.4硬件设计 (5)2.4.1 555时钟芯片模块: (5)2.4.2 74LS192计数器 (6)2.4.3 BCD码7段译码器CD4511 (7)2.4.4 D触发器芯片 (8)2.4.5 YX-1型(单面)篮球计时器 (10)2.4.6 蜂鸣器 (10)第三章篮球计时器电路设计 (12)3.1系统倒计时流程图 (12)3.2秒脉冲发生器的设计 (13)3.3秒、分倒计数器的设计 (13)3.3.1 24秒倒计时电路 (13)3.3.2 12分钟倒计时电路设计 (14)3.4译码器和显示器的设计 (16)3.5节次控制电路的设计 (17)3.6报警电路 (18)第四章篮球计时器软件设计 (19)4.1 篮球计时器程序流程图 (19)4.2 篮球计时器程序设计 (20)第五章 Protues仿真与结果分析 (24)5.1 Protues仿真 (24)5.1.1 24秒倒计时仿真调试 (24)5.1.2 12分钟倒计时仿真调试 (24)5.1.3 节数计数单元仿真调试 (25)5.2结果分析 (25)第六章总结 (26)6.1结论 (26)6.2总结 (26)第一章绪论1.1课题选题的概论在当今社会随着物质生活的提高,人们对精神文化的需求也越来越高。

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