全国企业信用信息公示系统网站,做恒指网站,在韩国注册公司需要什么条件,谷歌浏览器下载手机版一.什么是PWM 用图话#xff0c;如下图所示#xff1a; PWM#xff08;脉冲宽度调制#xff09;#xff1a;这是一种模拟控制方式#xff0c;可以根据载荷的变化来调制晶体管基极或MOS管栅极的偏置#xff0c;实现晶体管或MOS管导通时间的改变#xff0c;从而改变开关稳…一.什么是PWM 用图话如下图所示 PWM脉冲宽度调制这是一种模拟控制方式可以根据载荷的变化来调制晶体管基极或MOS管栅极的偏置实现晶体管或MOS管导通时间的改变从而改变开关稳压电源的输出。这种方式能使电源的输出电压在工作条件变化时保持恒定是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术广泛应用于从测量、通信到功率控制与变换的许多领域中。PWM技术的基本原理就是通过调整一个周期固定的方波的占空比来调节输出的平均电压、电流或功率等被控量。电感电感是闭合回路的一种属性是一个物理量。当电流通过线圈后在线圈中形成磁场感应感应磁场又会产生感应电流来抵制通过线圈中的电流。电感是自感和互感的总称提供电感的器件称为电感器。电感是导体的一种性质用导体中感生的电动势或电压与产生此电压的电流变化率之比来量度。感生电动势的大小与电流的变化率成正比。比例因数称为电感以符号L表示单位为亨利H。纹波纹波是由于直流稳定电源的电压波动而造成的一种现象。因为直流稳定电源一般是由交流电源经整流稳压等环节而形成的这就不可避免地在直流稳定量中多少带有一些交流成分这种叠加在直流稳定量上的交流分量就称之为纹波。纹波的成分较为复杂它的形态一般为频率高于工频中国是50Hz的类似正弦波的谐波另一种则是宽度很窄的脉冲波。对于不同的场合对纹波的要求各不一样。 二.PWM编程原理 1PWM波其实就是一种脉宽可连续调节的矩形脉冲波 2占空比其实就是描述脉宽与脉冲周期的比值是量化值便于分析研究当我们用占空比来表达时对脉宽就不那么关心了 3占空比调节就是脉宽调节表达不一样但本质是一样的 4PWM波满足伏秒积计算U红(幅值) × 占空比 U蓝作用效果与直流电压一样。 三.PWM脉冲宽度调制C语言实现
#include stc2052.h
unsigned int pulse_width_MAX 0xF0; // ;PWM 脉宽最大值, 占空比 93.75%
unsigned int pulse_width_MIN 0x10; // ;PWM 脉宽最小值, 占空比 6.25%
unsigned int step 0x38;
unsigned int pulse_width;
unsigned int i,j;
unsigned char state;void PCAinit(); //PCA模块初始化
void delay1ms(unsigned int TIME); //1ms延时程序(大概是1ms)
void zhankongbi(); //调节占空比
void st(); //用来表示pulse_width的状态函数void main(void)
{EA0;PCAinit(); //初始化PCA定时器zhankongbi();
}void PCAinit()
{CMOD0x80; //PCA 在空闲模式下停止 PCA 计数器工作//PCA 时钟模式为fosc/12//禁止 PCA 计数器溢出中断CCON0x00; //禁止 PCA 计数器工作, 清除中断标志、计数器溢出标志CL0X00; //清0计数器CH0X00;//下面设置模块0为 8 位 PWM 输出模式, PWM 无需中断支持。脉冲在P3.7(第11脚)输出CCAPM00x42; //PCA(计数器阵列)模块0的工作模式 8位PWM工作模式PCA_PWM00x00; //赋值为0pwm才能有高电平输出//下面设置模块1为 8 位 PWM 输出模式, PWM 无需中断支持。脉冲在P3.5(第9脚)输出CCAPM10x42; //PCA(计数器阵列)模块1的工作模式 8位PWM工作模式PCA_PWM10x00; //赋值为0pwm才能有高电平输出EPCA1; // 开 PCA 中断EA 1; // 开总中断CR1; //将PCA 计数器打开
}void zhankongbi(){pulse_widthpulse_width_MIN;while(1){st();if(state0){pulse_widthstep;}if(state1){pulse_width-step;}CCAP0Hpulse_width; // 模块0站空比的比较值CCAP1Hpulse_width; // 模块1站空比的比较值delay1ms(1000);}
}void delay1ms(unsigned int TIME)
{for(i0;ij;i)for(j0;j400;j);
}void st()
{if(pulse_widthpulse_width_MIN)state0;if(pulse_widthpulse_width_MAX)state1;
} 程序功能说明程序在P3.7和P3.5都输出3.9k的PWM信号其脉冲宽度从6.25% 慢慢递增到93.75%然后在从93.75%递减到6.25%.