这是一款让比赛更有仪式感的小程序,功能齐全且 无广告 ,如果想记录比赛的技术统计, *** 作简单只需要创建好球队,然后就可以发布比赛了,发布比赛时会自动通知附近的球队,可以等待附近球队进行预约,也可以直接发给你认识的球队,和其他球队预约成功后就可以邀请队友报名了,可以看到队友的报名人数和对方球队的报名人数,技术统计也是很方便好用,而且可以邀请其他人一起记分,所以可以各队派一个不上场的人记分,因为自己球队的人都相互认识,就可以把每个球员的详细得分记录下啦,比分是实时同步的,比分也不会有歧义,比赛数据都会永久保存,只要打开小程序就可以查看自己的历史比赛,所以这个 AI篮球云平台 小程序是篮球比赛的首选。
搜索篮球计分器有很多,几乎都是简洁版记分( 到处是广告 ),打开程序后直接点击开始比赛, *** 作简单,傻瓜式 *** 作,只记录比赛的总比分,但是没有技术统计功能,不能记录球员的详细得分,如果不追求详细数据,可以选择这个
这是一个数码管显示的篮球计分程序,你可以参考一下:#include"reg52.h"
#define u8 unsigned char
#define u16 unsigned int
sbit UP_1 = P1^1 //第一队加分键
sbit DOWN_1 = P1^2 //第一队减分键
sbit UP_2 = P1^3 //第二队加分键
sbit DOWN_2 = P1^4 //第二队减分键
sbit Change = P1^5 //交换键
sbit Begin = P1^6 //开始键
sbit Pause = P1^7 //暂停键
sbit Beef = P2^4 //蜂鸣器
sbit duan = P2^3 //段选
sbit wei = P2^2 //位选
u8 Grate_1=0 //第一队计分
u8 Grate_2=0 //第二队计分
u8 Grate_change=0 //换场标志
u8 Time = 99 //总时间
u16 Flag=0 //计时次数
u8 leddata[]={
0x3F, //"0"
0x06, //"1"
0x5B, //"2"
0x4F, //"3"
0x66, //"4"
0x6D, //"5"
0x7D, //"6"
0x07, //"7"
0x7F, //"8"
0x6F, //"9"
}
void InitTimer1(void)
{
TMOD = 0x10 //定时器1设为模式1
TH1 = 0xFC
TL1 = 0x18 //1ms
EA = 1 //开总中断
ET1 = 1 //开定时器1中断
// TR1 = 1 //
}
void delay(u8 d) //延时
{
u8 a,b,c
for(c=dc>0c--)
for(b=17b>0b--)
for(a=16a>0a--)
}
void beef(u8 d) //发声
{
u8 a,b,c
for(c=dc>0c--)
for(b=17b>0b--)
for(a=16a>0a--)
{
Beef=~Beef
}
}
void display(u8 grate_1,u8 grate_2,u8 time) //显示
{
u8 w1,w2,w3,w4,w7,w8
w1=grate_1/10 //计算第一队分数十位
w2=grate_1%10 //计算第一队分数个位
w3=grate_2/10 //计算第二队分数十位
w4=grate_2%10 //计算第二队分数个位
w7=time/10 //计算时间十位
w8=time%10 //计算时间个位
P0=0xff //消隐,该段显示第一队分数十位
wei=1
P0=0xfe //送位码
wei=0
P0=0xff
duan=1
P0=leddata[w1] //送段码
duan=0
delay(5)
P0=0xff //显示第一队分数个位
wei=1
P0=0xfd
wei=0
P0=0xff
duan=1
P0=leddata[w2]
duan=0
delay(5)
P0=0xff //显示第二队分数十位
wei=1
P0=0xf7
wei=0
P0=0xff
duan=1
P0=leddata[w3]
duan=0
delay(5)
P0=0xff //显示第二队分数个位
wei=1
P0=0xef
wei=0
P0=0xff
duan=1
P0=leddata[w4]
duan=0
delay(5)
P0=0xff //显示时间十位
wei=1
P0=0xbf
wei=0
P0=0xff
duan=1
P0=leddata[w7]
duan=0
delay(5)
P0=0xff //显示时间个位
wei=1
P0=0x7f
wei=0
P0=0xff
duan=1
P0=leddata[w8]
duan=0
delay(5)
}
void main()
{
InitTimer1() //初始化定时器1
UP_1 = 1 //以下初始化IO口
DOWN_1 = 1
UP_2 = 1
DOWN_2 = 1
Change = 1
Begin = 1
while(1)
{
if(UP_1==0) //如果第一队加分键按下
{
ET1 = 0 //关闭定时器1中断
delay(5) //稍加延时
while(UP_1==0)//等待按键抬起
Grate_1++ //第一队分数加1
ET1 = 1 //开启定时器1中断
}
if(DOWN_1==0) //如果第一队减分键按下
{
ET1 = 0
delay(5)
while(DOWN_1==0)
Grate_1-- //第一队分数减1
ET1 = 1
}
if(UP_2==0) //如果第二队加分键按下
{
ET1 = 0
delay(5)
while(UP_2==0)
Grate_2++ //第二队分数加1
ET1 = 1
}
if(DOWN_2==0) //如果第二队减分键按下
{
ET1 = 0
delay(5)
while(DOWN_2==0)
Grate_2-- //第二队分数减1
ET1 = 1
}
if(Change==0) //如果换场键按下
{
ET1 = 0
delay(5)
while(Change==0)
Grate_change=Grate_1 //一下三行语句完成分数交换显示
Grate_1=Grate_2
Grate_2=Grate_change
ET1 = 1
}
if(Begin==0) //如果开始键按下
{
delay(5)
while(Begin==0)
TR1 = 1 //开启定时器1
}
if(Pause==0)
{
delay(5)
while(Pause==0)
TR1=0
}
if(Time<=0) //如果时间计数到0
{
Time=99 //恢复初始时间
TR1 = 0 //关闭定时器1
beef(100) //发声
}
display(Grate_1,Grate_2,Time) //显示分数、时间
}
}
void Timer1Interrupt(void) interrupt 3 //定时器1中断函数
{
TH1 = 0xFC //重赋初值
TL1 = 0x18
Flag++ //中断次数加1
if(Flag>=1000)//1000次也就是1秒到
{
Flag=0
Time-- //秒变量减1
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)