专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

STC单片机PCA捕获中断函数

作者:佚名   来源:本站原创   点击数:  更新时间:2012年11月09日   【字体:
/***************************************************/
**函数名称:void PCA_Capture_Int();
**功能描述:PCA捕获中断函数,扩展32位计数
**说    明:中断发生后,计数器将32计数结果高位写入
/***************************************************/
void PCA_Capture_Int()
{//PCA捕获中断
    if(CR)
    {//如果计数器溢出
        PCA_0.Dou_L++;                 //模块0高位临时变量自加
        PCA_1.Dou_L++;                 //模块1高位临时变量自加
    }
    if(CCF0)
    {//如果模块0引脚接受中断
        CCF0 = 0;                      //清中断
        PCA_0.Match = CCAP0H;
        PCA_0.Match <<= 8;
        PCA_0.Match &= CCAP0L;         //低位保存
        PCA_0.Dou_H = PCA_0.Dou_L;     //高位保存
        PCA_0.Dou_L = 0;              //清空高位自加容器
    }
    if(CCF1)
    {//如果模块1引脚接受中断
        CCF1 = 0;                     //清中断
        PCA_1.Match = CCAP1H;
        PCA_1.Match <<= 8;
        PCA_1.Match &= CCAP1L;        //低位保存
        PCA_1.Dou_H = PCA_1.Dou_L;    //高位保存
        PCA_1.Dou_L = 0;              //清空高位自加容器
    }
}
关闭窗口

相关文章