手把手教你写9S12XS128程序7
- 格式:doc
- 大小:31.00 KB
- 文档页数:2
手把手教你写S12XS128程序(7)--PWM工作原理
时间:2009-11-27 15:44来源:电子设计吧 作者:dzsj8 点击: 537次
S12微控制器PWM模块是由独立运行的8位脉冲计数器PWMCNT、两个比较寄存器PWMPER和PWMDTY组成。
1、左对齐方式
在该方式下,脉冲计数器为循环递增计数,计数初值为0 。
当PWM使能后,计数器PWMCNT从0开始对时钟信号递增计数,开始一个输出周期。当计数值与占空比常数寄存器PWMDTY相等时,比较器1输出有效,将触发器置位,而PWMCNT继续计数;当计数值与周期常数寄存器PWMPER相等时,比较器2输出有效,将触发器复位,同时PWMCNT也复位,结束一个输出周期。原理参照图14:
图14 PWM左对齐方式
2、中心对齐方式
在该方式下,脉冲计数器为双向计数,计数初值为0 。
当PWM使能后,计数器PWMCNT从0开始对时钟信号递增计数,开始输出一个周期。当计数器与占空比常数寄存器PWMDTY相等时,比较器1输出有效,触发器翻转,而PWMCNT继续计数,当计数值与周期常数PWMPER相等时,比较器2输出有效,此时改变PWMCNT的计数方向,使其递解计数;当PWMCNT再次与PWMDTY相等时,比较器1再一次输出有效,使触发器再次翻转,而PWMCNT继续递减计数,等待PWMCNT减回至0,完成一个输出周期。原理参照图15:
图15 中心对齐方式
3、周期计算方法
左对齐方式:
输出周期 = 通道周期 × PWMPERx
中心对齐方式:
输出周期 = 通道周期 × PWMPERx × 2 4、脉宽计算方法
左对齐方式:
占空比 = [ (PWMPERx - PWMDTYx) / PWMPERx ] × 100%
中心对齐方式:
占空比 = [ PWMDTYx / PWMPERx ] × 100%