STC15F2K60S2的脉冲捕获应用
1.PCA工作模式寄存器CMOD
PCA工作模式寄存器的格式如下:
CMOD:PCA工作模式寄存器
SFR name |
Address |
bit |
B7 |
B6 |
B5 |
B4 |
B3 |
B2 |
B1 |
B0 |
CCON |
D9H |
name |
CIDL |
- |
- |
- |
CPS2 |
CPS1 |
CPS0 |
ECF |
CIDL:空闲模式下是否停止PCA计数的控制位。
当CIDL=0时,空闲模式下PCA计数器继续工作;
当CIDL=1时,空闲模式下PCA计数器停止工作。
CPS2、CPS1、CPS0:PCA计数脉冲源选择控制位。PCA计数脉冲选择如下表所示。
CPS2 |
CPS1 |
CPS0 |
选择PCA/PWM时钟源输入 |
0 |
0 |
0 |
0,系统时钟,SYSclk/12 |
0 |
0 |
1 |
1,系统时钟,SYSclk/2 |
0 |
1 |
0 |
2,定时器0的溢出脉冲。由于定时器0可以工作在T1模式,所以可以达到记一个时钟就溢出,从而达到最高频率CPU工作时钟SYSclk,通过改变定时器0的溢出率,可以实现可调频率的PWM输出 |
0 |
1 |
1 |
3,ECI/P1.2(或P4.1)脚输入的外部时钟(最大速率=SYSclk/2) |
1 |
0 |
0 |
4,系统时钟,SYSclk |
1 |
0 |
1 |
5,系统时钟/4,SYSclk/4 |
1 |
1 |
0 |
6,系统时钟/6,SYSclk/6 |
1 |
1 |
1 |
7,系统时钟/8,SYSclk/8 |
例如,CPS2/CPS1/CPS0=1/0/0时,PCA/PWM的时钟源是SYSclk,不用定时器0,PWM的频率为SYSclk/256
如果要用系统时钟/3来作为PCA的时钟源,应让T0工作在1T模式,计数3个脉冲即产生溢出。输出14K~19K频率的PWM。用T0的溢出可对系统时钟进行1~256级分频。
ECF:PCA计数溢出中断使能位。
当ECF=0时,禁止寄存器CCON中CF位的中断。
当ECF=1时,允许寄存器CCON中CF位的中断。
2.PCA控制寄存器CCON
PCA控制寄存器的格式如下:
CCON:PCA控制控制寄存器
SFR name |
Address |
bit |
B7 |
B6 |
B5 |
B4 |
B3 |
B2 |
B1 |
B0 |
CCON |
D8H |
name |
CF |
CR |
- |
- |
- |
- |
CCF1 |
CCF0 |
C