基于51单片机篮球24秒倒计时设计( proteus仿真+程序+设计报告+原理图+讲解视频)

news2024/12/23 13:12:42

基于51单片机篮球24秒倒计时设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机篮球24秒倒计时设计

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

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0076

1. 主要功能:

基于51单片机的篮球24秒进攻倒计时器设计

(1)用三位数码管设计24秒计时器,显示精度0.1秒。

(2)计时器为递减计时模式,时间间隔为0.1秒。

(3)计时器可由按键控制,功能分别为:启动、暂停/连续、清零。

(4)当按下清零键时,计时器显示00.0。当按下启动键时,计时器从24秒开始递减计时工作。在计时器工作时,按下暂停/连续键,计时器停止计时,当再按下暂停/连续键时,计数器将继续倒计时工作。

(5)当计时器递减计时到零,计时器显示00.0,同时红色警告灯闪烁,当按下清零键时,警告灯闪烁解除。

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

img

2. 讲解视频:

讲解视频包含仿真运行讲解和代码讲解

3. 仿真设计

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

开始仿真后数码管显示00.0

img

当按下启动键时,计时器从24秒开始递减计时工作。在计时器工作时,按下暂停/连续键,计时器停止计时,当再按下暂停/连续键时,计数器将继续倒计时工作。

img

当计时器递减计时到零,计时器显示00.0,同时红色警告灯闪烁,当按下清零键时,警告灯闪烁解除。

img

4. 程序代码

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


#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^0;//按钮
sbit k2=P3^1;
sbit k3=P3^2;
sbit led=P2^7;
sbit smg1=P2^0;//数码管
sbit smg2=P2^1;
sbit smg3=P2^2;

uchar code smgduan0[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示0~9,无小数点
uchar code smgduan1[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//显示0~9,有小数点
uchar time=0,mode=0;//定时+模式
uint miao=0;
uchar sec=0;
//延时
void delay(uint i)
{
	while(i--);
}
// 主函数定义
void main()
{
    // 定义一个变量k用于记录按键状态
    uchar k = 0;
    // 设置定时器0工作在模式1(16位定时器)
    TMOD |= 0X01;
    // 设置定时器0的高8位初始值,计算得出0.1s的计时周期
    TH0 = 0X3C;
    // 设置定时器0的低8位初始值
    TL0 = 0XB0; 
    // 打开定时器0中断允许位
    ET0 = 1;
    // 打开总中断开关
    EA = 1;
    // 主循环,不断检测按键和更新显示
    while(1)
    {
        // 显示部分:三位数码管分别显示当前秒数的百位、十位和个位及十分位
        P0 = smgduan0[miao / 100]; // 显示百位
        smg1 = 0;
        delay(50); // 延迟以实现分段显示效果
        smg1 = 1;

        P0 = smgduan1[miao % 100 / 10]; // 显示十位
        smg2 = 0;
        delay(50);
        smg2 = 1;

        P0 = smgduan0[miao % 10]; // 显示个位
        smg3 = 0;
        delay(50);
        smg3 = 1;
		完整代码见文章末压缩包
        // 按键处理部分
        // 检测启动键k1,当按下且之前未按下时,启动计时并设置miao为240表示24.0秒
        if (!k1 && (k != 1))
        {
            k = 1;
            TR0 = 1; // 启动定时器0
            miao = 240;
        }
        
        // 检测暂停/连续键k2,当按下且之前未按下时,切换定时器0的工作状态
        if (!k2 && (k != 2))
        {
            k = 2;
            TR0 = !TR0; // 切换定时器工作状态(启动或停止)
        }

        // 检测清零键k3,当按下且之前未按下时,停止计时并将miao置零,同时点亮红色警告灯led
        if (!k3 && (k != 3))
        {
            k = 3;
            TR0 = 0; // 关闭定时器
            miao = 0;
            led = 1; // 点亮警告灯
        }

        // 当三个键都被释放时,重置按键状态变量k
        if (k1 && k2 && k3)
            k = 0;
    }
}

5. 设计报告

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

img

本课程设计项目正是围绕这一关键设备展开,目标是通过运用51系列单片机的强大功能,并结合Proteus仿真软件进行综合实践训练,旨在设计并实现一款高精度、功能完备的篮球24秒进攻倒计时控制系统。此系统不仅要求能够以0.1秒为单位准确递减计时,还须具备灵活多样的控制功能,如启动、暂停/连续运行以及一键清零等操作,满足实际比赛中对计时器灵活性和可靠性的严格需求。

学生在完成该项目的过程中,将全面接触和掌握单片机系统的硬件设计原理,包括数码管显示模块、按键输入模块和LED状态指示模块的设计及连接;同时,在软件层面,需要学习和编写基于定时中断机制的嵌入式程序代码,确保计时过程的实时性和稳定性。此外,通过Proteus仿真平台进行虚拟调试与验证,可以直观地观察到系统工作全过程,帮助学生更好地理解硬件与软件之间的交互关系,加深对实时控制技术的理解与应用能力。

6. 原理图

原理图使用AD绘制,可供实物参考,仿真不同于实物,需要调试经验才能做出来。

img

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

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

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

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

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

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

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

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

img

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

1、程序代码注释

2、proteus仿真

3、功能要求

4、软硬件流程图

5、开题报告

6、设计报告

7、原理图

8、讲解视频

Altium Designer 安装破解

KEIL+proteus 单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

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

下载链接

https://docs.qq.com/doc/DS3VObWtKbHNBUlFm

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

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

相关文章

分享2024高校专业建设思路及建设效果

广东泰迪智能科技股份有限公司成立于2013年,是一家专业从事大数据、人工智能等数据智能技术研发、咨询和培训的高科技企业,公司基于十余年的数据智能产业实践经验,构建“产、岗、课、赛、证、文”融通的特色应用型人才培养模式,助…

reduce方法

console.log(movements);● 例如上述这个列表存储了一个用户每次取钱和存钱的一个过程,我们要将这个数组中所有的数组加起来,来了解他的余额到底有多少钱,这就需要用到reduce方法 const balance movements.reduce(function (acc, cur, i, a…

自动化测试-web

一、自动化测试理论: UI: User Interface (用户接口-用户界面),主要包括:app 和webUI自动化测试:使用工具或代码执行用例的过程什么样的项目适合做自动化: 需要回归测试项目(甲方自…

Docker 学习笔记(八):Dockerfile实战篇,制作 Tomcat 镜像,发布镜像到 DockerHub 和阿里云

一、前言 记录时间 [2024-4-13] 系列文章简摘: Docker 学习笔记(六):挑战容器数据卷技术一文通,实战多个 MySQL 数据同步,能懂会用,初学必备 Docker 学习笔记(七)&#x…

树--构建二叉排序树

一、二叉排序树介绍 二叉排序树:对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大。 特别说明:如果有相同的值,可以将该节点放在左子节点或右子节点 二、构建有…

几分钟!你的PDF文件就可以具有仿真翻页的效果!

你是否曾经在阅读PDF文件时感到困扰,因为它的页面是静态的,无法模拟真实的翻页效果?现在,我教你一个很实用的方法:几分钟!你的PDF文件就可以具有仿真翻页的效果! 工具:FLBOOK在线制作…

深入理解JavaScript - JavaScript中call、apply、bind方法

一、call() / apply() JavaScript中的函数是对象,与其他JavaScript对象一样,JavaScript函数也有方法。其中有两个自带的方法 – call和apply,可以利用这两个方法来间接调用某个函数。 通过一个简单的例子体会一下call和apply的用法: funct…

windows下使用的的数字取证工作工具套装:forensictools

推荐一套windows下使用的的数字取证工作工具套装:forensictools 部分工具包括: ▫️exiftool,一个命令行应用程序和 Perl 库,用于读写元信息。 ▫️YARA,一款开源工具,用于对恶意软件样本进行识别和分类。…

LeetCode最长有效括号问题解

给定一个仅包含字符的字符串(’ 和 ‘)’,返回最长有效的长度(出色地-形成) 括号子弦。 示例1: 输入:s “(()” 输出:2 说明:最长的有效括号子字符串是 “()” 。 示例2: 输入:s “)()())…

设计模式——迭代器模式15

迭代器模式提供一种方法访问一个容器对象中各个元素&#xff0c;而又不需暴露该对象的内部细节。 设计模式&#xff0c;一定要敲代码理解 抽象迭代器 /*** 迭代抽象* */ public interface Iterator<A> {A next();boolean hasNext(); }迭代器实现 /*** author ggbond*…

记一次http访问超时服务器端调试

问题&#xff1a;http访问服务器时没有返回&#xff0c;没有超时&#xff0c;一直在阻塞 处理过程&#xff1a;telnet端口能连上&#xff0c;服务端程序也不存在处理时间过长的情况。 说明tcp连接没问题。推测是客户端连接后再发起请求&#xff0c;服务端阻塞了。因为很多客户…

【C++程序员的自我修炼】拷贝构造函数

心存希冀 追光而遇目有繁星 沐光而行 目录 拷贝构造函数概念 拷贝构造的特征 无穷递归的解释 浅拷贝 总结&#xff1a; 深拷贝 拷贝构造函数典型调用场景 总结 契子✨ 在生活中总有很多琐事&#xff0c;不做不行做了又怕麻烦&#xff0c;有时候想要是有个和自己一模一样的人就…

功能测试_订购单检查_判定表

画判定表的步骤&#xff1a; 列出条件 列出动作

[大模型]Yi-6B-chat WebDemo 部署

Yi-6B-chat WebDemo 部署 Yi 介绍 由60亿个参数组成的高级语言模型 Yi LLM。为了促进研究&#xff0c;Yi 已经为研究社区开放了Yi LLM 6B/34B Base 和 Yi LLM 6B/34B Chat。 环境准备 在autodl平台中租一个3090等24G显存的显卡机器&#xff0c;如下图所示镜像选择PyTorch–…

【Linux】磁盘与文件系统管理

目录 一、 磁盘结构 1. 数据结构 2. 物理结构 3. 硬盘的接口类型 二、 如何使用Linux中的磁盘 三、 文件系统 四、 磁盘分区 1. MBR分区 2. 分区的优缺点 3. 磁盘及分区的管理工具 五、格式化与挂载 1. 格式化 2. 挂载 六、实例演示 1. 演示分区格式化挂载 2. …

Springboot+Vue项目-基于Java+MySQL的旅游网站系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

OpenCV轻松入门(六)——简单图片处理【马赛克、毛玻璃、浮雕效果】

马赛克效果 马赛克指现行广为使用的一种图像&#xff08;视频&#xff09;处理手段&#xff0c;此手段将影像特定区域的色阶细节劣化并造成色块打乱的效果&#xff0c;因为这种模糊看上去有一个个的小格子组成&#xff0c;便形象的称这种画面为马赛克。其目的通常是使之无法辨…

麒麟v10安装mysql-8.0.35

因为要修复漏洞的原因&#xff0c;这两天将麒麟v10操作系统的服务器上的MySQL版本由5.7.27升级到8.0.35&#xff08;mysql安装包下载地址&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions)&#xff09;&#xff0c;mysql的安装过程主要参考了这个博主…

Qlik在数据隐私计划中利用人工智能和分析

在技术快速变革的时代&#xff0c;政府正在努力追赶技术发展和我们日常生活中产生的个人身份信息&#xff08;“PII”&#xff09;数量不断增加的步伐。规范 PII 使用的隐私法不断加强&#xff08;Gartner估计&#xff0c;虽然到 2020 年&#xff0c;全面的隐私法将覆盖全球 10…

MQ:延迟队列

6.1场景&#xff1a; 1.定时发布文章 2.秒杀之后&#xff0c;给30分钟时间进行支付&#xff0c;如果30分钟后&#xff0c;没有支付&#xff0c;订单取消。 3.预约餐厅&#xff0c;提前半个小时发短信通知用户。 A -> 13:00 17:00 16:30 延迟时间&#xff1a; 7*30 * 60 *…