51单片机PCA模块配置

PCA模块是“可编程计数器阵列”的缩写,英文名称是“Programmable Counter Array”,以下的说明均以SILICON LAB生产的C8051系列微型控制器为例。

PCA包括1个16位“定时器/计数器”和5个“捕获/比较模块”。16位定时器/计数器包括1个高8位寄存器(PCA0H)和1个低8位寄存器(PCA0L),每个捕获/比较模块还有各自的16位“捕获/比较寄存器”。

PCA的定时器/计数器在运行时必须基于某个“基准时钟频率”,通过设置相应的寄存器,可以选择以下几种:

  1. 系统时钟频率
  2. 系统时钟频率的12分之一:f_osc/12
  3. 系统时钟频率的4分之一:f_osc/4
  4. 外部晶振时钟源频率的8分之一:external f_osc/8
  5. 由定时器/计数器0的溢出率所决定的频率
  6. 通过ECI输入管脚设定的外部时钟信号的频率

第一. 通过PCA的模式选择寄存器(PCA0MD)选择基准时钟频率,模式选择寄存器如下图

  • CIDL:设置PCA在CPU空闲模式下的模式
    CIDL=0:PCA在CPU空闲模式下继续工作
    CIDL=1:PCA在CPU空闲模式下停止工作
  • WDTE:设置看门狗模式
    WDTE=0:看门狗模式关闭
    WDTE=1:启动捕获/比较模块4作为看门狗定时器
  • WDLCK:看门狗锁定模式
    WDLCK=0:看门狗解除锁定
    WDLCK=1:看门狗被锁定,即看门狗有可能在下一次系统重置前不能屏蔽
  • CPS2、CPS1、CPS0:设置时钟基准频率
  • ECF:PCA定时器/计数器溢出中断使能标志
    ECF=0:PCA定时器/计数器溢出时不产生中断
    ECF=1:PCA定时器/计数器溢出标志位CF置1时产生中断

CPS2、CPS1、CPS0标志位配置表

第二. 通过PCA的控制寄存器(PCA0CN)可以对PCA的动作进行控制

  • CF:PCA定时器/计数器溢出标志位
    当PCA定时器/计数器溢出时,CF自定被硬件置1,此时如果PCA0MD中的ECF设置为1时,CPU执行中断处理。注意:中断处理结束后CF不能由硬件置0,必须由软件置0
  • CR:定时器/计数器启停标志位
    CR=0:定时器/计数器停止
  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值