基于51单片机的篮球计分器

本项目采用芯片:AT89C52

本项目采用的编码程序:keil 5

需要用到的模块:定时器,LCD1602,独立按键(本人采用矩阵键盘,实际选择看功能多少),蜂鸣器

所实现的功能:

  1. 每一小节12分钟自动倒计时

  1. A、B两队各自计分,由按键控制(本项目采用得几分按键按几下,也可根据需要将不同按键设计成1,2,3分)

  1. 每队都有24秒进攻时间显示,在进球得分后将24秒重新计时

  1. 比赛可设置暂停键以及重启键

  1. 所有过程均有蜂鸣器提示音

效果图:

没有搞仿真,感觉太麻烦了,不如一块开发板,嘿嘿

主程序:

#include <REGX52.H>

#include "timer0.h"

#include "lcd1602.h"

#include "matrixkey.h"

#include "buzzer.h"

#include "delay.h"

unsigned int min=12,sec=0,score1,score2,ball0=24;

unsigned char keynum;

void main()

{

LCD_Init();

LCD_ShowString(1,2,"A B");

while(1)

{

LCD_ShowNum(1,4,score1,3);

LCD_ShowNum(1,11,score2,3);

LCD_ShowString(2,9,":");

LCD_ShowNum(2,7,min,2);

LCD_ShowNum(2,10,sec,2);

LCD_ShowNum(1,8,ball0,2);

keynum=matrixkey();

if(keynum) //按键提示音

{

buzzer_time(100);

}

if(keynum==1) //比赛开始

{

timer0_Init();

}

if(keynum==2) //一队加分

{

score1++;

ball0=24;

}

if(keynum==3) //二队加分

{

score2++;

ball0=24;

}

if(keynum==4) //暂停

{

EA=0;

}

if(keynum==5) //复位

{

break;

}

}

}

void timer0_routine() interrupt 1

{

static unsigned int t0count;

TL0 = 0x18;//设置定时初始值

TH0 =

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值