- 6
- 0
- 约2.05万字
- 约 75页
- 2016-03-12 发布于湖北
- 举报
PWM启动寄存器PWME 用来启动和关闭相应通道的 PWM 波形输出。当任意的 PWMEx 位置 1,则相关的 PWM 输出通道就立刻可用。 PWM极性选择寄存器PWMPOL 该寄存器是0~7通道PWM输出起始极性控制位,用来设置PWM输出的起始电平。 用法:PWMPOL_PPOL0=1--- 通道 0 在周期开始时输出为高电平,当计数器等于占空比寄存器的值时,输出为低电平。对外输出波形先是高电平然后再变为低电平。 PWM时钟选择寄存器PWMCLK S12的PWM 共有四个时钟源,每一个 PWM 输出通道都有两个时钟可供选择(ClockA、ClockSA 或Clock B、ClockSB))。 其中0、1、4、5 通道可选用ClockA和ClockSA, 2、3、6、7 通道可选用ClockB、ClockSB 通道。 该寄存器用来实现几个通道时钟源的选择。 用法: PCLK0 = 1 --- 通道0(PTP0)的时钟源设为ClockSA PCLK2 = 0 --- 通道2(PTP2)的时钟源设为ClockB PWM预分频寄存器PWMPRCLK PWMPRCLK 寄存器包括ClockA预分频和ClockB预分频的控制位。ClockA、ClockB的值为总线时钟的1/2n (0≤n≤7) PWM分频寄存器PWMSCLA、PWMSCLB Clock SA 是通过对 PWMSCLA 寄存器的设置来对ClockA 进行分频而产生的。其计算公式为:Clock SA=Clock A /(2*PWMSCLA) PWMSCLB 寄存器与PWMSCLA 寄存器相似, PWM控制寄存器PWMCTL PWMCTL_CON67=1 --- 通道 6、7 级联成一个16位的PWM通道。此时只有 7 通道的控制字起作用,原通道7的使能位、PWM输出极性选择位、时钟选择控制位以及对齐方式选择位用来设置级联后的PWM输出特性 PWMCTL_CON67=0 --- 通道 6,7 通道不级联 PSWAI 和PFRZ PSWAI=1 --- MCU 一旦处于等待状态,就会停止时钟的输入。这样就不会因时钟在空操作而费电;当它置为 0,则 MCU 就是处于等待状态,也允许时钟的输入。 PFRZ=1 --- MCU 一旦处于冻结状态,就会停止计数器工作。 PWM通道计数寄存器 PWMCNTx PWMCNTx 寄存器共有 8个,每一个通道都有一个8位PWM加/减双向计数器,通道级联后可变成16位PWM加/减双向计数器。 计数器以所选时钟源的频率运行。计数器在任何时候都可以被读,而不影响计数,也不影响对 PWM 通道的操作。 任何值写入 PWMCNT0 寄存器都会导致计数器复位置 0,且其计数方向会 被设置为向上计数,并且会立刻从缓冲器载入任务和周期值,并会根据翻转极性的设置来改变输出。当计数器达到计数值后,会自动清零。只有当通道使能后,计数器才开始计数。 PWM通道周期寄存器PWMPERx PWMPERx 寄存器共有 8 个,每一个通道都有一个这样的周期寄存器。这个 寄存器的值就决定了相关 PWM 通道的周期。每一个通道的周期寄存器都是双缓 冲的,因此如果当通道使能后,改变他们的值,将不会发生任何作用,除非当下列情况之一发生: *有效的周期结束。 *对计数器进行写操作(计数器复位) *通道不可用(PWMEx = 0) 这样就会使 PWM 输出波形要么是新波形要么是旧波形,并不会在两者之间 进行交替变换。如果通道不可用,那么对周期寄存器进行写操作,将会直接导致 周期寄存器同缓冲器一起闭锁。 PWM通道占空比寄存器PWMDTYx PWMDTYx 寄存器也有 8 个,每一个通道都有一个这样的占空比常数寄存 器。这个寄存器的值就决定了相关 PWM 通道输出波形的占空比。 当计数值与占空比常数 PWMDTY 相等时,则比较输出器有效,这时就会将触发器置位,然后 PWMCNT 继续计数,当计数值与周期常数 PWMPER 相等时,比较器输出有效,将触发器复位,同时也使 PWMCNT 复位,结束一个输出周期。 PWM波形对齐寄存器PWMCAE PWMCAE 寄存器包含 8 个控制位来对每个 PWM 通道设置左对齐输出或中心对齐输出。 用法: PWMCAE_CAE0 = 1 --- 通道0 中心对齐输出 PWMCAE_CAE7 = 0 --- 通道7 左对齐输出 只有输出通道被关闭后才能对其进行设置。 左对齐方式 在该方式下,脉冲计数器为循环递增计数,计数初值为0 。 当PWM使能后,计数器PWMCNT从0开始对时钟信号递增计数,开始一个输出周期
原创力文档

文档评论(0)