51单片机篮球计分器C语言,基于51单片机的篮球计分器设计

这是一个篮球比赛计分和24秒倒计时系统的设计代码。系统通过P25和P26按键控制比分交换和计时,当24秒倒计时结束或比赛时间结束时,会触发特定的蜂鸣器报警。此外,还包括了分钟和秒的倒计时逻辑,以及一节比赛结束后的报警机制。
摘要由CSDN通过智能技术生成

{

while(P25==0);

cc=cc+3;

point_lcd(0x08,cc);

if(P25==0)

{

while(P25==0);

delay(20);

}

}

else if(P26==0)       //P26按下交换比分

{

while(P26==0);

dd=bb;

bb=cc;

cc=dd;

point_lcd(0x08,cc);

point_lcd(0x04,bb);

if(P26==0)

{

while(P26==0);

delay(20);

}

}

}

//比赛倒计时/24s倒计时

void counter_down()

{

uchar i;

if(time>=20)     //每1s倒计时做减一操作

{

second--;

aa--;

write_com(0x80+0x4e);  //24s倒计时显示

write_date(0x30+aa/10);

write_date(0x30+aa%10);

write_com(0x80+0x4e);

beep=1;

if(aa==0)    //24s结束发出连续报警

{

beep=0;

delay(3000);

beep=1;

aa=24;

}

if((second==0)&&(minute==0))  //检测一节比赛是否结束

{

TR1=0;     //定时器1暂停

write_com(0x80+0x44);

write_date(0x30);

num++;

aa=24;    //24s计时复位

write_com(0x80+0x4e);  //24s倒计时显示

write_date(0x30+aa/10);

write_date(0x30+aa%10);

write_com(0x80+0x4e);

if(num<5)    //每节结束蜂鸣器发出间断报警

{

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

{

beep=0;

delay(500);

beep=1;

delay(500);

}

}

if(num==5)    //终场结束,蜂鸣器发出连续警报声

{

beep=0;

delay(10000);

num=0;

}

beep=1;     //蜂鸣器关闭

write_com(0x80+0x4b); //更新"SEC-?"

write_date(0x30+num);

write_com(0x80+0x4b);

second=0;     //倒计时复位

minute=12;

}

if(second==-1)

{

second=59;

minute--;

}

write_com(0x80+0x40);  //更新倒计时显示

write_date(0x30+minute/10);

write_date(0x30+minute%10);

write_com(0x80+0x43);

write_date(0x30+second/10);

write_date(0x30+second%10);

write_com(0x80+0x43);

time=0;

}

}

c2c9ed493cd281aa86d8a6f5178c4c01.gif [1] [2] 610626052e95c7fbe3d254abc769d9ad.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值