单片机嵌入式计算器(带程序EXE)

单片机嵌入式计算器

主要功能:完成PWM占空比计算,T溢出时间(延时);

[!NOTE]

两个程序EXE;

[!CAUTION]

百度网盘链接:链接:https://pan.baidu.com/s/1VJ0G7W5AEQw8_MiagM7g8A?pwd=g88f
提取码:g88f

截图展示

在这里插入图片描述
在这里插入图片描述

前提条件:

PSC(预分频系数),ARR(自动重装器系数),CCR(捕获/比较器系数)CLK=72MHZ

占空比:
D u t y = C C R / ( A R R + 1 ) Duty=CCR/(ARR+1) Duty=CCR/ARR+1
延时时间:
延时时间 = ( A R R + 1 ) ( P S C + 1 ) / C L K 延时时间=(ARR+1)(PSC+1)/CLK 延时时间=ARR+1(PSC+1)/CLK
PWM频率:
P W M 频率=更新频率 = F r e q = 72 M / ( P S C + 1 ) / ( A R R + 1 ) PWM频率=更新频率=Freq=72M/(PSC+1)/(ARR+1) PWM频率=更新频率=Freq=72M/PSC+1/ARR+1

下面给出例子展示:

例题:

  1. 使用定时器 TIM1 在引脚 PA8 上输出频率为 500Hz,占空比为 20%的矩形脉冲信号,已知预分频系数为72(TIMx_CLK=72MHz)
    (1) 求出自动重装载寄存器和输出比较寄存器的初始值是多少?

解答

ARR(自动重装器系数)

预分频系数(PSC):72
TIMx_CLK=72MHz
目标频率:500HZ
定时器周期:T=1/500Hz=2ms
定时器时钟频率:TIM1_CLK=72MHz/72=1MHZ

ARR=T*TIM1_CLK-1=2ms×MHZ-1=2000-1

CCR(捕获/比较器系数)

占空比:20%

CCR=20%ARR=400*-1**

  • 自动重装载寄存器(ARR)的初始值为:1999(十六进制为0x7CF)
  • 输出比较寄存器(CCR)的初始值为:399(十六进制为0x18F)
  • 验证
  1. 使用定时器 TIM4,预分频系数为 1000,自动重装载寄存器的值为 72,设置时钟模式为向上计数模式(TIMx_CLK=72MHz)

(1) 求出定时器 4 的延时时间 T。

解答

  • TIMx_CLK(定时器时钟频率):72MHz
  • 预分频系数(PSC):1000
  • 自动重装载寄存器(ARR)的值:72

延时时间 = ( A R R + 1 ) ( P S C + 1 ) / T I M x C L K 延时时间=(ARR+1)(PSC+1)/TIMxCLK 延时时间=ARR+1(PSC+1)/TIMxCLK

先计算TIMx_CLK经过预分频后的频率

TIM_CLK=72MHZ/1000=72KHZ

带入上面的公式

T=(72+1)(1000+1)/72KHZ=1.014ms

  • 验证
    在这里插入图片描述

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

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

相关文章

881救生艇

给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船数 。 分析: 贪心策略&…

numpy数组不是连续存储时可能出现的问题

numpy数组在进行涉及到内存拷贝的操作时,一定要注意将其转换成连续的,也就是数组的元素在内存中是按顺序存储的,不然可能会无法得到预期的结果; 判断数组是否连续 你可以使用 .flags 属性中的 C_CONTIGUOUS 标志来判断一个数组是否…

代码随想录算法训练营第五十四 | ● 392.判断子序列 ● 115.不同的子序列

392.判断子序列 https://programmercarl.com/0392.%E5%88%A4%E6%96%AD%E5%AD%90%E5%BA%8F%E5%88%97.html class Solution { public:bool isSubsequence(string s, string t) {if(s.size()0 )return true;if(t.size()0)return false;vector<vector<int>> dp(s.size(…

为什么选择海外服务器?

如何选择跨境电商服务器&#xff1a;详细指南 选择合适的服务器是跨境电商企业成功的基础。服务器的性能和稳定性直接影响着网站的访问速度、用户体验和安全性&#xff0c;进而影响着企业的销量和利润。那么&#xff0c;跨境电商企业该如何选择服务器呢&#xff1f; ​​​​​…

Jenkins构建 Maven项目(微服务)并自动发布

前面讲了docker 安装Jenkins和gitlab代码管理工具&#xff0c;接下来我们讲一下Jenkins怎么构建 Maven项目。 1. 首先Jenkins配置下面3中工具类 首先是在本地安装三个jenkins自动配置相关的工具 1.1 JDK 由于我们使用docker来启动jenkins&#xff0c;其自带有jdk&#xff0c;…

python记录之字典

一、字典简介 字典&#xff08;Dictionary&#xff09;是Python中一个非常强大且灵活的数据结构&#xff0c;它允许我们存储键值对&#xff08;key-value pairs&#xff09;的集合。与列表和元组不同&#xff0c;字典中的元素是通过键&#xff08;key&#xff09;来访问的&…

oracle 12.1 rac to rac adg(maa)搭建保姆级教程

目录 资源配置 一、主库集群操作 1.主库增加standbylog 2.主库开启force logging及归档 3.主库配置参数 4.生成参数文件并将参数文件、密码文件拷贝至备库 4.1参数文件处理 4.2密码文件处理 二、备库操作 1.备库修改参数文件 1.1创建adump目录并在参数文件修改&#…

vscode Run Code输出出现中文乱码情况问题解决方案

主要解决方案是通过修改计算机默认的编码格式,来完成的。 chcp 是 Windows 操作系统中的一个命令,用于显示或设置控制台的代码页(code page)。代码页决定了控制台如何解释和显示字符,特别是非 ASCII 字符(例如 Unicode 字符)。 使用方法 显示当前代码页: 输入 chcp 而…

Spring Boot中Excel的导入导出的实现之EasyPoi框架使用教程

文章目录 前言一、EasyPoi的使用1. 添加EasyPoi依赖2. 创建实体类3. 编写Controller4. 编写导出Excel的方法5. 编写导入Excel的方法6. 编写导出Excel的方法7. 创建ExcelUtil工具类&#xff08;可选&#xff09; 二、EasyPoi 的注解总结 前言 EasyPoi功能如同名字easy&#xff0…

02-JAVA面向对象编程

一、面向对象编程 1、面向过程编程思想&#xff08;Process Oritented Programming&#xff09; 将实现一个功能的一组指令组合在一起&#xff0c;成为一个函数。这个函数就能实现这一个功能&#xff0c;是对功能实现的一种抽象。通过这种抽象方式&#xff0c;将代码实现复用。…

JavaScript中什么是类,如何使用?

在JavaScript中&#xff0c;类是一种用于创建对象的模板。它定义了对象的属性和方法&#xff0c;并可以通过实例化来创建具体的对象。类提供了一种结构化的方式来组织和管理代码&#xff0c;使得代码更易于理解和维护。 下面我将通过三个例子来详细说明JavaScript中类的概念和…

情景题之小明的Linux实习之旅:linux实战练习1(上)【基础命令,权限修改,日志查询,进程管理...】

小明的Linux实习之旅&#xff1a;基础指令练习情景练习题 背景介绍场景1&#xff1a;初识Linux&#xff0c;创建目录和文件场景2&#xff1a;权限管理&#xff0c;小明的权限困惑场景3&#xff1a;打包与解压&#xff0c;小明的备份操作场景4&#xff1a;使用Grep&#xff0c;…

代码随想录算法训练营第三十一天| 455.分发饼干,376. 摆动序列 ,53. 最大子序和

455. 分发饼干 - 力扣&#xff08;LeetCode&#xff09; class Solution {public int findContentChildren(int[] g, int[] s) {Arrays.sort(g); //递增Arrays.sort(s); int result 0;//遍历&#xff0c;先满足小的int i0,j0;for(;i<g.length && j<s.length;i){…

视觉大模型(VLLM)学习笔记

视觉多模态大模型&#xff08;VLLM&#xff09; InternVL 1.5 近日&#xff0c;上海人工智能实验室 OpenGVLab 团队、清华大学、商汤科技合作推出了开源多模态大语言模型项目InternVL 1.5&#xff0c;它不仅挑战了商业模型巨头例如 GPT-4V 的霸主地位&#xff0c;还让我们不禁…

Python3 笔记:字符串的 zfill() 和 rjust()

1、zfill() 方法返回指定长度的字符串&#xff0c;原字符串右对齐&#xff0c;前面填充0。 语法&#xff1a;str.zfill(width) width &#xff1a;指定字符串的长度。原字符串右对齐&#xff0c;前面填充0。 str1 2546 str2 2 print(str1.zfill(10)) # 运行结果&#xff1…

golang基础

Go安装及配置环境 下载最新的 zip 文件: go#.#.#.windows-amd64.zip &#xff0c;这里的 #.#.# 是 Go 的最新版本号。 解压缩 go#.#.#.windows-amd64.zip 文件到你选择的位置。比如D:\Go 在系统中设置两个环境变量&#xff1a;GOROOT和GOPATH GOPATH 指向的是你的工作目录。…

树莓派4B 零起点(三) 树莓派 VNC 远程桌面配置(2) 配置X11模式

目录 一、配置 VNC Server为X11 1、关闭已启动的VNC Server (如之前未开启&#xff0c;此步可以忽略) 2、切换 VNC Server的模式为 X11 二、开启 X11 VncServer 三、修改树莓派VNC Server的连接模式 1、切换到 root 账号 2、修改VNC Server X11的配置 3、设置VNC密码…

引人入胜的教育视频

对于一家专注于数字自动化和能源管理的跨国公司&#xff0c;我们制作了引人入胜的教育视频&#xff0c;帮助房主选择适合他们需求的电气产品。我们的团队审查并定稿文本&#xff0c;录制并编辑配音&#xff0c;选择背景音乐&#xff0c;设计图形&#xff0c;并制作了演示如何安…

MYSQL基础_02_MySQL环境搭建

第02章_MySQL环境搭建 1. MySQL的卸载 步骤1&#xff1a;停止MySQL服务 在卸载之前&#xff0c;先停止MySQL8.0的服务。按键盘上的“Ctrl Alt Delete”组合键&#xff0c;打开“任务管理器”对话框&#xff0c;可以在“服务”列表找到“MySQL8.0”的服务&#xff0c;如果现…

Android RadioButton+GridLayout实现多行多列的单选效果

记录下实现过程,因为最近项目里要用到。我们都知道默认的RadioGroup+RadioButton是不能实现轻松换行的。如果每行使用一个RadioGroup来包裹RadioButton的话。其中的选择监听是个非常麻烦的事情。那么今天记录下RadioButton+GridLayout。 首先xml布局中添加一个GridLayout控件…