手把手教你写S12XS128程序(6)--PWM寄存器说明5

1PWM通道计数寄存器 PWMCNTx

PWMCNTx 寄存器共有 8个,每一个通道都有一个8位PWM加/减双向计数器,通道级联后可变成16位PWM加/减双向计数器。下面PWMCNT0为例对 PWMCNTx 寄存器进行介绍。

PWMCNT0 寄存器如图 12 所示:

 

 12  PWMCNT0 寄存器 

 

计数器以所选时钟源的频率运行计数器在任何时候都可以被读而不影响计数,也不影响对 PW通道的操作。

任何值写入 PWMCNT0 寄存器都会导致计数器复位置 0,且其计数方向会 被设置为向上计数并且会立刻从缓冲器载入任务和周期值并会根据翻转极性的设置来改变输出。当计数器达到计数值后,会自动清零。只有当通道使能后,计数器才开始计数。

 

2PWM通道周期寄存器PWMPERx

PWMPERx 寄存器共有 每一个通道都有一个这样的周期寄存器这个 寄存器的值就决定了相关 PW通道的周期每一个通道的周期寄存器都是双缓 冲的因此如果当通道使能后改变他们的值将不会发生任何作用除非当下列情况之一发生:

*有效的周期结束。

*对计数器进行写操作(计数器复位)

*通道不可用PWMEx = 0

这样就会使 PW输出波形要么是新波形要么是旧波形并不会在两者之间 进行交替变换如果通道不可用那么对周期寄存器进行写操作将会直接导致 周期寄存器同缓冲器一起闭锁。图 13 所示的是 PWMPER0 寄存器:

 

 13 PWMPER0 寄存器

 

3PWM通道占空比寄存器PWMDTYx

PWMDTYx 寄存器也有 8 个,每一个通道都有一个这样的占空比常数寄存 这个寄存器的值就决定了相关 PW通道输出波形的占空比每一个通道的 占空比寄存器都是双缓冲的因此如果当通道被激活后改变他们的值将不会发生任何作用,除非当下列情况之一发生:

*有效的周期结束。

*对计数器进行写操作(计数器复位

*通道不可用PWMEx = 0

这样就会使 PW输出波形要么是新波形要么是旧波形并不会在两者之间 进行交替变换如果通道没有被激活那么对占空比常数寄存器进行写操作将会直接导致周期寄存器同缓冲器一起闭锁。

当计数值与占空比常数 PWMDT相等时则比较输出器有效这时就会将触发器置位然后 PWMCN继续计数当计数值与周期常数 PWMPER 相等时比较器输出有效将触发器复位同时也使 PWMCNT 复位结束一个输出周期。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值