分享
12 pwm 呼吸灯 直流电机
输入“/”快速插入内容
12 pwm
呼吸灯
直流电机
飞书用户5985
7月17日修改
一、什么是PWM?
PWM
是
脉冲宽度调制
的缩写,它是一种通过调整
脉冲信号
的高电平和低电平时间比例来控制电路输出的技术。简单来说,PWM是一种控制电子设备输出电压或电流的方法,它可以通过调整脉冲信号的宽度来控制输出信号的平均电压或电流,常应用于电机控速,
开关电源
等领域。
二、PWM的频率与占空比
在
PWM
波形
中有两个重要的参数,分别是:频率、
占空比
;
pwm
的频率:
是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期);
如果频率为1000Hz ,也就是说1秒内来回了1000次,那每次的时间就是1
ms
,那此信号一个周期就是1ms
占空比
:
是一个
脉冲
周期内,高电平的时间与整个周期时间的比例
调节
占空比
最终会反映到输出的电流、电压上,或者可以理解为输出的总能量变化,100%占空比时输出100%能量,50%占空比时,只会输出一半的能量,例如50%占空比控制
LED
会比较暗,控制电机力气会比较小。
三、呼吸灯控制
下面使用
IO
模拟的方式,实时修改
占空比
,控制
LED
的
呼吸灯
效果:
优化
代码块
C
#include <reg52.h>
sbit led = P2^7;
void Delayus(int t) //@11.0592MHz
{
while(t--){
unsigned char i;
i = 2;
while (--i);
}
}
void main()
{
int time = 0;
led = 0;
while(1)
{
for(time = 0;time < 300;time ++){ //从暗逐渐变亮的过程
led = 0;
Delayus(time);
led = 1;
Delayus(300 - time);
}
for(time = 0;time < 300;time ++){ //从亮逐渐变暗的过程
led = 1;
Delayus(time);
led = 0;
Delayus(300 - time);
}
}
}