您的位置 首页 汽车

浅谈使用单片机规划PWM脉冲信号发生器

PWM是脉冲宽度调制(PulseWidthModulation)的英文缩写,它是开关型稳压电源中按稳压的控制方式分类中的一种,而脉宽宽度调制

PWM是脉冲宽度调制(Pulse Width Modulation)的英文缩写,它是开关型稳压电源中按稳压的操控办法分类中的一种,而脉宽宽度调制式(PWM)开关型稳压电路是在操控电路输出频率不变的状况下,经过电压反应调整其占空比,然后到达安稳输出电压的意图。
简略的说,PWM是一种对模仿信号电平进行数字编码的办法。理论上讲便是电压或电流源以一种通(ON)或断(OFF)的重复脉冲序列被加到模仿负载上去的,通的时分便是电源被加到负载上,断的时分便是供电被断开的时分,所以PWM信号仍然是数字的。要想到达这样一种脉宽调制作用,模仿电压和电流时能够直接操控。例如音响的音量操控,在简略的模仿电路中,它的操控是由衔接了一个可变电阻的旋钮来完结的,其进程是拧动旋钮,电阻值变小或变大,流过该电阻的电流也随之添加来减小,然后改动驱动扬声器的电流值,那么声响也就相应变大或变小。从这个例子来看,模仿操控是直观而简略的,可是并不是一切的模仿电路都是可行而且经济的,其间很重要的一点便是模仿电路简单随时刻漂移,它的调理进程就很困难,为了解决问题就要添加许多的电路,使得电路变得复杂而且贵重。除此之外,模仿电路中许多的元器件会发热,也就相对进步了电路的功耗,而且对噪声也灵敏,任何搅扰或噪声都会改动电流值的巨细。
综上所述,经过数字办法来操控模仿电路能够大幅度下降体系的本钱和功耗,而单片机I/O口的数字输出能够很简略地宣布一个脉冲波,在配以外部元器件就能够调理脉冲波的占空比,完结PWM的功用。本文首要介绍使用89S52系列的单片机,操控某个I/O口中一个管脚的数字输出,生成相应周期的脉冲波,并使用按键操控其占空比的调理,包含了占空比自小到大和自负到校的次序及倒序可调,其调理规模广,操作简洁,各元器件间的搅扰较小,对模仿电路的操控非常有用。
1.PWM波的生成
PWM波既为数字输出,便是其幅值只要高电平(ON)和低电平(OFF)之分,所以只要使单片机中作为PWM波输出端的那个管脚输出“1”和“0”,而且调配不同的时刻段,就能够构成不同周期的PWM波。举例说明:若要生成周期为10ms的脉冲,就能够使用单片机编程指令操控其输出端输出“1”,而且坚持一段时刻tp,然后再输出“0”,相同使其坚持一段时刻tr,两种数字输出坚持的时刻必需要满意,现就已生成10ms周期的脉冲波,而PWM波与该脉冲波的差异便是还要能够调理占空比。占空比是纠正半周脉宽占整个周期的份额,即高电平坚持时刻于周期的比值,该比值为百分数(),因此在周期必定的状况下,调理占空比便是调理高电平坚持的时刻。
2.使用编程
本文介绍的PWM波是使用单片机守时中止去确认脉冲波的周期,而且经过两个按键自增和自减某个变量送至中止中,经过此变量去分配凹凸电平各自占用的时刻,构成不同的占空比,即假定一个周期满额份额值为10,则高电平坚持时刻的份额为该变量值,那么低电平坚持时刻的份额便是10减去该变量值。
如图1所示为单片机的外部接线图,其间省掉了单片机最小体系,此图即可使用89SC52单片机规划出满意周期为10ms、初始占空比为50%、占空比调理规模为0~100%的PWM脉冲信号发生器。占空比调理规模是指高电平坚持时刻为0~10ms,那么低电平坚持时刻便是10ms~0。P0.7脚为PWM波输出口,作为PWM脉冲信号发生器可衔接其它电路,本文仅衔接示波器去调查波形的占空比改变状况,P2.0脚为自增按钮操控端,每按一次高电平坚持时刻添加1ms,P2.1脚为自减按钮操控端,每按一次高电平坚持时刻削减1ms。图2所示为初始50%占空比的波形图以及20%、40%、60%和80%占空比的波形图,以此看出PWM的改变。
89C52单片机生成PWM波C言语程序:
#define uint unsigned int
sbit pwm=P0^7;
sbit k1=P2^0;
sbit k2=P2^1;
bit bz;//界说一个按键是否松开的标志位
uchar b;
uchar m=5;//m为操控占空比的变量,初始占空比50%
void delay(uint i)
{while(i–);}
void dingshi() interrupt 1//守时中止
{TL0=(65536-1000)%256; //1ms初始化
TH0=(65536-1000)/256;
b++;
if(b==10) b=0; //10ms周期守时
if(b void main()
{EA=1;ET0=1;
TMOD=0x01;//守时0作业在办法1,1ms中止1次
TL0=(65536-1000)%256;
TH0=(65536-1000)/256;
TR0=1;//开中止
while (1)
{if((k1==0)&&(bz==0)) {delay(1110);if(k1==0){bz=1;m++;if(m==11) m=10;}}//每按一次占空比自增10%
if((k2==0)&&(bz==0)) {delay(1110);if(k2==0){bz=1;m–;if(m==255) m=0;}}//每按一次占空比自减10%
if((k1==1)&&(k2==1)) bz=0;//判别按键是否松开}}
归纳硬件规划和软件规划能够看出,使用单片机数字输出办法能够很简略的完结脉冲宽度的调制,无须经过对模仿电路各%&&&&&%参数的核算进行调理,而且能够随时调整输出不同周期的脉冲波,使用该办法规划的PWM脉冲信号发生器能够很广泛。可是此规划也有一些缺陷,其占空比只能按10%的份额调理,调理精度还有待进步。
参考文献
【1】何立民,张俊谟.单片机中级教程:第2版[M].北京:北京航空航天大学出版社,2002.
【2】吴金戌,沈庆阳,郭庭吉.8051单片机实践与使用[M].北京:人民邮电出版社,2003.
【3】贺小光,蓝讽,陈敬艳.PWM可调直流稳压操控电源电路的规划研讨[J].东北师大学报

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/259836.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部