STC15W401AS系列单片机CCP/PWM/DCA寄存器介绍笔记(持续更新)


开门见山

CCP:compare/ capture/ PWM,即比较,捕获,PWM

PWM:Pulse Width Modulation,脉冲宽度调制

PCA:Programmable Counter Array,可编程计数器阵列

三者的关系:PCA包括多个计数器和比较器,可以通过编程实现CCP的功能,而CCP的功能包含了输出PWM的功能。


以下是寄存器表及手册搬运。

  • CMOD(CCP Mode)PCA工作模式寄存器CIDL:空闲模式是否停止PCA计数。0,继续工作;1,停止计数。
  •         CPS2、CPS1、CPS0:PCA计数脉冲源选择控制位。PCA计数脉冲选择如下表所示。

            如:当CPS2,CPS1,CPS0配置为1,0,0时,即100模式,直接使用系统时钟作为时钟源,PWM频率为:$$Freq_{pwm} = \frac{SYSclk}{256} $$

            使用定时器0,即010模式,可以通过改变溢出脉冲值来对SYSclk实现1~65536任意分频

            ECF:PCA计数溢出中断使能 。 当ECF = 0时,禁止寄存器CCON中CF位的中断; 当ECF = 1时,允许寄存器CCON中CF位的中断。

  • CCON(PCA控制寄存器)
  • CF:PCA计数器阵列溢出标志位。当PCA计数器溢出时,CF由硬件置位。如果CMOD寄存器的ECF位置位,CF标志可用来产生中断。CF位可通过硬件或软件置位,但只可通过软件清零。所以在调用相应中断函数后,手动清除置位。

    CR:PCA计数器阵列运行控制位。软件控制, 置位,启动PCA计数器阵列计数。清零,关闭PCA计数器阵列计数。

    CCF2:PCA模块2中断标志。当出现匹配或捕获时该位由硬件置位。该位必须通过软件清零。

    CCF1:PCA模块1中断标志。当出现匹配或捕获时该位由硬件置位。该位必须通过软件清零。

    CCF0:PCA模块0中断标志。当出现匹配或捕获时该位由硬件置位。该位必须通过软件清零。


  • PCA比较/捕获寄存器CCAPM0、CCAPM1和CCAPM2
  • ECOM0:允许比较器功能控制位,当ECOM0=1时,使能比较器功能。

    CAPP0:正捕获控制位,当CAPP0=1时,允许上升沿捕获。

    CAPN0:负捕获控制位,当CAPN0=1时,允许下降沿捕获。

    MAT0: 匹配控制位,当MAT0=1时,PCA计数值与模块的比较/捕获寄存器的值的匹配将置位CCON寄存器的中断标志位CCF0。

    TOG0: 翻转控制位 当TOG0=1时,工作在PCA高速脉冲输出 PCA计数器的值与模块的比较/捕获 寄存器的值的匹配将使CCP0脚翻转。

    PWM0: 脉宽调节模式。 当PWM0=1时, CCP0脚用作脉宽调节输出。

    ECCF0: 使能CCF0中断。使能寄存器CCON的比较/捕获标志CCF0,用来产生中断。

     

    CCP1,CCP2不再介绍


  • PCA装载值,CL和CH
  •  PCA捕捉/比较寄存器
  • PWM寄存器
  •  AUXR1 (重映射管理寄存器)
  • 注:输出多路PWM波时,只可以用以下几种组合:

    CCP_S1 CCP_S0 CCP0 CCP1 CCP2
    0 0 P11 P10 P37
    0 1 P35 P36 P37
    1 0 P25 P26 P27
    1 1 无效
  • PCA结构图
  • 每个CCP模块可编程工作在4种模式下:上升/下降沿捕获、软件定时器、高速脉冲输出、可调制脉冲宽度输出

    物联沃分享整理
    物联沃-IOTWORD物联网 » STC15W401AS系列单片机CCP/PWM/DCA寄存器介绍笔记(持续更新)

    发表评论