51单片机电子制作------篮球比赛计分器

作者:李剀

出处:https://blog.csdn.net/Kevin_8_Lee

或者 https://www.cnblogs.com/kevin-nancy/

欢迎转载,但也请保留上面这段声明。谢谢!(上面两个都是我的博客,只是在不同平台)

这个也是可以用于单片机课设的一个小东西。 同样和之前的交通灯项目一样,我用同样的方法介绍一下

1) 题目及设计要求

题目: 篮球比赛计分器
要求:
1、两队各三位显示,共计六位数码显示;

2、设A、B队加、减分按键,复位键;

3、加减分实现1分、2分、3分加减。

2) C51编程以及电路仿真软件

编程:: 同样使用keil3或者keil4,以keil4为例

软件就不截图了,可以看我关于交通灯的那篇blog
https://www.cnblogs.com/kevin-nancy/p/10993057.html

或者 https://blog.csdn.net/Kevin_8_Lee/article/details/91351632

3) 解决思路

使用矩阵键盘作为按键输入,分别设置A、B两队加减1、2、3分按键以及清零按键

在proteus中,我的接线如下

使用两个四位八段的数码管(共阴极)显示

**PS:**其他的都跟我之前的那篇交通灯的制作类似
但是有一个问题在那篇博客忘记说了,这里写一下

上图圈起来那块那个复位用的电阻,必须设置为Digital类型的,否则无法使用复位按钮
双击元件,即可修改

4)软件部分

这个整个流程比较简单,程序流程图如下

同样由于时间问题,没心情用更简单的方法改了,直接是无限扫描按键,

// 矩阵键盘扫描函数,返回16进制数
uchar KeyScan()
{uchar cord_c,cord_r;        P3 = 0x0f;             if( (P3 & 0x0f) != 0x0f)    {delay_ms(5);              if( (P3 & 0x0f) != 0x0f){cord_r = P3 & 0x0f;P3 = cord_c | 0xf0;cord_c = P3 & 0xf0;while( (P3 & 0xf0) != 0xf0 );return (cord_c + cord_r);   } }}
// 不同的按键按下 执行不同的操作
void Key_score_Dispaly()
{switch( KeyScan() ){case 0xee: flag = 0;teamA_scores++; // A队加分break;case 0xde: flag = 1;teamA_scores--;break;case 0xbe: flag = 2;teamB_scores++;break;case 0x7e: flag = 3;teamB_scores--;break;case 0xed: flag = 4;teamA_scores+=2;    // 两分球break;case 0xdd: flag = 5;teamA_scores-=2;break;case 0xbd: flag = 6;teamB_scores+=2;break;case 0x7d: flag = 7;teamB_scores-=2;break;case 0xeb:  flag = 8;teamA_scores+=3;   // 三分break;case 0xdb:flag = 9;teamA_scores-=3;break;case 0xbb:flag = 10;teamB_scores+=3;break;case 0x7b:flag = 11;teamB_scores-=3;break;case 0xe7:flag = 12;teamA_scores=0;  // 清零break;case 0xd7:flag = 13;teamA_scores=0;break;case 0xb7:flag = 14;teamB_scores=0;break;case 0x77:flag = 15;teamB_scores=0;break;}Display(teamA_scores, teamB_scores);  // 显示}
// 主函数无限循环
void main()
{system_Init();  // 初始化只是关闭数码管while(1){Key_score_Dispaly();}
}

放一下最终的效果吧

路就在你脚下,只要走,就能到达远方! 加油吧!

ps:这个做的并不是很好,代码大多都是在循环中做,所以没有太细致的讲,但是用来做单片机的课设还是足够了

51单片机电子制作------篮球比赛计分器相关推荐

  1. 基于51单片机控制的篮球比赛计时、计分系统设计与仿真(含设计图和C语言程序源码)

    1. 设计任务: 2. 设计说明 2.1 需求分析 2.1.1 计分系统: 2.1.2 计时系统: 2.2 原理分析 2.3 总体设计 2.4 软硬件设计 2.4.1 硬件设计 2.4.2 软件设计 ...

  2. 单片机c语言篮球比分_单片机篮球比赛计分器设计方案与程序详解

    摘 要 本系统是采用单片机AT89C51作为本设计的核心元件.利用7段共阳LED作为显示器件.在此设计中共接入了2个7段共阳LED显示器,用于记录该队的分数, 2个LED显示器显示范围可达到0~99分 ...

  3. 51单片机50个实例代码_【附代码】51单片机电子密码锁教程

    简介 大家好,这篇文章的内容是关于如何用51单片机来制作一个电子密码锁的教程,通过这篇教程可以让刚入门的朋友了解矩阵键盘.LCD1602的使用方法,以及密码输入和修改的程序介绍,我会对每个部分进行详细 ...

  4. 51单片机——电子密码锁

    51单片机--电子密码锁 链接: link. 图片: !protues仿真 ,下面展示同样高亮的 代码片. #include<reg51.h> unsigned char zt=1; un ...

  5. 基于51单片机电子密码锁门禁开关设计全套资料

    基于51单片机电子密码锁门禁(实物图+原理图+源程序+仿真+毕设论文)全套资料 资料编号:011 本系统采用 51单片机 +24C02芯片+矩阵键盘 +继电器 +开锁指示灯 + LCD1602液晶 + ...

  6. 51单片机+ESP8266制作的门锁,含电路图、制板文件。支持密码、人脸、语音。

    51单片机+ESP8266制作的门锁,含电路图.制板文件.支持密码.人脸.语音. 硬件部分 软件部分 功能 第三方API.SDK 原理图 主要代码 程序执行流程 硬件部分 Esp-8266-01S(3 ...

  7. 模块称重51单片机电子秤称重压力检测阈值报警仪系统 源码+原理图仿

    HX711模块称重51单片机电子秤称重压力检测阈值报警仪系统 源码+原理图仿真(文件,文件,文件) 本系统由STC89C52单片机.LCD1602液晶显示.HX711称重传感器. 蜂鸣器报警.按键及电 ...

  8. 单片机c语言篮球比分_单片机课程设计篮球计时计分器正文1

    基于单片机的篮球赛计时计分器的设计 一系统设计方案 1.1 设计题目 篮球计时计分器 1.2 系统功能要求 本系统可实现功能如下: (1)主控部分:选择单片机为核心元件构成系统. (2)计时部分:能记 ...

  9. 基于51单片机电子微波炉控制系统(源程序+仿真+原理图+全套资料)

    资料编号:203 功能介绍: 该电子微波炉采用51单片机制作,有基本的加热.冷却.启动.停止等功能,并通过MCU 控制其加热.冷却时间,LED 数码管显示时间.程序采用C语言编写,仿真使用Proteu ...

  10. 基于51单片机电子时钟

    keil工程与protues仿真电路 1 基于51单片机用LCD1602实现时-分的显示 2. 按键控制时-分的调整 3. 能实现整时报时的功能(蜂鸣器响) 4. 闹钟模式 5.按键切换模式(模式一: ...

最新文章

  1. 南方医科大学珠江医院检验医学部生物信息分析师招聘启示
  2. Python算法:动态规划
  3. 3d点击_3D打印服务加工在医疗器械行业的应用
  4. Selenium+requests出现窗口不能跳转的情况
  5. Java、SQL 十年混战史:Oracle 告 Google、“窃”IBM 往事
  6. 键盘定位板图纸_罗技K750 SOLAR太阳能无线键盘评测
  7. idea中有些类明明在jar包里有,但是却搜不到
  8. linux开机故障,Entering emeryency mode. Exit the shell to continue.
  9. Nature Neuroscience:怀孕导致人类大脑结构的长久改变
  10. 使用MySql计算两个日期的时间差函数:TIMESTAMPDIFF
  11. Postman couldn‘t upload file
  12. SOCKS 代理协议漫谈
  13. html返回首页页面代码,后台返回的HTML整个页面代码打开方法
  14. autoGPT搭建详细教程-通俗易懂
  15. memcpy函数(多积累进大厂)
  16. Java解压Jar文件
  17. Python ISBN号概述,校验位计算,10位-13位转换,验证,连字符,及常用库isbnid,isbnlib,isbntools的使用
  18. easyuefi只能在基于uefi启动的_只需2个命令,就能将win10 BIOS启动方式转换为UEFI,你见过吗!...
  19. 在树莓派上实现usb摄像头监控的几种方案
  20. 西安电子科技大学计算机学院 段毅,计算机网络与信息安全国家级实验教学示范中心举办“金山云AIoT教学模型培训交流活动”...

热门文章

  1. PCA(主成分分析)的简单理解
  2. 《C++游戏编程入门(第4版)》——1.9 本章小结
  3. 面向意图的SDN北向接口
  4. 探索ASP.NET MVC5系列之~~~4.模型篇---包含模型常用特性和过度提交防御
  5. Perl语言学习总结
  6. python 将字典转成url参数
  7. 12月10日站立会议
  8. python多进程共享变量,附共享图像内存实例
  9. Mutual Review
  10. poj 2778 DNA Sequence