单片机tdi好比单片机软件工程师如何使用一个没有PWM外设的MCU来做可调的占空比?

原创 至山电子  2019-04-19 09:15 

内容由玩转嵌入式提供,至山电子提供单片机tdi相关业务,小编言清欢为您整理,原标题:单片机软件工程师如何使用一个没有PWM外设的MCU来做可调的占空比?,精简后为单片机tdi好比单片机软件工程师如何使用一个没有PWM外设的MCU来做可调的占空比?内容图片均为互联网搜集。阅读:46717次。

即使单片机没有PWM外设也可以做可调的占空比。

首先这个题目就有点刁钻,因为就目前来说,就算是最基础的单片机也有PWM外设,如果连这个功能都没有,我觉得他不应该算在单片机的范畴之内,只能说是一个小规模的集成电路。你现在非要来一个没有PWM波外设的单片机,好吧,就拿你这种情况分析一下,如何在没有PWM外设的MCU来做可调的占空比。

单片机tdi好比单片机软件工程师如何使用一个没有PWM外设的MCU来做可调的占空比?

PWM

首先我们要知道什么是PWM,PWM的全称是Pulse Width Modulation,即脉冲宽度调制,它的实现原理很简单,即通过单片机的高低电平控制MOS管或三极管的开通和关断,以实现小功率控制大功率的目的,在PWM中,高低电平的变换速度极快,一般都不大于1MS。

单片机tdi好比单片机软件工程师如何使用一个没有PWM外设的MCU来做可调的占空比?

如上图中的三个PWM波,如果一半的时间是高电平一半的时间是低电平,那么他的占空比是50%,所谓占空比即高电平所占PWM周期的比例。

通过简单的延时

在一个没有PWM外设的MCU来做可调的占空比,最简单的办法是,让单片机循环的输出高低电平。比如我们要输出一个占空比为50的PWM我们可以这么写,虽然不是正规途径生成的PWM波,但是实现效果上却和PWM波一个样。

while(1)

{

P1=1;

DELAY(1MS);

P1=0;

DELAY(1MS);

}

单片机tdi好比单片机软件工程师如何使用一个没有PWM外设的MCU来做可调的占空比?

占空比可调的PWM

这个占空比其实也很容易改变,只需要我们改变高低电平的时间,如果你不想这么做,可以往单片机上加一个电位器,在我们旋转电位器的时候,把对应的电压传给单片机,单片机再通过不同的电压改变不同的时间,以此来达到调节占空比的目的。

单片机tdi介绍

利用单片机的PWM片上资源可以很方便的输出PWM波形和调节其占空比,所谓占空比就是在一个周期内高电平所占的比例,如下图所示:

单片机tdi好比单片机软件工程师如何使用一个没有PWM外设的MCU来做可调的占空比?

占空比=T1/T×100%,如果单片机没有PWM片上资源可通过普通GPIO和定时器配合输出不同占空比的方波。分两种情况介绍。

1.不带有比较功能的情况

如果单片机没有PWM功能,又没有比较功能,那就通过定时器输出。定时器输出方波的原理时,定时翻转GPIO口的输出状态,要想改变占空比,那就去改变定时器输出高电平的时间,针对不同的占空比计算出定时器所需要的初值,每次加载定时器初值。下图时51单片机的定时器寄存器含义。

单片机tdi好比单片机软件工程师如何使用一个没有PWM外设的MCU来做可调的占空比?

2.单片机带有比较功能

如果单片机带有比较功能,让单片机工作在比较功能下,可以通过设置比较功能的阈值来改变GPIO口的翻转实现占空比的可调。这种方法需要根据不同的占空比,计算出所对应的比较器阈值,达到设定值后GPIO口就改变当前的电平状态,即实现了不同的占空比的输出。

一般来说单片机的CCP功能是绑在一起的,即Capture(捕获),Compare(比较),PWM(脉宽调制)等功能。没有PWM功能也就没有比较功能。所以没有CCP功能的单片机一般使用定时器输出可变占空比的方波。

以上就是这个问题的回答,感谢留言、评论、转发。

更多精彩内容请关注本头条号:玩转嵌入式。感谢大家。

1 单片机定时器有比较输出的情况,可以通过修改比较阈值来改变占空比,占空比为比较阈值/溢出计数值

2没有上面的功能时,可以用定时器产生基准时钟,频率要高点,比如10K,一个周期为0.1ms,输出IO波形频率为100HZ,占空比调节范围0%~99%.相当于模拟一个比较器,软件去记录0.1ms内 定时器产生了的多少次,比如我想要50%占空比,记录开始输出高电平,到第50次时输出低电平,想要70%占空比,就是记录到70次时输出低电平。

文章关键词单片机,可调,来做,如何使用,外设

文章链接:https://www.zsic.net/mcu/157.html,本文共1577个字,预计阅读时间需要4分钟。
关注至山:如果您想进一步了解我们,欢迎:扫描二维码至山电子的公众号,微信号:ZS6688
版权声明:本文单片机tdi好比单片机软件工程师如何使用一个没有PWM外设的MCU来做可调的占空比?为原创文章,版权归 至山电子搜集整理,欢迎留言点赞。当前文章阅读 344 次 。

发表评论


表情