PWM编程基本操作步骤

1.两个匹配寄存器可用控制单边沿 PWM 输出。 PWMMR0 控制 PWM 周期率,另一个匹配寄存器( PWMMR1~PWMMR6)控制 PWM 边沿的位置。
 
2.3 个匹配寄存器共同控制一个双边沿 PWM 输出。 PWMMR0 控制 PWM 周期速率,其它匹配寄存器控制( PWMMR1~PWMMR6) 两个 PWM 边沿位置。
 
3.单边沿控制 PWM 输出在每个周期开始时总是为高电平,除非输出保持恒定低电平。

4.匹配寄存器更新与脉冲输出同步,防止产生错误的脉冲。软件必须在新的匹配值生效之前将它们释放。
 

PWM编程基本操作步骤


 5. 基本上 PWM1 不能用作双边沿输出。

6.通常不建议使用 PWM 通道 3 和通道 5 作为双边沿 PWM 输出, 因为这样会减少可用的双边沿 PWM的个数。使用 PWM2, PWM4 和 PWM6 可得到最多个数的双边沿 PWM 输出。

7.单边沿控制的PWM输出:每个 PWM 输出在到达其匹配值时都会变为低电平。

 

PWM编程基本操作步骤

 

8. 双边沿控制的 PWM 输出:
 

PWM编程基本操作步骤

在对匹配寄存器载入数据之后必须锁存使能,需要变换数据必须进行重载操作
 

9.PWMMR:PWM 匹配寄存器:MR可通过 MCR 设定为在匹配时复位TC,停止 TC 和 PC 和/或产生中断。此外, MR和TC的匹配将置位所有单边沿模式的 PWM 输出, 并置位双边沿模式下的 PWM1 输出。

10.PWMPCR:PWM 控制寄存器:使能 PWM 输出并选择 PWM 通道类型为单边沿或双边沿控制。

11.PWMLER:PWM 锁存使能寄存器:使能使用新的 PWM 匹配值。

12.如果有中断产生, PWMIR中的对应位会置位,否则为 0。向对应的IR位写入 1 会复位中断,写入 0 无效。

13.决定 PWM 速率( PWM匹配 0)的匹配寄存器必须在使能 PWM 之前设定。否则不会发生使映像寄存器内容生效的匹配事件。

14.假定 PWMPR 寄存器的值为 PWMPR,则分频后的时钟计数频率计算如下:

 

 时钟计数频率=Fpclk/(PWMPR +1)

15.PWM基本寄存器功能框图: 
 

PWM编程基本操作步骤


16.PWM的比较匹配寄存器功能框图:
 
PWM编程基本操作步骤 

17.

PWM 基本操作方法:

★连接 PWM 功能管脚输出,即设置 PINSEL0、 PINSEL1;

设置 PWM 定时器的时钟分频值 (PWMPR),得到所要的定时器时钟;

设置比较匹配控制(PWMMCR),并设置相应比较值(PWMMRx);

设置 PWM 输出方式并允许 PWM 输出(PWMPCR)及锁存使能控制(PWMLER);

设置 PWMTCR,启动定时器,使能 PWM;

运行过程中要更改比较值时,更改之后要设置锁存使能。

    使用双边沿 PWM 输出时,建议使用 PWM2、 PWM4、 PWM6;使用单边 PWM 输出时,在 PWM 周期开始时为高电平,匹配后为低电平,使用 PWMMR0 作为 PWM 周期控制,PWMMRx 作为占空比控制。

上一篇:51单片机(二十七)—— 蜂鸣器播放音乐


下一篇:[RK3288][Android5.1] 调试笔记 --- 适配客户定制的红外遥控器