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_S1CCP_S0CCP0CCP1CCP2
00P11P10P37
01P35P36P37
10P25P26P27
11无效

  • PCA结构图

每个CCP模块可编程工作在4种模式下:上升/下降沿捕获、软件定时器、高速脉冲输出、可调制脉冲宽度输出

  • 47
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Crkylin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值