STC51 单片机中,定时器 / 计数器相关的寄存器
在 STC51 单片机中,定时器 / 计数器相关的寄存器主要有定时器控制寄存器(TCON)、定时器工作方式寄存器(TMOD)以及定时器初值寄存器(TH0、TL0、TH1、TL1),下面详细解释这些寄存器各位的作用。
1. 定时器控制寄存器(TCON)
- 地址:88H
- 可位寻址:该寄存器的每一位都可以进行单独的位操作。
位序号 | 位名称 | 作用 |
---|---|---|
TCON.7 | TF1 | 定时器 1 溢出标志位。当定时器 1 产生溢出时,硬件自动将 TF1 置 1。如果中断允许(ET1 = 1 且 EA = 1),则会向 CPU 发出中断请求;进入中断服务程序后,硬件自动将其清 0。若采用查询方式处理溢出,则需要软件清 0。 |
TCON.6 | TR1 | 定时器 1 运行控制位。当 TR1 = 1 时,启动定时器 1 开始计数;当 TR1 = 0 时,停止定时器 1 计数。可以通过软件来设置该位的值。 |
TCON.5 | TF0 | 定时器 0 溢出标志位。功能与 TF1 类似,用于表示定时器 0 是否溢出。 |
TCON.4 | TR0 | 定时器 0 运行控制位。功能与 TR1 类似,用于控制定时器 0 的启动和停止。 |
TCON.3 | IE1 | 外部中断 1 请求标志位。当外部中断 1 引脚上出现有效的中断请求信号(根据 IT1 的设置,可为下降沿或低电平触发)时,IE1 被硬件置 1;进入中断服务程序后,硬件自动将其清 0(对于下降沿触发方式)。 |
TCON.2 | IT1 | 外部中断 1 触发方式控制位。当 IT1 = 0 时,外部中断 1 为低电平触发方式;当 IT1 = 1 时,外部中断 1 为下降沿触发方式。 |
TCON.1 | IE0 | 外部中断 0 请求标志位。功能与 IE1 类似,用于表示外部中断 0 是否有中断请求。 |
TCON.0 | IT0 | 外部中断 0 触发方式控制位。功能与 IT1 类似,用于设置外部中断 0 的触发方式。 |
2. 定时器工作方式寄存器(TMOD)
- 地址:89H
- 不可位寻址:对该寄存器的操作需要进行字节操作。
TMOD 分为高 4 位和低 4 位,分别用于控制定时器 1 和定时器 0 的工作方式。
低 4 位(控制定时器 0)
位序号 | 位名称 | 作用 |
---|---|---|
TMOD.3 | GATE | 门控位。当 GATE = 0 时,只要 TR0 = 1,定时器 0 就开始计数;当 GATE = 1 时,只有 TR0 = 1 且外部中断 0(INT0)引脚为高电平时,定时器 0 才开始计数。 |
TMOD.2 | C/T̅ | 定时器 / 计数器选择位。当 C/T̅ = 0 时,作为定时器使用,对内部机器周期进行计数;当 C/T̅ = 1 时,作为计数器使用,对外部引脚 T0 上的脉冲信号进行计数。 |
TMOD.1 | M1 | 工作方式选择位 1。与 M0 一起决定定时器 0 的工作方式。 |
TMOD.0 | M0 | 工作方式选择位 0。与 M1 组合的工作方式如下: - M1M0 = 00:方式 0,13 位定时器 / 计数器。 - M1M0 = 01:方式 1,16 位定时器 / 计数器。 - M1M0 = 10:方式 2,8 位自动重装定时器 / 计数器。 - M1M0 = 11:方式 3,仅适用于定时器 0,将定时器 0 拆分为两个独立的 8 位定时器 / 计数器。 |
高 4 位(控制定时器 1)
高 4 位的功能与低 4 位类似,分别为 GATE(TMOD.7)、C/T̅(TMOD.6)、M1(TMOD.5)和 M0(TMOD.4),用于控制定时器 1 的工作方式。
3. 定时器初值寄存器(TH0、TL0、TH1、TL1)
-
TH0 地址:8CH
-
TL0 地址:8AH
-
TH1 地址:8DH
-
TL1 地址:8BH
-
作用:TH0 和 TL0 共同构成定时器 0 的 16 位初值寄存器,TH1 和 TL1 共同构成定时器 1 的 16 位初值寄存器。在不同的工作方式下,它们的使用方式有所不同:
- 方式 0(13 位定时器 / 计数器):TL0 的低 5 位和 TH0 的 8 位构成 13 位计数器。
- 方式 1(16 位定时器 / 计数器):TH0 和 TL0 组成完整的 16 位计数器。
- 方式 2(8 位自动重装定时器 / 计数器):TL0 作为 8 位计数器,TH0 用于存放自动重装初值。当 TL0 溢出时,TH0 的值自动装入 TL0 中。
- 方式 3(仅适用于定时器 0):TL0 作为一个独立的 8 位定时器 / 计数器,TH0 固定为一个独立的 8 位定时器,使用定时器 1 的控制位和中断标志。
通过合理设置这些寄存器的各位,可以灵活配置定时器 / 计数器的工作方式、启动停止、初值等,以满足不同的应用需求。
定时器/计数器工作在方式 0、方式 1、方式 2 和方式 3 时,寄存器的设置有何不同?
在 STC51 单片机中,定时器 / 计数器有四种工作方式(方式 0、方式 1、方式 2 和方式 3),不同工作方式下相关寄存器(主要是 TMOD、THx、TLx)的设置有所不同,下面为你详细介绍:
1. 方式 0:13 位定时器 / 计数器
寄存器设置要点
- TMOD 寄存器:对于定时器 0,设置
TMOD
低 4 位中的M1M0 = 00
;对于定时器 1,设置TMOD
高 4 位中的M1M0 = 00
。GATE
位可根据需要设置为 0 或 1 来决定定时器的启动条件,C/T̅
位设置为 0 时作为定时器使用,设置为 1 时作为计数器使用。 - THx 和 TLx 寄存器:由 THx 的 8 位和 TLx 的低 5 位构成 13 位计数器。在初始化时,需要将初值拆分为两部分分别装入 THx 和 TLx。
示例代码(以定时器 0 为例)
#include <reg51.h>void main() {// 设置 TMOD,定时器 0 工作在方式 0,作为定时器使用,非门控方式TMOD = 0x00; // 计算初值,假设定时 1ms,晶振频率为 12MHzunsigned int time = 65536 - 1000; TH0 = (time >> 5) & 0xFF; // 高 8 位TL0 = time & 0x1F; // 低 5 位// 启动定时器 0TR0 = 1; while (1) {if (TF0 == 1) { // 定时器 0 溢出TF0 = 0; // 清除溢出标志// 重新加载初值TH0 = (time >> 5) & 0xFF; TL0 = time & 0x1F; }}
}
2. 方式 1:16 位定时器 / 计数器
寄存器设置要点
- TMOD 寄存器:对于定时器 0,设置
TMOD
低 4 位中的M1M0 = 01
;对于定时器 1,设置TMOD
高 4 位中的M1M0 = 01
。GATE
和C/T̅
位的设置与方式 0 类似。 - THx 和 TLx 寄存器:THx 和 TLx 组成完整的 16 位计数器。初始化时,将 16 位初值拆分为高 8 位和低 8 位分别装入 THx 和 TLx。
示例代码(以定时器 0 为例)
#include <reg51.h>void main() {// 设置 TMOD,定时器 0 工作在方式 1,作为定时器使用,非门控方式TMOD = 0x01; // 计算初值,假设定时 1ms,晶振频率为 12MHzunsigned int time = 65536 - 1000; TH0 = (time >> 8) & 0xFF; // 高 8 位TL0 = time & 0xFF; // 低 8 位// 启动定时器 0TR0 = 1; while (1) {if (TF0 == 1) { // 定时器 0 溢出TF0 = 0; // 清除溢出标志// 重新加载初值TH0 = (time >> 8) & 0xFF; TL0 = time & 0xFF; }}
}
3. 方式 2:8 位自动重装定时器 / 计数器
寄存器设置要点
- TMOD 寄存器:对于定时器 0,设置
TMOD
低 4 位中的M1M0 = 10
;对于定时器 1,设置TMOD
高 4 位中的M1M0 = 10
。GATE
和C/T̅
位的设置与前面方式相同。 - THx 和 TLx 寄存器:TLx 作为 8 位计数器,THx 用于存放自动重装初值。当 TLx 溢出时,THx 的值自动装入 TLx 中。只需将初值同时赋给 THx 和 TLx 即可。
示例代码(以定时器 0 为例)
#include <reg51.h>void main() {// 设置 TMOD,定时器 0 工作在方式 2,作为定时器使用,非门控方式TMOD = 0x02; // 计算初值,假设定时 100μs,晶振频率为 12MHzunsigned char time = 256 - 100; TH0 = time; // 自动重装初值TL0 = time; // 初始值// 启动定时器 0TR0 = 1; while (1) {if (TF0 == 1) { // 定时器 0 溢出TF0 = 0; // 清除溢出标志// 无需手动重新加载初值,硬件自动完成}}
}
4. 方式 3:仅适用于定时器 0
寄存器设置要点
- TMOD 寄存器:设置
TMOD
低 4 位中的M1M0 = 11
。在方式 3 下,定时器 0 被拆分为两个独立的 8 位定时器 / 计数器。 - TH0 和 TL0 寄存器:TL0 作为一个独立的 8 位定时器 / 计数器,使用定时器 0 本身的控制位(TR0、TF0);TH0 固定为一个独立的 8 位定时器,使用定时器 1 的控制位(TR1、TF1)。定时器 1 不能工作在方式 3,若定时器 1 工作在方式 3,则会停止计数。
示例代码
#include <reg51.h>void main() {// 设置 TMOD,定时器 0 工作在方式 3,作为定时器使用,非门控方式TMOD = 0x03; // 为 TL0 计算并设置初值,假设定时 100μs,晶振频率为 12MHzunsigned char time_tl0 = 256 - 100; TL0 = time_tl0; // 为 TH0 计算并设置初值,假设定时 200μs,晶振频率为 12MHzunsigned char time_th0 = 256 - 200; TH0 = time_th0; // 启动 TL0TR0 = 1; // 启动 TH0TR1 = 1; while (1) {if (TF0 == 1) { // TL0 溢出TF0 = 0; // 清除溢出标志TL0 = time_tl0; // 重新加载初值}if (TF1 == 1) { // TH0 溢出TF1 = 0; // 清除溢出标志TH0 = time_th0; // 重新加载初值}}
}
综上所述,不同工作方式下,TMOD 寄存器的 M1M0
位设置不同,THx 和 TLx 寄存器的使用方式和初值加载方式也有所差异,需要根据具体需求进行合理设置。
相关文章:
STC51 单片机中,定时器 / 计数器相关的寄存器
在 STC51 单片机中,定时器 / 计数器相关的寄存器主要有定时器控制寄存器(TCON)、定时器工作方式寄存器(TMOD)以及定时器初值寄存器(TH0、TL0、TH1、TL1),下面详细解释这些寄存器各位…...
DeepSeek与人工智能的结合:探索搜索技术的未来
云边有个稻草人-CSDN博客 目录 引言 一、DeepSeek的技术背景 1.1 传统搜索引擎的局限性 1.2 深度学习在搜索中的优势 二、DeepSeek与人工智能的结合 2.1 自然语言处理(NLP) 示例代码:基于BERT的语义搜索 2.2 多模态搜索 示例代码&…...
OpenCV:图像修复
目录 简述 1. 原理说明 1.1 Navier-Stokes方法(INPAINT_NS) 1.2 快速行进方法(INPAINT_TELEA) 2. 实现步骤 2.1 输入图像和掩膜(Mask) 2.2 调用cv2.inpaint()函数 2.3 完整代码示例 2.4 运行结果 …...
解决基于FastAPI Swagger UI的文档打不开的问题
基于FastAPI Swagger UI的文档链接/docs和/redoc在没有外网的状态下无法打开,原因是Swagger依赖的JS和CSS来自CDN。 https://cdn.jsdelivr.net/npm/swagger-ui-dist5/swagger-ui-bundle.js https://cdn.jsdelivr.net/npm/swagger-ui-dist5/swagger-ui.css https://…...
前端开发知识梳理 - HTMLCSS
1. 盒模型 由内容区(content)、内边距(padding)、边框(border)和外边距(margin)组成。 (1)标准盒模型(box-sizing默认值, content-boxÿ…...
Win10环境使用ChatBox集成Deep Seek解锁更多玩法
Win10环境使用ChatBox集成Deep Seek解锁更多玩法 前言 之前部署了14b的Deep Seek小模型,已经验证了命令行及接口方式的可行性。但是纯命令行或者PostMan方式调用接口显然不是那么友好: https://lizhiyong.blog.csdn.net/article/details/145505686 纯…...
LM Studio 部署本地大语言模型
一、下载安装 1.搜索:lm studio LM Studio - Discover, download, and run local LLMs 2.下载 3.安装 4.更改成中文 二、下载模型(软件内下载) 1.选择使用代理,否则无法下载 2.更改模型下载目录 默认下载位置 C:\Users\用户名\.lmstudio\models 3.搜…...
Qt:QWidget核心属性
目录 QWidget核心属性 enab geometry WindowFrame的影响 windowTitle windowIcon qrc文件管理资源 windowOpacity cursor font toolTip focusPolicy styleSheet QWidget核心属性 在Qt中使用QWidget类表示"控件",如按钮、视图、输入框、滚动…...
unity学习29:摄像机camera相关skybox 和 Render Texture测试效果
目录 1 摄像机 1.1 每个Scene里都自带一个摄像机 camera 1.2 可以创建多个camera 1.3 下面先看backgroundtype: 2 backgroundtype: 天空盒 skybox 2.1 清除标志,清除:天空盒 自选天空盒 2.2 window /Asset Store 2.3 导入skybox 3 backgroundtype: 纯色…...
吴恩达深度学习——卷积神经网络的特殊应用
内容来自https://www.bilibili.com/video/BV1FT4y1E74V,仅为本人学习使用。 文章目录 人脸识别相关定义Similarity函数使用Siamese网络实现函数d使用Triplet损失学习参数 神经风格迁移深度卷积网络可视化神经风格迁移的代价函数内容损失函数风格损失函数 人脸识别 …...
go语言文件和目录
打开和关闭文件 os.Open()函数能够打开一个文件,返回一个*File 和一个 err。操作完成文件对象以后一定要记得关闭文件。 package mainimport ("fmt""os" )func main() {// 只读方式打开当前目录下的 main.go 文件file, err : os.Open(".…...
c++ 面试题
C 面试题通常涵盖基础知识、面向对象编程、内存管理、模板、STL(标准模板库)等方面。以下是一些常见的 C 面试题及其简要解答,供你参考: 1. C 基础知识 1.1 C 和 C 的区别是什么? C 是 C 的超集,支持面向…...
JAVA安全—FastJson反序列化利用链跟踪autoType绕过
前言 FastJson这个漏洞我们之前讲过了,今天主要是对它的链条进行分析一下,明白链条的构造原理。 Java安全—log4j日志&FastJson序列化&JNDI注入_log4j漏洞-CSDN博客 漏洞版本 1.2.24及以下没有对序列化的类做校验,导致漏洞产生 1.2.25-1.2.41增加了黑名单限制,…...
Java Stream API:高效数据处理的利器引言
Java Stream API:高效数据处理的利器引言 在 Java 编程中,数据处理是一项极为常见且关键的任务。传统的 for 循环在处理数据集合时,往往会导致代码变得冗长、复杂,这不仅增加了代码的编写难度,还降低了代码的可读性和…...
kubeadm构建k8s源码阅读环境
目标 前面看了minikube的源码了解到其本质是调用了kubeadm来启动k8s集群,并没有达到最初看代码的目的。 所以继续看看kubeadm的代码,看看能否用来方便地构建源码调试环境。 k8s源码编译 kubeadm源码在k8s源码库中,所以要先克隆k8s源码。之…...
Java架构设计亿级流量场景下的本地缓存方案选型
在当今的互联网时代,亿级流量的应用场景已经司空见惯。无论是大型电商平台的促销活动,还是热门社交应用的日常运营,都可能面临每秒数万甚至数十万的请求流量。在这样的高并发、高流量场景下,系统的性能和稳定性面临着巨大的挑战。…...
ChatGPT怎么回事?
纯属发现,调侃一下~ 这段时间deepseek不是特别火吗,尤其是它的推理功能,突发奇想,想用deepseek回答一些问题,回答一个问题之后就回复服务器繁忙(估计还在被攻击吧~_~) 然后就转向了GPT…...
离线安装Appium Server
1、问题概述? 安装Appium通常有两种方式: 第一种:下载exe安装包,这种是Appium Server GUI安装方式,缺点是通过命令启动不方便。 第二种:通过cmd安装appium server,可以通过命令方式启动,比较方便。 问题:在没有外网的情况下,无法通过命令在cmd中安装appium server…...
Jetpack ViewModel
private val deviceViewModel: IDeviceViewModel by viewModels<DeviceViewModel>() 这句代码是 Jetpack ViewModel 在 Fragment 或 Activity 中的标准用法,它的作用是 创建并获取 ViewModel 实例,同时确保 ViewModel 的生命周期与 UI 组件保持一…...
2025年2月9日(数据分析,在最高点和最低点添加注释,添加水印)
要在最高点和最低点添加文本注释,可以使用 plt.annotate() 函数。这个函数允许你在图表中的特定位置添加文本注释,并且可以指定箭头指向特定的数据点。 以下是修改后的代码,添加了在最高点和最低点的文本注释: from matplotlib import pyplot as plt from matplotlib imp…...
如何导入第三方sdk | 引入第三方jar 包
0. 背景1. 上传私有仓库2. 使用本地文件系统 0. 背景 对接一些第三方功能,会拿到第三方的sdk,也就是jar包,如何导入呢 1. 上传私有仓库 最好的方式就是将第三方jar包,上传到私有的仓库,这样直接正常在pom引用即可如果只…...
掌握内容中台与人工智能技术的新闻和应用场景分析
内容概要 在当今数字化快速发展的时代,内容中台与人工智能技术的结合为各行各业带来了新的机遇。这一切都源自于对内容生产和管理能力的需求不断提升,尤其在新闻行业中更是如此。内容中台作为一种集中管理内容资源的平台,能够有效整合与调配…...
c#-枚举
//可空类型:int? num 等价 Nullable<int> num Nullable<int> a null; a 99; Console.WriteLine(a);//合并运算符?? : a有值的话,赋值给b int b a ?? 1; Console.WriteLine(b); 枚举成员不能相同,但枚举的值可…...
青少年编程与数学 02-008 Pyhon语言编程基础 22课题、类的定义和使用
青少年编程与数学 02-008 Pyhon语言编程基础 22课题、类的定义和使用 一、类类的定义和使用示例 二、定义1. 类定义语法2. 属性和方法3. 构造器和初始化4. 实例化5. 类变量和实例变量6. 类方法和静态方法7. 继承8. 多态总结 三、使用1. 创建类的实例2. 访问属性3. 调用方法4. 修…...
【通俗易懂说模型】反向传播(附多元回归与Softmax函数)
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …...
【人工智能】Python中的深度学习优化器:从SGD到Adam
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在深度学习模型的训练过程中,优化器起着至关重要的作用,它决定了模型的收敛速度以及最终的性能。本文将介绍深度学习中常用的优化器,从传…...
仅128个token达到ImageNet生成SOTA性能!MAETok:有效的扩散模型的关键是什么?(卡内基梅隆港大等)
论文链接:https://arxiv.org/pdf/2502.03444 项目链接:https://github.com/Hhhhhhao/continuous_tokenizer 亮点直击 理论与实验分析:通过实验和理论分析建立了潜空间结构与扩散模型性能之间的联系。揭示了具有更少高斯混合模型(G…...
Listener监听器和Filter过滤器
一.监听器 1.是javaweb的三大组件之一,分别是Servlet程序,Listener监听器,Filter过滤器 2.Listener是JvaEE的规范,就是接口,监听器的作用就是监听某种变化(一般是对象创建/销毁,属性变化),触发对应方法完成相应的任务 3.ServletContextListener:/*当一个类实现了ServletContex…...
我的年度写作计划
目录 计算机经典四件 数据结构 计算机网络体系 经典操作系统与计算机架构 嵌入式领域笔记 其他部分 私货部分 笔者打算在这里理一下今年的写作计划,如下所示: 计算机经典四件 数据结构 笔者因为冲刺面试需要,还是要更加扎实的掌握自…...
kafka专栏解读
kafka专栏文章的编写将根据kafka架构进行编写,即先编辑kafka生产者相关的内容,再编写kafka服务端的内容(这部分是核心,内容较多,包含kafka分区管理、日志存储、延时操作、控制器、可靠性等),最后…...
数据库操作与数据管理——Rust 与 SQLite 的集成
第六章:数据库操作与数据管理 第一节:Rust 与 SQLite 的集成 在本节中,我们将深入探讨如何在 Rust 中使用 SQLite 数据库,涵盖从基本的 CRUD 操作到事务处理、数据模型的构建、性能优化以及安全性考虑等方面。SQLite 是一个轻量…...
Linux文件目录基本操作
目录 目录概述相关操作函数相关数据结构体说明 目录概述 什么是目录? 在linux操作系统中其实目录也是一种文件,相对于普通文件,它的存储内容不同,它的存储内容主要是当前目录下的文件以及子目录文件信息。目录就像是一颗大树&a…...
TaskBuilder项目实战:创建项目
用TaskBuilder开发应用系统的第一步就是创建项目,项目可以是一个简单的功能模块,也可以是很多功能模块的集合,具体怎么划分看各位的实际需要,我们一般会将相互关联比较紧密的一组功能模块放到一个独立的项目内,以便打包…...
使用DeepSeek的技巧笔记
来源:新年逼自己一把,学会使用DeepSeek R1_哔哩哔哩_bilibili 前言 对于DeepSeek而言,我们不再需要那么多的提示词技巧,但还是要有两个注意点:你需要理解大语言模型的工作原理与局限,这能帮助你更好的知道AI可完成任务…...
使用Python实现PDF与SVG相互转换
目录 使用工具 使用Python将SVG转换为PDF 使用Python将SVG添加到现有PDF中 使用Python将PDF转换为SVG 使用Python将PDF的特定页面转换为SVG SVG(可缩放矢量图形)和PDF(便携式文档格式)是两种常见且广泛使用的文件格式。SVG是…...
idea整合deepseek实现AI辅助编程
1.File->Settings 2.安装插件codegpt 3.注册deepseek开发者账号,DeepSeek开放平台 4.按下图指示创建API KEY 5.回到idea配置api信息,File->Settings->Tools->CodeGPT->Providers->Custom OpenAI API key填写deepseek的api key Chat…...
java文件上传粗糙版
粗糙版图片上传 1.导入依赖 <dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.2</version> </dependency> 2.配置minio地址跟对应的桶 业务层实现类 import io.minio.MinioClient; /…...
一种基于Leaflet.Legend的图例动态更新方法
目录 前言 一、场景再现 1、需求描述 2、核心方法介绍 3、存在的问题 二、问题解决 1、重复解决办法 2、图例不展示解决办法 3、成果展示 三、总结 前言 在当今数字化时代,地理信息系统(GIS)技术已经广泛应用于各个领域,…...
Vue Dom截图插件,截图转Base64 html2canvas
安装插件 npm install html2canvas --save插件使用 <template><div style"padding: 10px;"><div ref"imageTofile" class"box">发生什么事了</div><button click"toImage" style"margin: 10px;&quo…...
安宝特方案 | AR眼镜:远程医疗的“时空折叠者”,如何为生命争夺每一分钟?
行业痛点:当“千里求医”遇上“资源鸿沟” 20世纪50年代,远程会诊的诞生曾让医疗界为之一振——患者不必跨越山河,专家无需舟车劳顿,一根电话线、一张传真纸便能架起问诊的桥梁。然而,传统远程医疗的局限也日益凸显&a…...
【人工智能】Python中的序列到序列(Seq2Seq)模型:实现机器翻译
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 序列到序列(Seq2Seq)模型是自然语言处理(NLP)中一项核心技术,广泛应用于机器翻译、语音识别、文本摘要等任务。本文深入探讨Seq2Seq模…...
【批量获取图片信息】批量获取图片尺寸、海拔、分辨率、GPS经纬度、面积、位深度、等图片属性里的详细信息,提取出来后导出表格,基于WPF的详细解决方案
摄影工作室通常会有大量的图片素材,在进行图片整理和分类时,需要知道每张图片的尺寸、分辨率、GPS 经纬度(如果拍摄时记录了)等信息,以便更好地管理图片资源,比如根据图片尺寸和分辨率决定哪些图片适合用于…...
关于32位和64位程序的传参方法及虚拟机调试工具总结
一、传参方法对比 1. 32位程序 系统调用 (Linux) 使用int 0x80指令触发系统调用 寄存器传参顺序: eax 系统调用号 ebx 第1个参数 ecx 第2个参数 edx 第3个参数 esi 第4个参数 edi 第5个参数 普通函数调用 (C语言) 栈传递参数:参数从右向左压栈…...
【Windows】PowerShell 缓存区大小调节
PowerShell 缓存区大小调节 方式1 打开powershell 窗口属性调节方式2,修改 PowerShell 配置文件 方式1 打开powershell 窗口属性调节 打开 CMD(按 Win R,输入 cmd)。右键标题栏 → 选择 属性(Properties)…...
查看云机器的一些常用配置
云原生学习路线导航页(持续更新中) kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计(一)Kubernetes架构原则和对象设计(二)Kubernetes架构原则和对象设计(三)Kubernetes常…...
约克VRF|冬日舒适新标杆,温暖每一寸空间
冬天来了,谁不想窝在家里,一边温暖舒适,一边畅享清新空气? 约克VRF中央空调——用科技为你打造全方位的冬季理想生活! 地暖空调二合一,暖从足起,养生更健康~ 普通取…...
【AI学习】关于 DeepSeek-R1的几个流程图
遇见关于DeepSeek-R1的几个流程图,清晰易懂形象直观,记录于此。 流程图一 来自文章《Understanding Reasoning LLMs》, 文章链接:https://magazine.sebastianraschka.com/p/understanding-reasoning-llms?continueFlagaf07b1a0…...
CNN卷积神经网络多变量多步预测,光伏功率预测(Matlab完整源码和数据)
代码地址:CNN卷积神经网络多变量多步预测,光伏功率预测(Matlab完整源码和数据) 标题:CNN卷积神经网络多变量多步预测,光伏功率预测 一、引言 1.1 研究背景及意义 随着全球能源危机的加剧和环保意识的提升ÿ…...
mapbox进阶,添加绘图扩展插件,绘制圆形
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️MapboxDraw 绘图控件二、🍀添加绘图扩…...
学习TCL脚本基础语法的几个步骤?
文章目录 前言1. 命令和参数1.1 Tcl 命令的基本结构1.2 示例1.2.1 puts 命令1.2.2 set 命令1.2.3 if 命令1.2.4 foreach 命令 1.3 参数的类型1.3.1 字符串1.3.2 变量1.3.3 表达式1.3.4 列表1.3.5 字典 1.4 命令的嵌套 二、变量1. 声明变量2. 使用变量3. 变量类型3.1 字符串3.2 …...