脉冲信号发生器脉冲信号发生器是信号发生器的一种。信号发生器按信号源分类的方法有很多种,其中一种可以分为混合信号源和逻辑信号源。混合信号源主要输出模拟波形;逻辑信号源输出数字码形。混合信号源可分为函数信号发生器和任意波形/函数发生器,其中函数信号发生器输出标准波形,如正弦波、方波等,任意波形/函数发生器输出用户定义的任意波形。逻辑信号发生器可分为脉冲信号发生器和代码发生器,其中脉冲信号发生器驱动少量方波或脉冲波,代码发生器产生多路数字代码。如泰克公司生产的AFG3000系列,包括函数信号发生器、任意波形/函数信号发生器、脉冲信号发生器等功能。此外,信号源还可以根据输出信号的类型进行分类,如射频信号发生器、扫描信号发生器、频率合成器、噪声信号发生器、脉冲信号发生器等。信号源也可以按照使用的频段来分类,不同的频段对应不同的应用领域。
脉冲发生器的工作原理
单脉冲和双脉冲波形如图1所示。
主振级与下一级分离,避免下一级对主振级的影响,提高频率稳定性。脉宽形成级一般由单稳态触发器和减法电路组成,形成脉宽可调的脉冲信号。放大级使用几个电流开关电路来限制和放大脉冲信号,以改善波形并满足输出级的激励需求。输出级有多种不同性能的脉冲信号发生器,但内部基本电路应该包括几个部分,如图2所示。
主振级一般由不稳定电路组成,产生重复频率可调的周期性信号。隔离级由电流开关组成,满足主振动信号输出幅度的要求,使脉冲信号发生器具有一定的负载能力。输出脉冲信号的幅度可以通过衰减器调节。
脉冲发生器的设计利用单片机设计PWM脉冲信号发生器
PWM (Pulse Width Modulation)是脉宽调制的简称,是开关电源稳压的控制方式之一。PWM开关稳压电路在控制电路输出频率不变的情况下,通过电压反馈调整其占空比,从而达到稳定输出电压的目的。
简单地说,PWM是一种对模拟信号电平进行数字编码的方法。理论上,电压或电流源以开或关的重复脉冲序列施加于模拟负载。导通时,电源施加于负载,关断时,电源断开,所以PWM信号仍然是数字的。为了实现这种脉宽调制效果,可以直接控制模拟电压和电流。比如音频的音量控制,在一个简单的模拟电路中,它的控制是通过一个连接可变电阻的旋钮来实现的。过程就是转动旋钮,电阻值变小或变大,流过电阻的电流也变大变小,从而改变驱动扬声器的电流值,声音也相应变大或变小。从这个例子来看,模拟控制直观简单,但并不是所有的模拟电路都是可行和经济的。其中很重要的一点就是模拟电路容易随时间漂移,其调整过程非常困难。为了解决这个问题,必须增加许多电路,这使得电路复杂且昂贵。另外,模拟电路中很多元器件会发热,相对增加电路的功耗,而且对噪声也比较敏感。任何干扰或噪音都会改变当前值。
综上所述,用数字手段控制模拟电路可以大大降低系统的成本和功耗,而单片机I/O口的数字输出可以简单地发出一个脉冲波,脉冲波的占空比可以用外部元件调节来完成PWM的功能。主要介绍如何利用89S52系列单片机控制一个I/O口的一个管脚的数字输出,以及如何产生相应周期的脉冲波,如何利用按键控制占空比,包括占空比从小到大、从大到校的可调顺序和反序。调节范围大,操作简单,各元件间干扰少,对控制模拟电路非常有效。
1、PWM波生成
PWM波是数字输出,即其幅度只能分为高电平(开)和低电平(关)。因此,只要将单片机中的引脚作为PWM波的输出端输出1 和0 & gt;配合不同的时间周期,可以形成不同周期的PWM波。例如,如果要产生一个周期为10ms的脉冲,可以控制其输出端输出1 通过使用单片机编程指令,并保持一段时间tp,然后输出0 & gt;并保持一段时间tr。两路数字输出的保持时间必须满足,现在已经产生了一个周期为10ms的脉冲波。PWM波和这个脉冲波的区别在于占空比可以调整。占空比是指半周脉冲宽度与整个周期的比值,即高电平保持时间与周期的比值,用百分比表示()。因此,当周期不变时,调整占空比意味着调整高电平保持时间。
2、应用编程
本文介绍的PWM波是通过单片机定时中断来确定脉冲波的周期,通过两个按钮发送一个变量来中断,通过这两个按钮可以分配高低电平占用的时间,形成不同的占空比,即假设一个周期的满比是10,高电平保持时间的比例就是变量值,低电平保持时间的比例就是10减去变量值。
图1是单片机的外部接线图,其中省略了单片机的最小系统。在该图中,利用89SC52单片机可以设计出周期为10ms,初始占空比为50%,占空比调节范围为0 ~ 100%的PWM脉冲信号发生器。占空比调整范围是指高电平保持时间为0 ~ 10 ms,那么低电平保持时间为10 ms ~ 0。P0.7引脚是PWM波的输出端口,可以连接到其他电路作为PWM脉冲信号发生器。本文只连接一个示波器,观察波形占空比的变化。P2.0脚是自增按钮的控制端,每次按下都增加高电平的保持时间,P2.1脚是自减按钮的控制端,每次都减少高电平的保持时间。图2显示了初始50%占空比的波形图以及20%、40%、60%和80%占空比的波形图,以便查看PWM的变化。
89C52单片机产生PWM波的c语言程序;
#定义uint无符号整数
sbit pwm=p0^7;
sbit k1=p2^0;
sbit k2=p2^1;
bz位;//一个标志位,定义一个键是否被释放。
乌恰尔b;
uchar m=5;//m是控制占空比的变量,初始占空比为50%。
无效延迟
{ while(I-);}
Voidingshi()中断1//定时中断
{ TL0=(65536-1000)% 6;//1毫秒初始化
TH0=(65536-1000)/256;
b;
if(b==10)b=0;//10ms周期时序
if(b void main()
{ EA=1;ET0=1;
TMOD=0x 01;//定时0工作在模式1,1ms中断一次。
TL0=(65536-1000)% 6;
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%,调节精度有待提高。
标签:占空比信号脉冲