ex7-4c.c

来自「《增强型8051单片机实用开发技术》例程代码」· C语言 代码 · 共 35 行

C
35
字号
#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 + =
减小字号Ctrl + -
显示快捷键?