【单片机概念基础】迟迟搞不懂预分频系数、PWM占空比等等概念和计算怎么办?

举报
人才程序员 发表于 2024/03/31 16:50:38 2024/03/31
【摘要】 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档@TOC 前言在学习单片机的过程中,预分频系数和PWM(脉冲宽度调制)占空比是两个常见但容易令人困惑的概念。预分频系数涉及定时器的时钟频率控制,而PWM占空比则关系到输出波形的高低电平时间比例。本文将简要介绍这两个概念,帮助读者更好地理解和应用于单片机开发中。注意:本博客使用72MHz的CPU给大家演示 一、分频系数 1.1 为...

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

@TOC


前言

在学习单片机的过程中,预分频系数和PWM(脉冲宽度调制)占空比是两个常见但容易令人困惑的概念。预分频系数涉及定时器的时钟频率控制,而PWM占空比则关系到输出波形的高低电平时间比例。本文将简要介绍这两个概念,帮助读者更好地理解和应用于单片机开发中。


注意:本博客使用72MHz的CPU给大家演示

一、分频系数

1.1 为什么需要分频系数

首先我们需要知道怎么算一个时钟的周期,他有下面这个公式计算:
在这里插入图片描述
在72MHz的CPU中,他每一个时钟周期的频率就是
在这里插入图片描述

预分频系数一般是用在计时器中的,在计时器中,他的原理就是计数,计数到指定产生一个中断而已,
计数器寄存器为16位寄存器,他可以存储最大0xFFFF个数据,当有一个时钟过来的时候,他的计数值+1,那么我们就可以计算他的中断产生一次多少us了。当从0计数到0xFFFF时,我们可以计算出他的时间为大约910us,那如果我们1ms或者1us产生中断怎么办,现在这样就不够用了啊,这样就出现了我们的分频系数,他的原理就是在计数寄存器前面在加一个计数的,这样达到分频的效果

1.2 分频系数怎么计算

如果我们设置分频系数为1时,他会从0计数到1,再到0,到0时他发出一个时钟周期,这样输入给计数器的时钟频率就只有36MHz了,再通过计数器的原理就可以发现他的中断时间延长了,比如说我的分频系数为10,那么我们可以进行计算他一次中断的时间:
分频系数为10的时候,计数器得到的时钟频率为7.2MHz,他的周期为
在这里插入图片描述
那么一个周期为1.3889us,如果计数器为0~0xFFFF,则我们可以算出一次中断的时间为:大约91,021.5615us一次中断

二、PWM占空比

PWM占空比是什么

我们经常使用定时器来实现 PWM 脉冲输出。PWM(Pulse Width Modulation)简称脉宽调制,使用定时器输出如下图所示的波形:
在这里插入图片描述
T 和 T1 都可以调整,占空比 duty = T1/T。占空比是一个脉冲周期内,高电平的时间与整个周期时间的比例,取值为 0%~100%。

对于数字信号,它只能输出高、低两种电平,比如 3.3V 或 0V。如果使用它来驱动电路,想达到 1.65V 的效果,就需要使用方波,控制占空比,比如把占空比设置为 50%。在一定频率下,调整占空比可以得到“输出模拟电压”的效果。PWM 应用很广泛,比如 LCD的背光亮度调节、呼吸灯、电机转速控制等。

pwm的分频系数有何作用

在一些单片机平台中,他不能直接去设置一个pwm的周期时间,他需要间接去设置定时器的分频系数从而达到设置pwm周期的时间,他的计算公式如下:
在这里插入图片描述
如果分频系数为10,主频为72 MHz,我们可以计算PWM周期的公式如下:

PWM周期 = 分频系数 × 系统时钟周期
= 分频系数 / 主频

根据上述公式,我们可以计算出PWM周期:

PWM周期 = 10 / 72 MHz
= 0.1389 μs

请注意,这个计算结果表示每个PWM周期的持续时间为0.1389 微秒(μs)。如果您想要将其转换为毫秒(ms),则需要将其除以1000:

PWM周期 = 0.1389 μs / 1000
= 0.0001389 ms

因此,如果分频系数是10,主频为72 MHz,那么PWM周期约为0.0001389 毫秒(ms)。这是一个非常短的时间,意味着PWM频率非常高,一个PWM周期只持续非常短的时间。

你也可以根据这个公式进行你需要的周期


总结

预分频系数和PWM占空比是单片机中常见的概念,对于定时器和PWM模块的使用至关重要。预分频系数用于控制定时器的时钟频率,通过设置适当的分频系数,可以实现对定时器溢出时间的调节。而PWM占空比则决定了PWM输出波形的高低电平时间比例,可以用来控制电机的转速、LED的亮度等。

对于初学者来说,可以通过实际的例子和实验来加深对这两个概念的理解。通过不断地练习和尝试,慢慢地就能掌握它们的原理和应用。同时,建议多查阅相关资料和文档,多与他人交流讨论,以加深对这些概念的理解和运用。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。