|
void PCA_isr() interrupt 7 using 1
{//PCA中断入口函数
CCF0 = 0; //PCA模块0清除中断
PCA_LED = !PCA_LED; //LED灯反向,确认一个中断产生
}
void main()
{//主程序
CCON = 0; //关闭PCA计数器CR,清除PCA计数中断溢出CF,清除模块0、1中断标记
CL = 0; //重置PCA计数器值低位
CH = 0; //重置PCA计数器值高位
CMOD = 0x00; //设置PCA计数器工作在12T模式,关闭PCA计数溢出中断使能ECF
CCAPM0 = 0x11; //模块0设置为负捕获模式,开捕获中断ECCF0
//CCAPM0 = 0x21; //模块0设置为正捕获模式,开捕获中断ECCF0
//CCAPM0 = 0x31; //模块0设置为双向捕获模式,开捕获中断ECCF0
CR = 1; //PCA时钟开始计数(只计数,不产生计数溢出中断)
EA = 1; //开总中断
while (1); //反死机循环
}
|
评分
-
查看全部评分
|