📄 ex7-4c.c
字号:
#include "stc12c5a.h" //包含STC12C5A60S2寄存器定义文件
sbit LED_PCA0=P1^5;
sbit LED_PCA1=P1^6;
void main (void)
{
CMOD=0x80; //空闲模式下停止PCA 计数器工作
//PCA 时钟源为fOSC/12,禁止PCA 计数器溢出时中断
CCON=0; //清0 PCA计数器溢出中断请求标志位CF
//CR = 0, 不允许PCA计数器计数
//PCA各模块中断请求标志位CCFn清0
CL=0; //PCA 计数器清0
CH=0;
CCAPM0=0x11; //设置PCA模块0下降沿触发捕捉功能
CCAPM1=0x31; //设置PCA模块1上升/下降沿均可触发捕捉功能
EA=1; //开整个单片机所有中断共享的总中断控制位
CR=1; //启动 PCA 计数器(CH,CL)计数
while(1); //等待中断
}
void PCA_ISR(void) interrupt 7 //PCA中断服务程序
{
if(CCF0) //PCA模块0中断服务程序
{
LED_PCA0=!LED_PCA0; // LED_PCA0取反,表示PCA模块0发生了中断
CCF0=0; //清PCA模块0中断标志
}
else if(CCF1) //PCA模块1中断服务程序
{
LED_PCA1=!LED_PCA1; // LED_PCA1取反, 表示PCA模块1发生了中断
CCF1=0; //清PCA模块1中断标志
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -