首页 理论教育 单片机HCS08的PWM功能控制

单片机HCS08的PWM功能控制

时间:2023-11-19 理论教育 版权反馈
【摘要】:HCS08单片机的PWM功能就是应用TPM对一系列脉冲的宽度进行控制,以调节输出量幅度和波形的一种方法。PWM信号的极性由ELSnA控制位来决定。还有PWM可用来控制命令字编码。

单片机HCS08的PWM功能控制

HCS08单片机的PWM(Pulse-Width Modulation)功能就是应用TPM对一系列脉冲的宽度进行控制,以调节输出量幅度和波形的一种方法。定时器引脚产生一个在高电平和低电平之间重复交替的输出信号,这个信号被称为PWM信号,也叫脉宽调制波,它通过指定所需的时钟周期和占空比来控制高电平和低电平的持续时间。PWM技术中一个重要的概念就是占空比,通常定义占空比为信号处于高电平的时间(或时钟周期数)占整个信号周期的百分比,占空比定义示意图如图8-6所示,其中TP是周期,TON为高电平的时间持续时间,TOFF为低电平的时间持续时间。

978-7-111-50417-7-Chapter08-17.jpg

图8-6 占空比定义示意图

1.PWM执行过程

定时器的每一个通道都可以设置为在溢出时自动翻转电平,利用这个特性,定时器通道就可以实现PWM。计数器模寄存器中的预置值将决定脉宽调制波的周期。当计数寄存器的计数达到预置计数值时,该通道的输出将自动翻转,所以两次溢出之间的时间就是脉宽调制波的周期。占空比由通道寄存器的值决定,因为在发生输出比较时,输出电平将根据每一个通道的控制状态寄存器的ELSxA、ELSxB位的设置而发生改变。这样在一次时钟溢出的周期内输出电平将发生两次翻转,发生输出比较到发生时钟溢出之间的时间就是脉宽调制波的占空比。

2.边沿对齐PWM

使用边沿对齐模式时CPWMS状态为0,其不影响TPM中的其他通道的使用。这种PWM输出类型使用计数器向上递增计数模式,PWM信号周期由模寄存器值TPMxMODH:TPMxMODL加1决定,占空比由设置在定时器通道寄存器TPMxCnVH:TPMxCnVL的值来决定。

在TPM通道值寄存器中的输出比较值决定PWM信号的脉宽(占空比)见图8-7。PWM信号的极性由ELSnA控制位来决定。如果ELSnA=0,计数器溢出强制PWM信号为高,输出比较强制PWM信号为低,PWM周期和脉冲宽度(ELSnA=0)如图8-7所示。如果ELSnA=1,计数器溢出强制PWM信号为低,输出比较强制PWM信号为高,PWM周期和脉冲宽度(ELSnA=1)如图8-8所示。

978-7-111-50417-7-Chapter08-18.jpg

图8-7 PWM周期和脉冲宽度(ELSnA=0)

978-7-111-50417-7-Chapter08-19.jpg

图8-8 PWM周期和脉冲宽度(ELSnA=1)(www.xing528.com)

输出时,占空比0%和100%的占空比都是允许的,当通道值寄存器被设为0x0000时,占空比为0%;当设置通道值寄存器(TPMxCnVH:TPMxCnVL)为一个大于计数器寄存器的模数设置的值时,占空比可达到100%。

3.中心对齐PWM

使用中心对齐模式时CPWMS状态为1,这种PWM输出类型使用计数器向上递增/向下递减计数模式。周期由TPMxMODH:TPMxMODL中的值决定,TPMxCnVH:TPMxCnVL中的输出比较值决定了PWM信号的脉宽(占空比)。TPMxMODH:TPMxMODL应该被保持在0x0000到0x7FFF范围之间,因为这个范围之外的值易产生不确定结果。其脉宽和周期计算如下。

脉宽=2×(TPMxCnVH:TPMxCnVL)

周期=2×(TPMxMODH:TPMxMODL);其中TPMxMODH:TPMxMODL=0x0001~0x7FFF

如果通道值寄存器TPMxCnVH:TPMxCnVL为零或负数,占空比将为0%。如果TPMxCnVH:TPMxCnVL为正数且大于模数设定值,则占空比为100%。

TPM通道寄存器中的输出比较值决定中央对齐PWM信号的脉宽,ELSnA可决定PWM输出的极性。如果ELSnA=0,当计数增大到PWM强制输出信号为低时进行一个比较;同样,当计数减小PWM强制输出为低时也进行一个比较。计数器计数增加直到它达到TPMxMODH:TPMxMODL中的模数设定值,然后计数下降直至为零。因而该模式的周期设定等于两倍TPMxMODH:PMxMODL,见图8-9。

978-7-111-50417-7-Chapter08-20.jpg

图8-9 中央对齐PWM周期和脉冲宽度(ELSnA=0)

4.PWM的应用

PWM的应用非常广泛,尤其是在电动机控制和工业变频控制中。在日常应用中,PWM可以为其他设备产生类似于时钟的信号,例如PWM可用来控制灯以一定频率闪烁。PWM的另一个常见用途是控制输入到某个设备的平均电流或电压。例如,直流电动机在有输入电压时会转动,而转速与平均输入电压的大小成正比,可利用PWM设置适当的占空比值来得到所需要的平均电压,如果所设置的周期足够小,电动机就可以平稳运转,即不会明显感觉到电动机在加速或减速。还有PWM可用来控制命令字编码。例如,通过发送不同宽度的脉冲,代表不同含义,红外遥控器就是一个典型的应用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈