pic ccp捕捉

void init_timer1(void)//定时器1作为ccp1捕捉的计数基本                                       timer1
{

    //分频 1:8; T1OSCEN disabled; nT1SYNC synchronize; 时钟 FOSC/4; TMR1ON off; 
T1CON = 0x30;  TMR1H = 0x00; TMR1L = 0x00;
        PIR1bits.TMR1IF = 0;
        T1CONbits.TMR1ON = 1;   // Start TMR1
}

void init_ccp1(void)//                                                                         ccp需要timer1 

{

CCP1CON = 0x04;    
CCPR1L = 0x00;    
CCPR1H = 0x00;    
PIR1bits.CCP1IF = 0;
PIE1bits.CCP1IE = 1;

}

if(CCP1IF==1)  //中断处理函数
{

unsigned int temp;

CCP1IF=0;

temp = CCPR1H;
temp = (temp << 8) + CCPR1L;
if(temp > RPM_bef)
RPM_data = temp - RPM_bef; //T1没有溢出
else
RPM_data = 0xffff - RPM_bef + temp; //T1溢出
RPM_No2++;
RPM_data = (RPM_data >> 1)+(time_bef >> 1);
RPM_bef  = temp;
time_bef = RPM_data;
RPM_m=  time_bef*60/DJJS;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值