基于STM32单片机的篮球计时记分器proteus仿真原理图PCB

news/2024/5/18 16:24:11/文章来源:https://blog.csdn.net/jimo167913/article/details/128133506

功能:
0.本系统采用STC89C52作为单片机
1.LCD1602液晶实时显示比赛剩余时间,球队分数
2.默认计时器为4节,每节10分钟,每节比赛结束,蜂鸣器报警
3.按键功能介绍:
'1’键——加1分 '4’键——减1分
'2’键——加2分 '5’键——减2分
'3’键——加3分 '6’键——减3分
'0’键——关闭蜂鸣器
'*'键——启动/暂停计时器
'#'键——复位计分器
'A’键——选择A队 'B’键——选择B队
'C’键——初始状态下计时器加1分钟
'D’键——初始状态下计时器减1分钟
4.采用DC002作为电源接口可直接输入5V给整个系统供电

原理图:
在这里插入图片描述

PCB :
在这里插入图片描述

主程序:

#define __MAIN_C
#include "main.h"
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "bsp_gpio.h"
#include "bsp_clkconfig.h"
#include "bsp_delay.h"
#include "bsp_lcd1602.h"
#include "bsp_GeneralTim.h" 
#include "bsp_keyArray.h"
#include "stdio.h"CreatByte Flag;uint8_t roundNum = 1;
uint8_t scoreA = 0;
uint8_t scoreB = 0;
volatile uint8_t timeMinute = 0;
volatile uint8_t timeSecond = 0;
volatile uint8_t time10ms = 0;
uint8_t setTimeMinute = 10;int main(void)
{	char dis[16] = {0};dispFlag = 1;startFlag = 0;teamFlag = 0;timeMinute = setTimeMinute;// 使用HSI,SYSCLK = 4M * RCC_PLLMul_x, x:[2,3,...16],最高是64MHHSI_SetSysClock(RCC_PLLMul_2); //使用内部8MHz晶振,并设置PLL输出为8MHz// LED 端口初始化GPIO_Config();GENERAL_TIM_Init();KeyArray_GPIO_Init();LCD_GPIO_Init();LCD_Init();LCD_Clear();DelayMs(250);LCD_DispStr(0, 0, "    Welcome!    ");DelayMs(2000);LCD_Clear();while (1){    if (dispFlag == 1){dispFlag = 0;sprintf(dis, "R:%1d  T:%02d:%02d:%02d", (int)roundNum, (int)timeMinute, (int)timeSecond, (int)time10ms);LCD_DispStr(0, 0, dis);DelayMs(10);if (teamFlag == 0){sprintf(dis, ">A  %03d--%03d  B ", (int)scoreA, (int)scoreB);LCD_DispStr(0, 1, dis);}else{sprintf(dis, " A  %03d--%03d >B ", (int)scoreA, (int)scoreB);LCD_DispStr(0, 1, dis);}}KeyFunction();}
}/*********************************************END OF FILE**********************/

仿真演示视频:
https://www.bilibili.com/video/BV1cN4y1P7cZ/

实物演示视频:
https://www.bilibili.com/video/BV1pY4y167dj/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_228617.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计springboot人体健康管理app

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

静态路由配置案例

静态路由配置案例配置静态路由原理命令:案例:最后结果:配置静态路由原理命令: [Huawei]ip route-static 来源ip 子网掩码 去向ip [Huawei]ip route-static 192.168.20.1 255.255.255.0 192.168.1.2 案例: pc1,pc2,a…

MySQL数据库实现主从复制,docker实现版

我这里是在同一台电脑上使用docker实现的主从复制,在物理机上整体思路是一致的 预备工作:安装好docker 使用docker运行MySQL 拉取MySQL镜像 docker pull mysql:5.7运行mysql master容器 sudo docker run -p 33061:3306 --name mysql-master-v /myda…

Docker with IPV6

1、绪论 在 Docker 容器或群服务中使用 IPv6 之前,您需要在 Docker 守护进程中启用 IPv6 支持。之后,您可以选择对任何容器、服务或网络使用 IPv4 或 IPv6(或两者) 2、配置默认 Docker IPv6 注意:IPv6 网络仅在 Lin…

揭秘你代理商做不起来货卖不出去的原因,探讨其背后的商业逻辑

现在很多代理商,大都是可以归于“个体户”性质。这些也代表了微小型企业,从前期的蓬勃发展,到现在的经营受限,特别是疫情等影响,很多人的经营都处于举步维艰的状态,如果你们现在是代理商,仓库里…

【Ubuntu】修改ubuntu和windows双系统启动顺序

目录一、问题描述二、背景知识1. GRUB是什么2. GRUB配置文件3./etc/default/grub 主配置文件二、问题分析三、解决方案1. 修改grub主配置文件2. 更新grub配置文件一、问题描述 UbuntuWindows双系统默认使用GRUB作为引导管理器,而且通常默认启动Ubuntu。这样过于死板…

CrossOver2023虚拟机软件安装双系统教程

您喜欢切换Windows系统吗?喜欢?好吧,您随意。对于其他人而言,想要不依赖于笨重的 Windows 模拟器就能在您的 Mac 系统上运行微软的应用程序,CrossOver是最简单的方式。讲真,您试过模拟器了吗?您…

美信监控易:网络管理之链路专线管理

专线通常是指运营商为企事业单位提供的专用网络线路,用于满足其业务需求。专线管理可以提供对专线基础信息的维护,以及性能数据的监测能力。通过系统自动地、周期性地执行专线测试,获取指标数据,实现专线连通性、性能数据的全面感…

DDD的简单落地实现

目录 概述 和微服务的联系 具体划分 遵循依赖倒置原则 其他规范 具体实现代码 总结 概述 领域式驱动(DDD) 这种模式的核心就是根据功能去划分领域,然后在这个领域内只做这个领域的事情。 和微服务的联系 和微服务有什么类似的地方&am…

[附源码]Python计算机毕业设计Django高校车辆管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

浅浅的计算机网络知识

目录 计算机网络(连接分散计算机设备以实现信息传递的系统)_百度百科 传输协议 传输层次 通信 计算机网络协议分层结构 开放系统互连参考模型的特点 IPv4协议 IPv6协议 FTP HTTP 网络传输协议 较为系统框架 先面向百度搭建理解框架 计算机网…

【OpenCV-Python】教程:3-10 直方图(4)直方图反向投影

OpenCV Python 直方图 反向投影 【目标】 直方图反向投影calcBackProject 【原理】 用于图像分割和查找感兴趣目标。简单的说,会创建一个与输入图像同样大小的图像(单通道),每个像素对应像素属于目标的概率。更简单的说就是&am…

model.eval 至关重要!!!!model.eval()是否开启 BN 和 Dropout 的不同

之前写过一个项目,eval的时候很正常,但是一infer就有问题,多次排查发现,原来就是只缺一个 model.eval()哇,重大教训,我debug好久,在小姑娘面前翻车… 🤣🤣🤣…

HBase 开发:使用Java操作HBase 第1关:创建表

为了完成本关任务,你需要掌握:1.如何使用Java连接HBase数据库,2.如何使用Java代码在HBase中创建表。 如何使用Java连接HBase数据库 Java连接HBase需要两个类: HBaseConfigurationConnectionFactoryHBaseConfiguration 要连接HBase…

RK3588平台开发系列讲解(PWM篇)PWM及backlight的使用方法

平台内核版本安卓版本RK3588Linux 5.10Android12🚀返回专栏总目录 文章目录 一、PWM驱动二、DTS配置三、PWM在user space的使用四、PWM在背光中的使用4.1 Backlight DTS4.2 PWM Backlight 调试沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍PWM以及backli…

初学者学习JS很吃力怎么办?到底该如何学习JS?

前言 觉得吃力是很正常的,首先这证明你在某些知识点上没有理解透彻,JS挺多的知识点点其实是比较抽象的,比如闭包、原型和原型链等,其次便是不会变通运用,这主要是敲代码熟练度的问题,所以我针对你这种情况…

zcu106 lwip搭建以太网配置寄存器

文章目录实验一1.配置网口GEM32.导出xsa文件,在vitis中创建工程,选择freertos10_xilinx的操作系统来使用3.配置lwip211,选择SOCKET API的模式4.创建工程 选择FreeRTOS Iwip TCP Perf Server模板5.代码分析main.cfreertos_tcp_perf_server.cfr…

Elasticsearch 安装及启动【Windows】

一、下载 Elasticsearch 官网下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 选择自己所需版本进行下载,这里以Elasticsearch 8.2.2 为例 点击 Download,选择 Windows 版本 二、使用步骤 1.安装 Elasticse…

基于约束关系的图表设计

标准的基于 GUI 的图形设计工具仅支持有限的“对齐向导”风格的定位,具有基本的对象分组系统,并实现对齐或分布对象的原始功能。这些工具没有办法记住对象之间的约束和关系,也没有办法定义和重用抽象。我一直不满意现有的设计工具&#xff0c…

【正版软件】Navicat Monitor 实时数据库监控工具,一套安全、简单而且无代理的远程服务器监控工具。

简言 Navicat Monitor 是一套安全、简单而且无代理的远程服务器监控工具。它具有强大的功能使你的监控发挥最大效用。受监控的服务器包括 MySQL、MariaDB 和 SQL Server,并与 Amazon RDS、Amazon Aurora、Oracle Cloud、Microsoft Azure、阿里云、腾讯云和华为云等…