用python编写一个篮球计分系统_怎样做一个 基于单片机的篮球记分系统?

利用单片机的定时器,中断可通过按键+或-时间的分、时,比分通过按键扫描函数实现+或-,这些LCD1602显示都够了,报警的话可设置成定时或者按键人工控制警告,用蜂鸣器,例如24s或者8s为例等。

以上能够简单实现功能了,这东西具体我也没完整做过,方案是没问题,具体还是自己动手,找到相关函数,整合下就好了。功能加强的话要好点的单片机,需要显示多的话上LCD。git什么的没注册,也没放代码,我相信常用的驱动函数你还是有的。

贴一个51按键控制时,分,1602显示的工程,里面有些函数可以直接用了。

void delayms(uchar ms)

{

uchar i;

while(ms--)

for(i=0;i<123;i++);

}

void w_com(uchar com)

{

RS = 0;

RW = 0;

E = 1;

P0= com;

E = 0;

delayms(1);

}

void w_dat(uchar dat)

{

RS = 1;

RW = 0;

E = 1;

P0= dat;

E = 0;

delayms(1);

}

void lcd_ini( void )

{

delayms(10);

w_com(0x38); //功能设置:8位口,2行,5*7点阵

delayms(10);

w_com(0x0c); //显示设置:开显示,关光标,无闪烁

delayms(10);

w_com(0x06); //输入模式:右移一格,地址加1

delayms(10);

w_com(0x01); //清显示

delayms(10);

w_com(0x38); //功能设置:8位口,2行,5*7点阵

delayms(10);

}

void s1_fun(void)

{

hour=hour++;

if(hour==24)

hour=0;

}

void s2_fun(void)

{

hour--;

if(hour==255)

hour=23;

}

void s3_fun(void)

{

min++;

if(min==60)

min=0;

}

void s4_fun(void)

{

min--;

if(min==255)

min=59;

}

void key(void)

{

static bit kp=0;

if((P3&0X0F)!=0X0F)

{ delayms(10);

if(((P3&0X0F)!=0X0F)&&(kp==0))

{

kp=1;

if((P3&0X0F)==0X0E)s1_fun();

if((P3&0X0F)==0X0D)s2_fun();

if((P3&0X0F)==0X0B)s3_fun();

if((P3&0X0F)==0X07)s4_fun();

}

}

else kp=0;

}

void main(void)

{

TMOD|=0X10;

TH1=15536/256; TL1=15536%256;

TR1=1; EA=1; ET1=1;

lcd_ini();

while(1)

{

key();

w_com(0x84);

w_dat(hour/10+48);

w_dat(hour%10+48);

if(flag==0)

w_dat(':');

else

w_dat(' ');

w_dat(min/10+48);

w_dat(min%10+48);

if(flag==0)

w_dat(':');

else

w_dat(' ');

w_dat(sec/10+48);

w_dat(sec%10+48);

}

}

void t1_int(void) interrupt 3

{

TH1=15536/256; TL1=15536%256;

++t1_counter;

if((t1_counter==10)||(t1_counter==20))flag=~flag;

if(t1_counter==20)

{

t1_counter=0;

if(++sec==60)

{

sec=0;

if(++min==60)

{

min=0;

if(++hour==24)hour=0;

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值