当前位置: 首页 > news >正文

51单片机的篮球计分器液晶LCD1602显示( proteus仿真+程序+原理图+PCB+设计报告+讲解视频)

51单片机的篮球计分器液晶LCD1602显示

  • 📑1.主要功能:
  • 📑讲解视频:
  • 📑2.仿真
  • 📑3. 程序代码
  • 📑4. 原理图
  • 📑5. PCB图
  • 📑6. 设计报告
  • 📑7. 设计资料内容清单&&下载链接
    • 资料下载链接:

51单片机的篮球计分器液晶LCD1602显示

( proteus仿真+程序+原理图+PCB+设计报告+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0058

📑1.主要功能:

基于51单片机AT89C51/52(与AT89S51/52、AT89C51/52、STC89C51/52等51内核单片机通用)

基于51单片机的篮球计分器液晶LCD1602显示

设计内容:

1、设计LCD显示篮球比赛计时计分牌。

2、通过加分按钮可以给A队或B队加分。

3、设计对调功能,A队和B队分数互换,意味着中场交换场地。

4、显示比赛倒计时功能。

5、创新内容:

如显示第几小节。

单节比赛或全场比赛结束后有蜂鸣器提醒。

可以通过按键完成+1、+2、+3操作。

篮球比赛24秒进攻倒计时功能

需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

📑讲解视频:

仿真讲解+代码讲解

51单片机篮球计分器LCD1602液晶(仿真+代码+报告+原理图+PCB+讲解)

📑2.仿真

开始仿真

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。

img

📑3. 程序代码

使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。

img

⚓️LCD1602液晶初始化子函数:

//LCD1602液晶初始化子函数
void LCD1602_init()
{uchar i;bb=0;    //H.T分数初始化cc=0;    //R.T分数初始化time=0;TMOD=0x10;    //定时器1初始化 TL1=0x00;TH1=0x4c;  //设置定时器初值 定时器50ms一次中断EA=1;     //开总中断ET1=1;     //开定时器1TR1=0;     //定时器1不工作EX0=1;     //开中断0EX1=1;     //开中断1IT0=1;     //中断0为边沿触发IT1=1;     //中断1为边沿触发E=0; beep=0;miao=0;fen=12;//默认单节比赛时间(单位分钟)num=1;aa=24;change_flag = 0;write_com(0x38);  //LCD设置初始化write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);  //LCD显示初始化for(i=0;i<16;i++){write_date(table1[i]);}write_com(0x80+0x40);for(i=0;i<16;i++){write_date(table2[i]);}
}

⚓️ 按键处理函数

//按键扫描子函数
void keyscan()
{if(K3==0)     //K3按下A分数加一{while(K3==0);bb++;point_lcd(0x04,bb);  if(K3==0)    //松手检测{while(K3==0);delay(20);}}else if(K4==0)    //S4按下A分数加二{while(K4==0);bb=bb+2;point_lcd(0x04,bb);if(K4==0){while(K4==0);delay(20);}}else if(K7==0)    //S4按下A分数加二{while(K7==0);bb=bb+3;point_lcd(0x04,bb);if(K7==0){while(K7==0);delay(20);}}else if(K5==0)    //S5按下B分数加一{while(K5==0);cc++;point_lcd(0x0A,cc);if(K5==0){while(K5==0);delay(20);}}else if(K6==0)    //S6按下B分数加2{while(K6==0);cc=cc+2;point_lcd(0x0A,cc);if(K6==0){while(K6==0);delay(20);}}else if(K8==0)    //S6按下B分数加2{while(K8==0);cc=cc+3;point_lcd(0x0A,cc);if(K8==0){while(K8==0);delay(20);}}else if(K9==0)    //S6按下B分数加2{while(K9==0);if(change_flag){change_flag = 0;}else{change_flag = 1;}point_lcd(0x04,bb);point_lcd(0x0A,cc);		if(K9==0){while(K9==0);delay(20);}}	
}

⚓️ 比赛计时部分函数

//比赛倒计时/24s倒计时
void counter_down()
{uchar i;if(time>=20)     //每1s倒计时做减一操作{miao--;aa--;write_com(0x80+0x4e);  //24s倒计时显示write_date(0x30+aa/10);write_date(0x30+aa%10);write_com(0x80+0x4e);if(aa==0)    //24s结束发出报警{beep=1;delay(3000);beep=0;aa=24;TR1=0;     //定时器1暂停}if((miao==0)&&(fen==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)    //每节结束蜂鸣器发出4s的间断报警{for(i=40;i>0;i--){beep=1;delay(500);beep=0;delay(500);}}if(num==5)    //终场结束,蜂鸣器发出10s的连续警报声{beep=1;delay(10000);num=0;}	beep=0;     //蜂鸣器关闭write_com(0x80+0x4b); //更新"SEC-?"write_date(0x30+num);write_com(0x80+0x4b);miao=0;     //倒计时复位fen=12;}if(miao==-1){miao=59;fen--;}write_com(0x80+0x40);  //更新倒计时显示write_date(0x30+fen/10);write_date(0x30+fen%10);write_com(0x80+0x43);write_date(0x30+miao/10);write_date(0x30+miao%10);write_com(0x80+0x43);time=0;}
}

📑4. 原理图

原理图使用AD绘制,可供实物参考。

img

Proteus仿真和实物作品的区别:

1.运行环境:Proteus仿真是在计算机上运行的,而实物则是在硬件电路板上运行。

2.调试方式:在Proteus仿真中,可以方便地进行单步调试和观察变量值的变化,而在实物中则需要通过调试器或者串口输出等方式进行调试。

电路连接方式:在Proteus仿真中,可以通过软件设置进行电路连接的修改,而在实物中则需要通过硬件电路板和连接线进行修改。

3.运行速度:Proteus仿真通常比实物运行速度快,因为仿真是基于计算机运行的,而实物则需要考虑电路板上的物理限制和器件的响应时间等因素。

4.功能实现:在Proteus仿真中,可以通过软件设置实现不同的功能,而在实物中则需要根据电路设计和器件的性能进行实现。

📑5. PCB图

img

📑6. 设计报告

10112字设计报告,内容包括摘要,硬件设计、软件设计、软硬件框图、调试、结论等

img

📑7. 设计资料内容清单&&下载链接

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

资料下载链接:

0、常见使用问题及解决方法–必读!!!!

1、仿真图

2、程序源码

3、开题报告

3、原理图

5、功能要求

6、元器件清单

7、设计报告

8、软硬件流程框图

9、讲解视频

Altium Designer 软件资料

KEIL软件资料

Proteus软件资料

单片机学习资料

答辩技巧

设计报告常用描述

鼠标双击打开查找更多51 STM32单片机课程毕业设计.url

img

相关文章:

51单片机的篮球计分器液晶LCD1602显示( proteus仿真+程序+原理图+PCB+设计报告+讲解视频)

51单片机的篮球计分器液晶LCD1602显示 &#x1f4d1;1.主要功能&#xff1a;&#x1f4d1;讲解视频&#xff1a;&#x1f4d1;2.仿真&#x1f4d1;3. 程序代码&#x1f4d1;4. 原理图&#x1f4d1;5. PCB图&#x1f4d1;6. 设计报告&#x1f4d1;7. 设计资料内容清单&&…...

【NI-DAQmx入门】NI-DAQmx之Python

NI-DAQmx Python GitHub资源&#xff1a; NI-DAQmx Python 文档说明&#xff1a;NI-DAQmx Python Documentation — NI-DAQmx Python API 0.9 documentation nidaqmx支持 CPython 3.7和 PyPy3&#xff0c;需要注意的是多支持USB DAQ和PCI DAQ&#xff0c;cDAQ需要指定…...

YoloV8目标检测与实例分割——目标检测onnx模型推理

一、模型转换 1.onnxruntime ONNX Runtime&#xff08;ONNX Runtime或ORT&#xff09;是一个开源的高性能推理引擎&#xff0c;用于部署和运行机器学习模型。它的设计目标是优化执行使用Open Neural Network Exchange&#xff08;ONNX&#xff09;格式定义的模型&#xff0c;…...

pcigo图床插件的简单开发

1.前言&#xff1a; 如果想写一个图床并且投入使用&#xff0c;那么&#xff0c;接入picgo一定是一个不错的选择。picgo有着windows&#xff0c;mac&#xff0c;linux等多个客户端版本。实用且方便。 2. 开发的准备&#xff1a; 2.0. 需要安装一个node node这里我就不详细说…...

Find My手机保护壳|苹果Find My与手机保护壳结合,智能防丢,全球定位

随着科技水平的快速发展&#xff0c;科技美容这一行业做为新型产业新生而出。时尚IT品牌随着市场的多元化发展。针对手机品牌和功能的增加而呈多样化&#xff0c;将手机保护壳按质地分有PC壳&#xff0c;皮革 &#xff0c;硅胶&#xff0c;布料&#xff0c;硬塑&#xff0c;皮套…...

encode和decode的区别

字节序列和字符串是Python中两种不同的数据类型&#xff0c;它们的主要区别在于表示和处理方式&#xff01; 字节序列&#xff08;Bytes&#xff09;&#xff1a; 字节序列是一种二进制数据类型&#xff0c;它由一系列字节组成。字节是计算机存储信息的基本单位&#xff0c;每…...

建设项目管理中的 5 大预算挑战

为建设项目管理制定可靠、准确的预算是一项艰巨的任务&#xff0c;对于中小型建筑企业来说尤其如此。预算必须精确&#xff0c;同时还要考虑到每项工作的独特性和复杂性。 一项建筑行业相关调查统计了参与施工预算流程的人员所面临的最大挑战&#xff0c;分别是时间、预算、不…...

vue2 集成 - 超图-SuperMap iClient3D for WebGL

1:下载SuperMap iClient3D for WebGL SuperMap iClient3D for WebGL产品包 打开资源目录如下 2:格式化项目中所用的依赖包 开发指南 从超图官网下载SuperMap iClient3D 11i (2023) SP1 for WebGL_CN.zip解压后,将Build目录下的SuperMap3D复制到项目中 \public\static…...

FPGA设计过程中有关数据之间的并串转化

1.原理 并串转化是指的是完成串行传输和并行传输两种传输方式之间的转换的技术&#xff0c;通过移位寄存器可以实现串并转换。 串转并&#xff0c;将数据移位保存在寄存器中&#xff0c;再将寄存器的数值同时输出&#xff1b; 并转串&#xff0c;将数据先进行移位&#xff0…...

hologres基础知识一文全

1 功能特性 1.1多场景查询分析 Hologres支持行存、列存、行列共存等多种存储模式和索引类型,同时满足简单查询、复杂查询、即席查询等多样化的分析查询需求。Hologres使用大规模并行处理架构,分布式处理SQL,提高资源利用率,实现海量数据极速分析。 亚秒级交互式分析 Holo…...

阿里云oss迁移到AWS S3

这里写自定义目录标题 0.项目背景1.rclone 方式2.rsync方式3.注意 0.项目背景 公司迁移要求&#xff1a;从阿里云oss到亚马逊s3&#xff0c;数据量大概500G-2T左右。 开启阿里云oss 加速模式&#xff0c;这样能够跨机房和区域加速。 主要采用以下两种方式同步数据&#xff0c;…...

RabbitMQ(高级特性):限流

消费端限流 在rabbitmq中&#xff0c;使用消费端限流必须开启手动签收信息 过MQ可以对请求进行“削峰填谷”&#xff0c;即通过消费端限流的方式限制消息的拉取速度&#xff0c;达到保护消费端的目的。 生产者批量发送消息&#xff1a; Test public void testSendBatch() {…...

LeetCode--570. 至少有5名直接下属的经理

文章目录 1 题目描述2 测试用例3 解题思路3.1 解法 1 1 题目描述 表: Employee ---------------------- | Column Name | Type | ---------------------- | id | int | | name | varchar | | department | varchar | | managerId | in…...

Ubuntu20.04下安装Redis环境

apt安装Redis环境 更新apt-get安装镜像源 安装Redis sudo apt-get install -y redis-server设置密码 # 编辑Redis的配置文件redis.conf&#xff0c;如果不知道配置文件的位置可以执行whereis redis.conf查看 sudo vim /etc/redis/redis.conf取消文件中的requirepass注释&am…...

什么是用户体验测试? 为什么很重要?

在当今数字化时代&#xff0c;用户体验(User Experience&#xff0c;简称UX)已经成为产品成功的关键因素之一。无论是应用程序、网站、硬件设备还是软件&#xff0c;提供出色的用户体验不仅能够吸引更多用户&#xff0c;还能够增加用户满意度&#xff0c;提高品牌忠诚度&#x…...

Android 图片翻面动画

一、需求描述 项目需要实现塔罗牌的翻面效果&#xff0c;需要点击图片后&#xff0c;图片实现翻面&#xff0c;并且翻面过程中&#xff0c;替换成图片资源&#xff0c;类似于扑克牌翻面。 二、实现思路 图片实现翻面效果&#xff0c;并且在动画执行到一半&#xff08;刚好到图…...

如何恢复已删除的PDF文件?4个常用方法分享(含操作步骤)!

“不小心删除了一些比较重要的PDF文件&#xff0c;大家能不能帮帮忙呀&#xff1f;有没有方法可以恢复已经删除的PDF文件呢&#xff1f;” PDF文件在我们的日常工作和生活中扮演着重要的角色&#xff0c;我们可能经常都需要使用到它。但不可避免的是&#xff0c;我们在使用电脑…...

head first python 第一章-新代码更新pypi

目录 第一步&#xff1a;了解目录结构 第三部分&#xff1a;实操 第一步&#xff1a;了解目录结构 目录结构如下&#xff0c;需要自己构建12345文件。 文件1&#xff1a;.pypirc [distutils] index-servers pypipypitest[pypi] #这里的[]内容需要和上面保持一致&am…...

mysql之备份和恢复

&#xff08;一&#xff09;备份 1、备份的种类 &#xff08;1&#xff09;完全备份&#xff1a;将整个数据库完整的进行备份 &#xff08;2&#xff09;增量备份&#xff1a;在完全备份的基础上&#xff0c;对后续新增的内容进行备份 2、备份的需求 &#xff08;1&#x…...

【音视频 | Ogg】libogg库详细介绍以及使用——附带libogg库解析.opus文件的C源码

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...

归并排序:分治思想的高效排序

目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法&#xff0c;由约翰冯诺伊曼在1945年提出。其核心思想包括&#xff1a; 分割(Divide)&#xff1a;将待排序数组递归地分成两个子…...

跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践

在电商行业蓬勃发展的当下&#xff0c;多平台运营已成为众多商家的必然选择。然而&#xff0c;不同电商平台在商品数据接口方面存在差异&#xff0c;导致商家在跨平台运营时面临诸多挑战&#xff0c;如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...