打印
[经验分享]

可编程计数阵列PCA (转)

[复制链接]
4813|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangwo|  楼主 | 2009-12-10 22:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PCA概述    PCA就是一个定时器(计数器),和一般定时器原理相似:当PCA被使能则PCA由初值开始定周期累加,然后读取PCA的值。我们通常的做法是比较PCA是否等于我们提前设定的定时标志寄存器的值,如果相等,则定时时间到。PCA也是这样,不过PCA已经给我们准备好了定时标志寄存器,也已经做好了比较机制,不再需要我们在程序中添加比较语句。
    PCA是一个16位定时器,它有5个定时标志寄存器(CCAPnH+CCAPnL,n=0,1,2,3,4),把PCA划分成5个定时模块,这5个模块分别有一个单片机引脚与之对应。与标准的定时器/计数器相比,PCA对CPU 的干扰小,定时更精确,减少了软件设计。
二 PCA相关寄存器
    1.CMOD:PCA模式选择寄存器
7
6
5
4
3
2
1
0
CIDL
WDTE
-
-
-
CPS1
CPS0
ECF
CIDL:0-单片机空闲模式PCA工作;1-单片机空闲模式PCA不工作
WDTE:0-定时模块4禁用看门狗;1-定时模块4启用看门狗
CPS1,CPS0:PCA定时频率选择位(具体请看DATASHEET)
ECF:1-使CF为1时会产生中断
2.CCON:PCA控制寄存器
7
6
5
4
3
2
1
0
CF
CR
-
CCF4
CCF3
CCF2
CCF1
CCF0
CF:PCA定时2BYTE溢出标志,当CF变高时,PCA会产生溢出中断,CF位必须软件清零,前提是ECF对CF使能
CR:PCA启停位,0-停止PCA计数,1-启动PCA计数
CCFn(n=0,1,2,3,4):当PCA某个模块检测到PCA定时器的值和自己的定时标志寄存器的值相等时,对应的CCFn会被硬件置位, CCFn必须软件清零,前提是对应的MAT对CCF使能
3.CCAPMn:PCA比较模式选择寄存器(n=0,1,2,3,4)
7
6
5
4
3
2
1
0
-
ECOM
CAPP
CAPN
MAT
TOG
PWM
ECCF
ECOM:0-关闭比较功能;1-打开比较功能
CAPP:1-PCA的下降沿捕捉定时器的值
CAPN:1-PCA的上升沿捕捉定时器的值(当CAPP和CAPN都为1时,上升沿和下降沿都捕捉)
MAT:1-使能定时时间与定时标志寄存器相等时CCF由硬件置位的功能
TOG:1-使能定时时间与定时标志寄存器相等时,该模块对应的管脚输出高电平的功能
PWM:1-脉宽调制功能打开;0-脉宽调制功能关闭
ECCF:1-使当CCF=1时可以产生中断
4.CCAPnH, CCAPnL (n=0,1,2,3,4):PCA定时标志寄存器
5.CH,CL:PCA定时寄存器
6.CEXn (n=0,1,2,3,4):与各模块相关的单片机引脚
三 PCA基本功能
PCA基本功能有5种:捕捉功能、16位软件定时器功能、高速输出功能、脉冲宽度调制功能PWM和看门狗功能,其中看门狗功能只有模块4支持,具体说明如下:
1.捕捉功能:
选择方法:ECCF=1
功能介绍:当给所用模块相应的管脚改变时,PCA会将当前定时器中的值捕捉到用户的定时标志寄存器中,捕捉后该模块的CCFn会被硬件置位,同时产生中断。
2.16位软件定时器功能:
       选择方法:ECOM=1;ECCF=1;MAT=1
       功能介绍:定时器值和定时标志寄存器的值相等时会有中断产生
3.高速输出功能:
选择方法:ECOM=1;TOG=1;MAT=1 ECCF=1
功能介绍:定时器值和定时标志寄存器的值相等时该模块相应的管脚上有触发产生(高电平)。
4.脉冲宽度调制功能:
选择方法:ECOM=1;PWM=1
功能介绍:此功能通过比较定时器的低字节和定时标志寄存器的低字节来在模块相应的管脚上输出PWM调制电平,当CL < CCAPnL 时输出值为低,当CL >= CCAPnL 时,输出值为高。
5.看门狗功能
选择方法:ECOM=1;MAT=1;TOG=1;WDTE=1
功能介绍:定时器值和定时标志寄存器的值相等时,看门狗产生复位。用户可以周期性改变CCAP4H和CCAP4L防止定时器值和定时标志寄存器的值相等,从而防止复位。此功能只有模块4可以使用。
四 注
       本文中的寄存器只有CCON可以位寻址,其他都不支持!
       本文所参考单片机为P89C66X!
沙发
Karlshen| | 2009-12-11 21:46 | 只看该作者
还是原版好看

使用特权

评论回复
板凳
lovelyegle| | 2009-12-12 21:49 | 只看该作者
楼主真勤快

使用特权

评论回复
地板
suoma| | 2009-12-12 22:32 | 只看该作者
好,顶了!

使用特权

评论回复
5
huamunv| | 2009-12-14 20:36 | 只看该作者
PCA就是一个定时器,:lol知道了

使用特权

评论回复
6
wenbaizhi| | 2011-8-25 11:23 | 只看该作者
不错的东西··顶

使用特权

评论回复
7
renyaq| | 2011-8-25 16:30 | 只看该作者
都久得东东了

使用特权

评论回复
8
liangzhi213| | 2013-10-30 13:00 | 只看该作者
那用作捕捉时与定时有什么关系?是否不用开pca定时器?是否六个pca可同时用作捕捉模式?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

806

帖子

2

粉丝