【单片机概念基础】迟迟搞不懂预分频系数、PWM占空比等等概念和计算怎么办?
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
@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的亮度等。
对于初学者来说,可以通过实际的例子和实验来加深对这两个概念的理解。通过不断地练习和尝试,慢慢地就能掌握它们的原理和应用。同时,建议多查阅相关资料和文档,多与他人交流讨论,以加深对这些概念的理解和运用。
- 点赞
- 收藏
- 关注作者
评论(0)