郑州网站建设套餐/数据分析师一般一个月多少钱
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文件路径,然后开始仿真。
📑3. 程序代码
使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。
⚓️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绘制,可供实物参考。
Proteus仿真和实物作品的区别:
1.运行环境:Proteus仿真是在计算机上运行的,而实物则是在硬件电路板上运行。
2.调试方式:在Proteus仿真中,可以方便地进行单步调试和观察变量值的变化,而在实物中则需要通过调试器或者串口输出等方式进行调试。
电路连接方式:在Proteus仿真中,可以通过软件设置进行电路连接的修改,而在实物中则需要通过硬件电路板和连接线进行修改。
3.运行速度:Proteus仿真通常比实物运行速度快,因为仿真是基于计算机运行的,而实物则需要考虑电路板上的物理限制和器件的响应时间等因素。
4.功能实现:在Proteus仿真中,可以通过软件设置实现不同的功能,而在实物中则需要根据电路设计和器件的性能进行实现。
📑5. PCB图
📑6. 设计报告
10112字设计报告,内容包括摘要,硬件设计、软件设计、软硬件框图、调试、结论等
📑7. 设计资料内容清单&&下载链接
资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。
资料下载链接:
0、常见使用问题及解决方法–必读!!!!
1、仿真图
2、程序源码
3、开题报告
3、原理图
5、功能要求
6、元器件清单
7、设计报告
8、软硬件流程框图
9、讲解视频
Altium Designer 软件资料
KEIL软件资料
Proteus软件资料
单片机学习资料
答辩技巧
设计报告常用描述
鼠标双击打开查找更多51 STM32单片机课程毕业设计.url
相关文章:

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

【NI-DAQmx入门】NI-DAQmx之Python
NI-DAQmx Python GitHub资源: NI-DAQmx Python 文档说明:NI-DAQmx Python Documentation — NI-DAQmx Python API 0.9 documentation nidaqmx支持 CPython 3.7和 PyPy3,需要注意的是多支持USB DAQ和PCI DAQ,cDAQ需要指定…...

YoloV8目标检测与实例分割——目标检测onnx模型推理
一、模型转换 1.onnxruntime ONNX Runtime(ONNX Runtime或ORT)是一个开源的高性能推理引擎,用于部署和运行机器学习模型。它的设计目标是优化执行使用Open Neural Network Exchange(ONNX)格式定义的模型,…...

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

Find My手机保护壳|苹果Find My与手机保护壳结合,智能防丢,全球定位
随着科技水平的快速发展,科技美容这一行业做为新型产业新生而出。时尚IT品牌随着市场的多元化发展。针对手机品牌和功能的增加而呈多样化,将手机保护壳按质地分有PC壳,皮革 ,硅胶,布料,硬塑,皮套…...

encode和decode的区别
字节序列和字符串是Python中两种不同的数据类型,它们的主要区别在于表示和处理方式! 字节序列(Bytes): 字节序列是一种二进制数据类型,它由一系列字节组成。字节是计算机存储信息的基本单位,每…...

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

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.原理 并串转化是指的是完成串行传输和并行传输两种传输方式之间的转换的技术,通过移位寄存器可以实现串并转换。 串转并,将数据移位保存在寄存器中,再将寄存器的数值同时输出; 并转串,将数据先进行移位࿰…...

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

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

RabbitMQ(高级特性):限流
消费端限流 在rabbitmq中,使用消费端限流必须开启手动签收信息 过MQ可以对请求进行“削峰填谷”,即通过消费端限流的方式限制消息的拉取速度,达到保护消费端的目的。 生产者批量发送消息: 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,如果不知道配置文件的位置可以执行whereis redis.conf查看 sudo vim /etc/redis/redis.conf取消文件中的requirepass注释&am…...

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

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

如何恢复已删除的PDF文件?4个常用方法分享(含操作步骤)!
“不小心删除了一些比较重要的PDF文件,大家能不能帮帮忙呀?有没有方法可以恢复已经删除的PDF文件呢?” PDF文件在我们的日常工作和生活中扮演着重要的角色,我们可能经常都需要使用到它。但不可避免的是,我们在使用电脑…...

head first python 第一章-新代码更新pypi
目录 第一步:了解目录结构 第三部分:实操 第一步:了解目录结构 目录结构如下,需要自己构建12345文件。 文件1:.pypirc [distutils] index-servers pypipypitest[pypi] #这里的[]内容需要和上面保持一致&am…...

mysql之备份和恢复
(一)备份 1、备份的种类 (1)完全备份:将整个数据库完整的进行备份 (2)增量备份:在完全备份的基础上,对后续新增的内容进行备份 2、备份的需求 (1&#x…...

【音视频 | Ogg】libogg库详细介绍以及使用——附带libogg库解析.opus文件的C源码
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...

如何使用群晖NAS的Audio Station结合内网穿透实现远程访问本地曲库
文章目录 本教程解决的问题是:按照本教程方法操作后,达到的效果是本教程使用环境:1 群晖系统安装audiostation套件2 下载移动端app3 内网穿透,映射至公网 很多老铁想在上班路上听点喜欢的歌或者相声解解闷儿,于是打开手…...

要在CentOS中安装Docker
要在CentOS中安装Docker,请按照以下步骤进行操作: 首先,确保系统已更新到最新版本。运行以下命令: sudo yum update接下来,安装需要的软件包以允许使用HTTPS进行软件包下载。运行以下命令: sudo yum ins…...
Android Gldie复用只取之前decode过的缓存resource,Kotlin
Android Gldie复用只取之前decode过的缓存resource,Kotlin import android.graphics.Bitmap import android.os.Bundle import android.util.Log import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.life…...

EasyExcel实现动态表头功能
EasyExcel实现动态表头功能 开发过程中,大部分都会使用到导出报表功能,目前阶段会用得有 poi导出(暂无), easyexcel导出(官方文档,https://easyexcel.opensource.alibaba.com/docs/current/&am…...

Python | 安装、环境配置及包的安装
Python | 安装、环境配置及包的安装 一、前言二、python安装及编辑器配置2.1 python安装2.2 python调试2.3 python编辑器 | PyCharm2.3.1 PyCharm下载2.3.2 PyCharm安装2.3.3 PyCharm启动界面2.3.4 PyCharm初步设置2.3.5 PyCharm环境配置(含Python Interpreter配置)2.3.5.1 New…...

CentOS 7 安装 JDK17(注意版本号要与自己的版本一致)
查看是否有自带的 JDK java -versionrpm -qa | grep jdk卸载自带 JDK rpm -e --nodeps [name] # 如 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64查看自带 JDK 是否卸载干净 java -versionrpm -qa | grep jdk在 oracle 官网下载自己所需 JDK 版本&#x…...

JavaScript 数组操作
JavaScript 中的数组提供了各种操作方法,包括增加、删除、修改、查找、排序、遍历、去重和转换等。以下是一些常用的数组操作方法: 增加元素 push(element1, element2, …, elementN): 将一个或多个元素添加到数组的末尾,并返回新数组的长度…...

idea使用lombok编译问题
idea编译报错问题如下: java: You arent using a compiler supported by lombok, so lombok will not work and has been disabled.Your processor is: com.sun.proxy.$Proxy26Lombok supports: OpenJDK javac, ECJ解决方案:在idea配置中File->Setti…...

GoLong的学习之路(番外)如何使用依赖注入工具:wire
我为什么要直接写番外呢?其原因很简单。项目中会使用,其实在这里大家就可以写一些项目来了。 依赖注入的工具本质思想其实都大差不差。无非控制反转和依赖注入。 文章目录 控制反转为什么需要依赖注入工具 wire的概念提供者(provider&#x…...

【pyspider】爬取ajax请求数据(post),如何处理python2字典的unicode编码字段?
情景:传统的爬虫只需要设置fetch_typejs即可,因为可以获取到整个页面。但是现在ajax应用越来越广泛,所以有的网页不能用此种爬虫类型来获取页面的数据,只能用slef.crawl()来发起http请求来抓取数据。 直接上例子: 可以…...