飞思卡尔单片机PWM模块分析(3)

接上,继续介绍飞思卡尔HCS12系列单片机的PWM模块

(9)PWM通道计数寄存器(PWMChannel CounterRegister)

PWMCNTx是PWM通道计数寄存器,可以在任何时刻读取该计数器数值,而不影响计数器和PWM通道的工作。计数器方向默认设定为向上计数,从周期寄存器和占空比寄存器的缓冲器中得到周期和占空比数值,人后根据极性选择位改变输出电平。

Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
复位值00000000

读:任何时刻 写:任何时刻

注:在级联模式下,无论对16位计数器的访问还是对高八位和第八位分开访问,都会使计数器复位。读取16位计数器必须从16位方式访问,以保持数据的一致性,高8位和低8位分开读取会得到不正确的结果。

(10)PWM通道周期寄存器(PWMChannelPeriodRegister)

PWMPERx周期寄存器的值决定相应PWM通道的周期。周期寄存器的数值都是双缓冲的,因此,当寄存器中的数值改变后,并不生效。

Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
复位值00000000

读:任何时刻 写:任何时刻

输出的PWM波形周期的计算方法是,用选择的时钟周期乘以周期寄存器的数值。

左对齐方式输出(CAEx=0) PWMx周期=通道时钟周期*PWMPERx

居中对齐方式输出(CAEx=1) PWMx周期=通道时钟周期*2*PWMPERx

(11)PWM通道占空比寄存器(PWMChannelDutyRegister)

PWMDTYx占空比寄存器,该寄存器的值决定相应PWM通道的占空比。占空比寄存器的数值都是双缓冲的,因此,当寄存器中的数值改变后,并不生效。

Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
复位值00000000

读:任何时刻 写:任何时刻

PWM波形占空比计算公式如下:

极性为0时(PPOLx=0)

占空比=(PWMPERx-PWMDTYx)/ PWMPERx

极性为1时(PPOLx=1)

占空比=(PWMDTYx)/(PWMPERx)

注:无论左对齐输出还是居中对齐输出,只要PPOLx,PWMPERx和PWMDTYx寄存器的数值相同,输出波形的占空比也是相同的,只是居中对齐输出比左对齐输出的波形的周期大一倍。

(12)PWM关断寄存器(PWMShutdownRegister)

PWMSDN具有在紧急情况下立即关断PWM通道输出的功能。

Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
PWMIFPWMIE0PWM-LVL0PWM7INPWM7ILPWM7-ENA
PWMR-STRT
复位值00000000

读:任何时刻 写:任何时刻

PWM7ENA:PWM紧急关断允许。

PWM7IL:紧急关断有效输入电平选择位。该位确定PWM通道7处于什么电平时,PWM模块才会被紧急关断。

PWM7IN:PWM通道7输入状态位。

PWMLVL:PWM紧急关断后输出电平选择位。

PWMRSTRT:PWM重新启动控制位。

PWMIE:PWM中断允许。

PWMIF:PWM中断标志。

PWM模块就介绍到此了,下次更新PLL时钟设定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值