51单片机的简易篮球计分器倒计时仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

51单片机的简易篮球计分器倒计时仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

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

51单片机的简易篮球计分器倒计时仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0048

1.主要功能:

本设计旨在设计一个基于51单片机的篮球比赛计分器仿真设计,下面是设计的功能要求

1.可以在比赛期间随时更新A和B队的比分。

2.中场休息期间交换场地,交换A队和B队的位置。

3.当添加比赛分数时,如果有错误,可以手动更改赛场分数。

4.具备篮球24秒进攻时间倒计时,精确到0.01秒,进攻时间结束时可以触发警报。

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

以下为本设计资料展示图:

2.仿真

开始仿真

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后,数码管显示0,需要按下启动/暂停按键开始计时。

当系统启动时,发光二极管数码管按程序流程被点亮,显示赛场比赛24秒倒计时和赛场比赛计分。没启动之前24秒倒计时时间显示00.00。比赛分数00:00.按下启动按键后,24秒倒计时数码管开始以0.01的精度倒计时。比赛状态指示灯开始指示灯点亮,如果有A队得分,可以通过A+按键按一下加一份。如果有错误需要修正可以按下A-,按一下减一份。B队得分同理操作。如果比赛开始后有犯规或者其他需要暂停比赛的需要,可以按下启动/暂停按键来暂停比赛,需要重新开始再按一下。24秒进攻倒计时结束后蜂鸣器报警提醒。

img

下图是中场A队得分26分,B队得分26分。需要交换场地再计分轻触交换场地按键即可。比分会换过来。

img

交换后:

img

3. 程序代码

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

img

void main()//主函数
{uchar k=0;beep=0;TMOD|=0X11;//定时器设置TH0=0XD8;TL0=0XEF;TH1=(65536-1000)/256;TL1=(65536-1000)%256;ET1=1;	ET0=1;//打开定时器0中断允许EA=1;//打开总中断TR0=1;//打开定时器while(1){//点亮LEDif(start==0){led1=1;led2=1;} if(start==1){led1=0;led2=1;}if(start==2){led1=1;led2=0;}//显示时间P0=smgduan[fen/10];smg1=0;delay(50);smg1=1;P0=smgduan[fen%10]+0x80;smg2=0;delay(50);smg2=1;P0=smgduan[miao/10];smg3=0;delay(50);smg3=1;P0=smgduan[miao%10];smg4=0;delay(50);smg4=1;//显示分数if(flag==0)P0=smgduan[fena/10];elseP0=smgduan[fenb/10];smg5=0;delay(50);smg5=1;if(flag==0)P0=smgduan[fena%10];elseP0=smgduan[fenb%10];smg6=0;delay(50);smg6=1;if(flag==1)P0=smgduan[fena/10];elseP0=smgduan[fenb/10];smg7=0;delay(50);smg7=1;if(flag==1)P0=smgduan[fena%10];elseP0=smgduan[fenb%10];smg8=0;delay(50);smg8=1;//按键检测if(start>=0)//调分数{if(!k1 &&(k!=1)){k=1;if(fena<99)fena++;}if(!k2 &&(k!=2)){k=2;if(fena>0)fena--;}if(!k3 &&(k!=3)){k=3;if(fenb<99)fenb++;}if(!k4 &&(k!=4)){k=4;if(fenb>0)fenb--;}}//启动暂停if(!k7 &&(k!=7)){k=7;if(start==0){start=1;fen=24;miao=0;}else{if(start==1)start=2;elsestart=1;}}//交换场地if(start==0){if(!k6 &&(k!=6)){k=6;flag=!flag;}}//清零if(start==0){if(!k5 &&(k!=5)){k=5;fena=0;miao=0;fen=0;fenb=0;}}//24sif(start>0){if(!k8 &&(k!=8)){k=8;start=1;fen=24;miao=0;	}}if(k1 && k2 && k3 && k4 && k5 && k6 && k7&& k8)k=0;}
}

4. 原理图

原理图使用AD绘制,可供实物参考,仿真不同于实物,经验不足不要轻易搞实物。

img

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

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

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

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

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

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

5. 设计报告

8554+字设计报告

img

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

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

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

1、仿真图

2、程序源码

3、开题报告

4、原理图

5、功能要求

6、设计报告

7、软硬件流程框图

8、讲解视频

Altium Designer 软件资料

KEIL软件资料

Proteus软件资料

单片机学习资料

答辩技巧

设计报告常用描述

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

img

资料下载链接(可点击):

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

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

相关文章

List常见面试问题

List的特点有哪些&#xff1f; Java中的List是一种存放有序的、可以重复的数据的集合&#xff0c;它允许重复元素的存在。List中的元素都有对应的一个序列号(索引)记录着元素的位置&#xff0c;因此可以通过这个序列号来访问元素。 ‍ Java中集合有哪些&#xff1f; Java中…

最新仿闲鱼链接+独立后台管理 跳转APP

2024最新仿xy链接源码 后台一键生成链接&#xff0c;后台管理教程&#xff1a;解压源码&#xff0c;修改数据库config/Congig 不会可以看源码里有教程 下载程序&#xff1a;https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3

【C进阶】分析 C/C++程序的内存开辟与柔性数组(内有干货)

前言&#xff1a; 本文是对于动态内存管理知识后续的补充&#xff0c;以及加深对其的理解。对于动态内存管理涉及的大部分知识在这篇文章中 ---- 【C进阶】 动态内存管理_Dream_Chaser&#xff5e;的博客-CSDN博客 本文涉及的知识内容主要在两方面&#xff1a; 简单解析C/C程序…

CSS中如何实现一个自适应正方形(宽高相等)的元素?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐利用padding百分比⭐2. 利用::before伪元素⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对W…

【面试心得】系统调用

这个问题也是在九识面试的时候被问到的&#xff0c;当时我说就是像Shell&#xff0c;从用户态转移到内核态的过程&#xff0c;面试官让我说的详细一点&#xff0c;我就说不出来了&#xff0c;然后我就说了一些函数调用的过程&#xff0c;hhhh。 现在在这里做一个记录吧。 本文…

车载诊断数据库——诊断问卷调查表与CDD关联关系

车载诊断数据库——诊断问卷调查表与CDD关联关系 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生…

typeScript 学习笔记(二)

类接口 TypeScript 入门教程 (xcatliu.com) 十四.类 ① 类 类&#xff1a;定义了一件事物的抽象特点&#xff0c;包含它的属性和方法对象&#xff1a;类的实例&#xff0c;通过new生成面向对象&#xff08;OOP&#xff09;的三大特性&#xff1a;封装、继承、多态封装&…

LAMP搭建WordPress

L linux A apache hhtpd M mysql/maridb P PHP1、 安装php yum -y install php php-fpm php-server php-mysql1.1、 启动php-fpm并自启 systemctl enable php-fpm --now[rootecs-1cee ~]# systemctl status php-fpm ● php-fpm.service - The PHP FastCGI Process ManagerLoa…

muduo 32 muduo项目总结

Timestamp时间管理类 ①&#xff1a;主要提供now函数显示当前时间&#xff1a;自1970年1月1日0点以来经过的秒数&#xff0c;使用time函数 ②&#xff1a; toString函数将字符串转化成时间字符串&#xff0c;使用localtime函数将秒数格式化成日历时间 解析tm_time 并以日历格…

计算机毕业设计 JSPM校园闲置物品交易平台的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

【C++模拟实现】手撕AVL树

【C模拟实现】手撕AVL树 目录 【C模拟实现】手撕AVL树AVL树的介绍&#xff08;百度百科&#xff09;AVL树insert函数的实现代码验证是否为AVL树AVL树模拟实现的要点易忘点AVL树的旋转思路 作者&#xff1a;爱写代码的刚子 时间&#xff1a;2023.9.10 前言&#xff1a;本篇博客将…

Nodejs 第十五章(child_process)

child_process 子进程 子进程是Nodejs核心API&#xff0c;如果你会shell命令&#xff0c;他会有非常大的帮助&#xff0c;或者你喜欢编写前端工程化工具之类的&#xff0c;他也有很大的用处&#xff0c;以及处理CPU密集型应用。 创建子进程 Nodejs创建子进程共有7个API Sync…

跟踪源码技巧+阅读源码工具Sourcetrail

基于Eclipse IDE 1、Quick Type Hierarchy 快速查看类继承体系 &#xff08; 快捷键&#xff1a;Ctrl T&#xff09; 查看类很多人可能都知道&#xff0c;可源码阅读的时候更多用来查看方法体系更重要&#xff0c;可以方便快速的定位到方法的实现类。如&#xff1a; 此时如…

Kafka入门与安装

为什么要用消息中间件&#xff1f; 异步处理 场景说明&#xff1a;用户注册后&#xff0c;需要发注册邮件和注册短信。传统的做法有两种1.串行的方式&#xff1b;2.并行方式。 串行方式&#xff1a;将注册信息写入数据库成功后&#xff0c;发送注册邮件&#xff0c;再发送注…

无涯教程-JavaScript - COUPDAYSNC函数

描述 COUPDAYSNC函数返回从结算日期到下一个息票日期的天数。 语法 COUPDAYSNC (settlement, maturity, frequency, [basis])争论 Argument描述Required/OptionalSettlement 证券的结算日期。 证券结算日期是指在发行日期之后将证券交易给买方的日期。 RequiredMaturity 证…

elk安装篇之 Kibana安装

Kibana是一个开源的分析与可视化平台&#xff0c;设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。是es的可视化客户端之一。 一&#xff1a;下载 https://www.elastic.co/cn/kibana 我的es是elasticsearch-7.10.2版本&#x…

Hilbert-Schmidt Operator

Hilbert-Schmidt Operator See https://mathworld.wolfram.com/Hilbert-SchmidtOperator.html See https://people.kth.se/~laptev/FA08/l8.pdf

OpenCV(二十九):图像腐蚀

1.图像腐蚀原理 腐蚀操作的原理是将一个结构元素&#xff08;也称为核或模板&#xff09;在图像上滑动&#xff0c;并将其与图像中对应位置的像素进行比较。如果结构元素的所有像素与图像中对应位置的像素都匹配&#xff0c;那么该位置的像素值保持不变。如果结构元素的任何一个…

利用python进行视频下载并界面播放快速下载素材

工具&#xff1a;python designer&#xff08;python自带&#xff09;:UI界面设计工具 VLC&#xff1a;视频播放工具 需要的库如下&#xff1a; import os,platform os.environ[PYTHON_VLC_MODULE_PATH] "./vlc-3.0.14" import vlc from 脚本 import Player from …

SpringMVC之文件上传下载以及jrebel的使用

目录 一、文件上传 1.1 导入依赖 1.2 配置文件上传解析器 1.3 配置服务器存放文件地址 1.3.1 点击编辑Configurations 1.3.2 将项目部署至tomcat服务器上 1.3.3 配置相对路径 1.4 导入PropertiesUtil工具类 1.5 编写resource.properties 1.6 添加sql 1.7 编写PageCo…