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

基于单片机的数字电子秒表设计

此文章谨为课设记录

一、实验要求

题目六 数字电子时钟

基本要求:

(1) 设计一个单片机电子时钟,设计的电子时钟通过数码管显示;
(2) 具有能通过按键实现设置时间的功能;
(3) 显示格式为小时十位、小时个位,分十位、分个位,秒十位、秒个位;
(4) 闹钟时间设置和报警功能。
在本次实验,不仅完美的实现了上述基本要求,还增加了几项

额外功能:

1、增加读取模式,能够记录当前计时值并保存,可以流水式已经读取记录的值
2、增加一个倒计时模式,在该模式下
(1)可以设置初值,并显示在数码管上
(2)当倒计时即将结束时,led灯会快速闪烁,提醒倒计时即将结束
(3)利用蜂鸣器在倒计时结束时,进行三秒的鸣叫提示倒计时已经结束

二、数字电子秒表硬件连接

硬件系统框图如下:

(一)核心控制器

51 单片机(如 STC89C51)作为系统核心,其内部定时器 用于产生 中断,为计时提供基准时钟。

(二)显示电路

6 位共阴极数码管用于显示时间信息。数码管的 a - g 段分别连接到 P0 口,通过向 P0 口输出不同的段码值来显示 0 - 9 数字。

(三)按键电路

多个按键采用独立按键形式连接到单片机引脚。按键未按下时,对应的引脚通过上拉电阻保持高电平;按键按下时,引脚电平变为低电平。通过软件中的按键扫描程序检测引脚电平变化,实现去抖和功能触发。

(四)蜂鸣器与 LED 电路

蜂鸣器通过输出高低电平控制其发声。LED 灯连接到 P1.7 引脚,用于倒计时警示。在倒计时即将结束根据程序控制 LED 灯闪烁。

三、代码介绍

代码流程图

在程序设计中,进行分模块进行描述:

1、主函数模块,负责初始化工作和等待响应;

2、按键扫描函数

3、显示函数类似对应与显示电路;

4、倒计数处理函数来实现这部分功能;

5、贯穿全局的定时函数,用来产生10ms的中断溢出信号。

系统初始化:设置定时器 0 为 16 位计时模式,计算初值实现 10ms 中断,晶振 12MHz。开启总中断和定时器 0 中断,初始关闭定时器 0。

主程序循环:在无限循环中,依次调用按键扫描函数获取按键状态,根据按键触发相应功能,如控制定时器的启停;调用显示函数更新数码管显示;调用倒计时处理函数处理倒计时逻辑。

按键扫描函数:采用静态变量记录按键状态,实现消抖和功能触发。根据不同按键执行相应操作,如控制计时状态、停止计时、清零数据、记录和读取时间、设置和启动倒计时等。

显示函数:根据不同模式,控制数码管显示相应内容,如计时、倒计时时间以及设置的倒计时初值,通过位选信号和段码输出实现稳定显示。

倒计时处理函数:利用静态变量控制 LED 灯闪烁,在倒计时模式下判断时间是否结束,结束时触发蜂鸣器;在倒计时最后几秒实现 LED 灯闪烁警示,其他时间熄灭。

定时器 0 中断函数:在计时模式下每 10ms 中断一次,实现 centisecond 自增及进位,精确计时,同时重新设置定时器初值 。

如果需要具体原理图工程文件和原代码(实验报告也有)可以通过下方链接下载
链接: https://pan.baidu.com/s/15JGLuF0L-YVonO5lAUArUQ?pwd=gt34 提取码: gt34

相关文章:

基于单片机的数字电子秒表设计

此文章谨为课设记录 一、实验要求 题目六 数字电子时钟 基本要求: (1) 设计一个单片机电子时钟,设计的电子时钟通过数码管显示; (2) 具有能通过按键实现设置时间的功能; (3) 显示格式为小时十位、小时个位,分…...

rust学习——环境搭建

rust安装:https://kaisery.github.io/trpl-zh-cn/ch01-01-installation.html 1、vscode装插件: toml语法支持 依赖管理 rust语法支持 2、创建demo 3、查看目录 4、执行文件的几种方式: rust安装:https://www.rust-lang.org/z…...

解读若依框架中的 @Xss 注解

文章目录 1. 背景与问题定义什么是 XSS 攻击?XSS 的常见类型传统解决方案的局限性 2. Xss 注解详解Xss 注解源码解析注解核心要素 XssValidator 实现解析核心逻辑 3. 应用场景场景一:表单输入校验示例代码 场景二:API 接口参数校验示例代码 4…...

ADO.NET知识总结4---SqlParameter参数

目录 5.1 SqlParameter介绍 5.2 SqlParameter创建参数方式 5.3 添加命令参数 5.4 参数使用 5.1 SqlParameter介绍 SqlParameter: 表示SqlCommand对象的参数,或与DataSet中列的映射。 常用属性 DbType 参数的SqlDbType(即 数据库的类型而言&#x…...

分布式主键ID生成方式-snowflake雪花算法

这里写自定义目录标题 一、业务场景二、技术选型1、UUID方案2、Leaf方案-美团(基于数据库自增id)3、Snowflake雪花算法方案 总结 一、业务场景 大量的业务数据需要保存到数据库中,原来的单库单表的方式扛不住大数据量、高并发,需…...

【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 4:MHE表示能力

目录 1 MHE的表示能力2 基于Frobenius-范数的低秩逼近3 基于CE的低秩近似 论文:Multi-Head Encoding for Extreme Label Classification 作者:Daojun Liang, Haixia Zhang, Dongfeng Yuan and Minggao Zhang 单位:山东大学 代码:h…...

Spring Boot 项目启动报 NoClassDefFoundError 异常的原因分析与解决方案 - jackson 版本不一致

目录 报错: 问题分析: 解决方案: 方案 1:对 Jackson 版本进行统一 方案 2:升级 Springfox 版本 方案 3:替换 Springfox 为 springdoc-openapi(推荐) 方案 4:排除冲突的 Jack…...

Ubuntu网络连接问题(笔记本更换wifi后,虚拟机连不上网络)

1、笔记本更换wifi后,虚拟机的IP地址变了,然后就连不上网络了(主机笔记本连接wifi正常上网) 2、修改子网地址(按照ubutun的ip设置子网掩码) 3、Ubuntu已经显示网络连接正常了,但是就是无法上网&…...

vue3中el-table实现多表头并表格合并行或列

1、el-table中添加事件 :span-method"genderSpanCity" <el-table :span-method"genderSpanCity":data"data.tableData":fit"true" table-layout"fixed" header-align"center" stripestyle"width:100%;he…...

Selenium 八大元素定位方法及场景扩展

Selenium 提供了八种常见的元素定位方法&#xff0c;用于在网页中准确找到需要操作的元素。以下是详细介绍以及一些特殊场景的解决方案。 1. ID 定位 用法&#xff1a; 通过元素的唯一 id 属性进行定位。 element driver.find_element(By.ID, "element_id")使用场…...

计算机网络之---网络拓扑

什么是网络拓扑 为什么需要网络拓扑 网络拓扑有哪些 什么是网络拓扑 网络拓扑 是指网络中各设备&#xff08;如计算机、路由器、交换机等&#xff09;如何连接以及它们之间数据流动的结构和布局。它是网络设计的一个关键方面&#xff0c;决定了网络的性能、可扩展性、可靠性…...

YOLO11新王登基!实战改进版,杀穿顶会!

众所周知&#xff0c;YOLO一直是发论文的大热门&#xff01;而YOLO11做为其的最新版本&#xff0c;必然会在2025成为各大顶会的“宠儿”&#xff01; 主要在于&#xff1a;一方面&#xff0c;YOLO其他系列的改进早已卷成“红海”&#xff0c;而YOLO11提出才几个月&#xff0c;…...

【《游戏编程模式》实战04】状态模式实现敌人AI

目录 1、状态模式 2、使用工具 3、状态模式适用范围 4、实现内容 5、代码及思路 Enemy.cs EnemyState.cs 6、unity里的设置 7、运行效果展示 1、状态模式 “允许一个对象在其内部状态改变时改变自身的行为。对象看起来好像是在修改自身类。” 就是一个对象能随着自己…...

Linux 环境(Ubuntu)部署 Hadoop 环境

前置准备 准备三台机器 cat /etc/hosts 192.168.1.7 hadoop-master 192.168.1.11 hadoop-slave01 192.168.1.12 hadoop-slave02Linux 环境 cat /etc/os-release PRETTY_NAME"Ubuntu 24.10" NAME"Ubuntu" VERSION_ID"24.10" VERSION"24.…...

裸机器搭建k8s部署 1.28.10版本

问了搭建k8s集群踩了很多坑&#xff0c;问题主要出现在网络插件处&#xff0c;因此主要是master节点操作问题。重新走一下流程整理一下笔记。 目录 虚拟机准备 虚拟机 系统版本信息 修改镜像地址 配置静态ip 关闭防火前和交换分区 转发 IPv4 并让 iptables 看到桥接流量…...

np.ndarray 是 NumPy 库中的核心数据结构

np.ndarray 是 NumPy 库中的核心数据结构&#xff0c;代表一个多维数组&#xff08;或称为矩阵&#xff09;。它是一个高效的容器&#xff0c;用于存储和操作数据&#xff0c;可以包含任意类型的数据&#xff08;整数、浮点数、布尔值等&#xff09;。 主要特点&#xff1a; …...

全新免押租赁系统打造便捷安全的租赁体验

内容概要 全新免押租赁系统的推出&#xff0c;标志着租赁行业的一次重大变革。这个系统的最大特点就是“免押金”&#xff0c;大大减轻了用户在租赁过程中的经济负担。从此&#xff0c;不再需要为一部手机或其他商品支付高昂的押金&#xff0c;用户只需通过简单的信用评估&…...

C语言——结构体,位段,枚举和联合

目录 前言 结构体 1含义 2语法 3匿名结构体 4结构体自引用 5结构体的定义与初始化 6内存对齐 7修改对齐数 8结构体传参 位段 1含义 2位段的内存分配 ​编辑3位段的问题 4位段的应用 枚举 1含义 2定义 3枚举优点 4枚举使用 联合 1含义 2定义 3特点 4计…...

现场展示deepseek VS openAI o1模型大对比

DeepSeek-V3 模型的发布在 AI 领域引起了广泛关注。作为一款拥有 6850 亿参数的混合专家&#xff08;MoE&#xff09;语言模型&#xff0c;DeepSeek-V3 在多个基准测试中表现出色&#xff0c;甚至超越了一些闭源模型。其在 Aider 代码能力排行榜上的正确率达到 48.4%&#xff0…...

深度解析 tanh ⁡ tanh 激活函数

1. 引言 在现代深度学习中&#xff0c;激活函数&#xff08;Activation Function&#xff09;是神经网络的核心组件之一。它的主要作用是引入非线性&#xff0c;从而使神经网络能够学习和表示复杂的非线性关系。如果没有激活函数&#xff0c;神经网络的输出将只是输入的线性组…...

【Golang 面试题】每日 3 题(二十五)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…...

Unity Canvas中显示粒子特效

首先在场景中新建一个粒子特效 修改一下参数 1.改变粒子特效的渲染层级,层级修改为UI层,由UI相机渲染 使用粒子特效的Sorting Layer ID和Order In Layer,Sorting Layer ID设置为UI(如果没有UI层则新建就好了),对UI进行排序 对于要显示在前的UI组件添加Canvas组件,设置O…...

excel精简使用工具

1.获取sheet1的行填充到sheet2的列 希望在 Excel 中使用 INDEX 函数从不同的列中提取数据&#xff0c;并且每一行都引用不同的列。为了实现这个目标&#xff0c;你可以使用 COLUMN 函数来动态获取列的偏移量。 为了避免手动输入每个单元格的公式&#xff0c;你可以使用以下公…...

上手体验微软全新整合的王炸平台Fabric

体验确实不错&#xff0c;微软强大的生态能力。 把可视化&#xff0c;数仓&#xff0c;数据胡&#xff0c;数据工厂&#xff0c;机器学习&#xff0c;数据监控等技术都整合到一个平台了。所有数据全都存储在统一的one lake数据中心&#xff0c;消除数据孤岛问题。而且不同角色可…...

Linux 下 Vim 环境安装踩坑问题汇总及解决方法(重置版)

导航 安装教程导航 Mamba 及 Vim 安装问题参看本人博客&#xff1a;Mamba 环境安装踩坑问题汇总及解决方法&#xff08;初版&#xff09;Linux 下Mamba 及 Vim 安装问题参看本人博客&#xff1a;Mamba 环境安装踩坑问题汇总及解决方法&#xff08;重置版&#xff09;Windows …...

RabbitMQ 可观测性最佳实践

RabbitMQ 简介 RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写&#xff0c;支持多种客户端。它通过使用交换机&#xff08;Exchanges&#xff09;、队列&#xff08;Queues&#xff09;和绑定&#xff08;Bindings&#xff09;来路由消息&#xff…...

束搜索、组束搜索介绍、异同及相关参数

束搜索&#xff08;Beam Search&#xff09;与组束搜索&#xff08;Group Beam Search&#xff09;介绍 束搜索&#xff08;Beam Search&#xff09; 束搜索是一种用于序列生成任务的解码算法&#xff0c;广泛应用于自然语言处理领域&#xff0c;如机器翻译、语音识别等。它的…...

深度学习与计算机视觉 (博士)

文章目录 零、计算机视觉概述一、深度学习相关概念1.学习率η2.batchsize和epoch3.端到端(End-to-End)、序列到序列(Seq-to-Seq)4.消融实验5.学习方式6.监督学习的方式(1)有监督学习(2)强监督学习(3)弱监督学习(4)半监督学习(5)自监督学习(6)无监督学习(7)总结&#xff1a;不同…...

新时期下k8s 网络插件calico 安装

1、k8s master节点初始化完毕以后一直处于notreadey状态&#xff0c;一直怀疑是安装有问题或者是初始化有问题&#xff08;当然&#xff0c;如果真有问题要先解决这些问题&#xff09;&#xff0c;经过不断探索才发现是网络插件没有安装导致的&#xff0c;根据建议安装calico插…...

14:00面试,15:00就出来了,问的问题过于变态了。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到2月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…...

Improving Language Understanding by Generative Pre-Training GPT-1详细讲解

Improving Language Understanding by Generative Pre-Training 2018.06 GPT-1 0.有监督、半监督、无监督 CV&#xff1a;ImageNet pre-trained model NLP&#xff1a;pre-trained model? 在计算机视觉中任务包含分类、检测、分割&#xff0c;任务类别数少&#xff0c;对应…...

Docker: 现代开发的利器,从入门到实践

引言 在现代软件开发中&#xff0c;开发人员面对的环境多种多样&#xff0c;不同操作系统、依赖、库版本等都会影响应用程序的正常运行。传统的开发和部署流程复杂且易错&#xff0c;"在我机器上可以跑"的困扰让许多开发者头疼。而 Docker&#xff0c;一个容器化技术…...

nuxt3 env环境变量

加载env文件 在package.json中指定运行某个env文件&#xff1a;nuxt build --dotenv .env.production 具体如下&#xff1a; "scripts": {"build-dev": "nuxt build --dotenv .env.test","build-prd": "nuxt build --dotenv .e…...

Vue3 自定义插件(plugin)

文章目录 Vue3 自定义插件(plugin)概述用法 Vue3 自定义插件(plugin) 概述 插件 (Plugins) 是一种能为 Vue 添加全局功能的工具代码。 用法 Vue3 插件有2种定义方式&#xff1a; 对象形式。对象中有install方法。函数形式。函数本身就是安装方法&#xff0c;其中&#xff…...

HTB:Bank[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 提取出靶机TCP开放端口 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用curl对域名进行访问…...

Elastic-Job相关

文档参考视频&#xff1a;09_SpringBoot案例演示_哔哩哔哩_bilibili 一、Elastic-Job介绍 Elastic-Job 是一个轻量级、分布式的任务调度框架&#xff0c;旨在解决分布式环境下的定时任务调度问题。 1.1. Elastic-Job 的核心组件 Elastic-Job 是由多个核心组件构成的&#x…...

Ruby语言的正则表达式

Ruby语言的正则表达式详解 正则表达式&#xff08;Regular Expressions&#xff0c;简称Regex&#xff09;是一种强大的文本处理工具&#xff0c;它可以用来匹配、搜索、替换字符串中的模式。在Ruby语言中&#xff0c;正则表达式的使用非常灵活&#xff0c;并且具有良好的可读…...

“深入浅出”系列之QT:(5)Json数据格式处理详解

一、JSON数据结构 JSON主要有两种数据结构&#xff1a;JSON对象和JSON数组。 JSON对象&#xff1a;由键值对组成&#xff0c;每个键&#xff08;key&#xff09;是字符串&#xff0c;值&#xff08;value&#xff09;可以是字符串、数字、布尔值、null、JSON数组或JSON对象。对…...

cursor试用出现:Too many free trial accounts used on this machine 的解决方法

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons&#xff1a;JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram&#xff0c;自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 &#xff1f; 5 IDEA必装的插件&…...

Calico BGP网络问题

Calico BGP网络问题 文章目录 Calico BGP网络问题排除步骤calico-node 正常运行&#xff0c;但在 describe 中有警告信息错误现象 ip route 路由表中删除 blackhole后又会自动生成网卡选择无效导致 calico 的 pod 内容器未就绪问题现象原因分析问题解决方式一&#xff1a;直接修…...

Jenkins-部署-windows

Jenkins-部署-windows 一: Jenkins 资料 一: Jenkins 资料...

benchANT 性能榜单技术解读 Part 1:写入吞吐

近期&#xff0c;国际权威数据库性能测试榜单 benchANT 更新了 Time Series: Devops&#xff08;时序数据库&#xff09;场景排名&#xff0c;KaiwuDB 数据库在 xsmall 和 small 两类规格下的时序数据写入吞吐、查询吞吐、查询延迟、成本效益等多项指标刷新榜单原有数据纪录。在…...

【 算法设计与分析-回顾算法知识点】福建师范大学数学与计算机科学学院 2006 — 2007学年第二学期考试 A 卷

一&#xff0e;填空题&#xff08;每空2分&#xff0c;共30分&#xff09; 1&#xff0e;算法的时间复杂性指算法中 元运算 的执行次数。 2&#xff0e;在忽略常数因子的情况下&#xff0c;O、和三个符号中&#xff0c; O 提供了算法运行时间的一个上界。 3&#xff0e;设Dn…...

【25考研】川大计算机复试情况,重点是啥?怎么准备?

24年进入复试的同学中&#xff0c;有10位同学的复试成绩为0分。具体是个人原因还是校方原因&#xff0c;还尚不明确。但是C哥提醒&#xff0c;一定要认真复习&#xff01;复试完后不要跟任何人讨论有关复试的题目及细节&#xff01; 一、复试内容 四川大学复试内容较多&#xf…...

设计模式-结构型-适配器模式

在软件开发中&#xff0c;随着系统的不断扩展和模块的不断增加&#xff0c;往往会遇到不同模块之间接口不兼容的情况。此时&#xff0c;如果我们能通过某种方式将一个接口转化为另一个接口&#xff0c;那么开发工作将变得更加灵活和高效。适配器模式&#xff08;Adapter Patter…...

el-table表格合并某一列

需求&#xff1a;按照下图完成单元格合并&#xff0c;数据展示 可以看到科室列是需要合并的 并加背景色展示&#xff1b;具体代码如下&#xff1a; <el-tableref"tableA":data"tableDataList":header-cell-style"{ backgroundColor: #f2dcdb, col…...

分布式Id方案选择

分布式 ID 方案选择 在当今分布式系统日益盛行的背景下&#xff0c;分布式 ID 生成方案的选择成为了众多开发者关注的焦点。一个优秀的分布式 ID 方案&#xff0c;不仅能够确保生成的 ID 全局唯一&#xff0c;避免数据冲突&#xff0c;还能在高并发、大规模的分布式环境中保持…...

uni app 写的 小游戏,文字拼图?文字拼写?不知道叫啥

从下方的偏旁部首中选在1--3个组成上面文章中的文字&#xff0c;完成的文字标红 不喜勿喷 《满江红》 其中用到了两个文件 strdata.json parameters.json 这两个文件太大 放到资源中了 资源文件 <template><view class"wenzi_page_main"><view c…...

【xLua】xLua-master签名、加密Lua文件

GitHub - Tencent/xLua: xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc. 如果你想在项目工程上操作&#xff0c;又发现项目工程并没导入Tools&#xff0c;可以从xLua-master工程拷贝到项目工程Assets…...

Yolo11改进:注意力改进|Block改进|ESSAformer,用于高光谱图像超分辨率的高效Transformer|即插即用

摘要 一、论文介绍 高光谱图像超分辨率的重要性:高光谱成像技术通过密集采样光谱特征,为材料区分提供丰富的光谱和空间结构信息,广泛应用于各领域。高光谱图像超分辨率(HSI-SR)旨在从低分辨率HSI生成高分辨率HSI。传统方法的局限性:传统方法依赖手工制作的先验,如低秩近…...