STC15W4K58S4 PCA模块的使用方式1:捕获模式

本文详细介绍了PCA模块在STC15W4K系列单片机中的应用,包括捕获功能扩展外部中断,以及如何设置CCAPMn和CCON寄存器以实现不同触发条件的中断处理。例题展示了如何配置PCA模块作为2路外部中断源并用LED指示状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 PCA模块的应用方式1:捕获模式-----用于扩展外部中断

部分内容摘自《51单片机轻松入门---基于STC15W4K系列》---李友全 编著                                                             

      

CCP/PCA/PWM模块,其实是一个模块,通过软件不同的设置可以实现不同的功能。

1.外中断(PCA模块的捕获功能,也就是扩展外部中断)

2.定时器(扩展一个外部定时器)

3.高速时钟输出

4.PWM脉宽调制

功能1:捕获功能,用于扩展外部中断

对于15W4K58S4单片机,它的PCA模块有两个,输出管脚分别是:

CCP0---P1.1

CCP1---P1.0

对于15W4K60S4 还要多出一个通道:

CCP2---P3.7

PCA模块的电路如图所示:

电路图的解读:

其中,红色标示的部分就是PCA模块中与捕获功能相关的寄存器位。

 是上升沿触发

 是下降沿触发

 是控制开关,也就是寄存器的控制位

上升沿和下降沿触发分别由两个开关控制,即寄存器中的控制位CAPPn和CAPNn。其中,CAPPn是正跳变(上升沿)捕获开关,CAPNn是负跳变(下降沿)捕获开关。

当开关闭合时,也就是寄存器的相应位设置为1时,如果管脚上有正跳变或是负跳变,则中断标志位被置位。此时,如果PCA中断开关闭合,即ECCFn=1(允许产生中断位置位),并且总中断EA=1,那么将产生捕获中断,程序将跳转到PCA中断服务子程序处,即interrupt 7处。

相关寄存器:

PCA比较/捕获寄存器CCAPMn

Bit

7

6

5

4

3

2

1

0

-

ECOMn

CAPPn

CAPNn

MATn

TOGn

PWMn

ECCFn

CAPPn:上升沿触发,即正跳变触发

0:禁止捕获正跳变

1:允许捕获正跳变

CAPNn:下降沿触发,即负跳变触发

0:禁止捕获负跳变

1:允许捕获负跳变

ECCFn:PCA中断允许位

0:禁止响应中断

1:允许响应中断

PCA控制寄存器CCON

Bit

7

6

5

4

3

2

1

0

CF

CR

-

-

-

CCF2

CCF1

CCF0

CCF2:PCA模块2中断标志位

CCF1:PCA模块1中断标志位

CCF0:PCA模块0中断标志位

注意,当响应中断时,这些标志位不会被硬件自动清除,需要由软件清零。

例题:利用PCA模块扩展2路外部中断

将P1.0(PCA通道1的外部输入)作为上升沿/下降沿都可触发的外部中断。当中断产生时对P0.0取反。

将P1.1(PCA通道0的外部输入)作为下降沿触发的外部中断,当中断产生时,对P0.1取反,P0.0/P0.1连接LED灯指示状态。

#include "STC15W4K.H"

sbit LED_PCA0=P0^1;

sbit LED_PCA1=P0^0;
void main(void)

{

 CCAPM0=0x11;  //0001 0001 CAPNn=1即下降沿触发中断,ECCFn=1允许PCA中断

 CCAPM1=0x31;  //0011 0001 CAPPn= CAPNn= 即上升沿下降沿均可触发中断

 EA=1;

 while(1);

}

//中断服务程序

void PCA(void) interrupt 7

{

  if(CCF0) //如果CCF0产生中断

  {

    LED_PCA0=!LED_PCA0;  //LED灯取反

    CCF0=0;  //PCA模块的中断标志位不会由硬件自动清除,需要软件清除

  }

 else if(CCF1) //如果CCF1产生中断

  {

     LED_PCA1=!LED_PCA1;

     CCF1=0;

  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值