打印
[PIC®/AVR®/dsPIC®产品]

测的频率是乱的

[复制链接]
824|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liuzaiy|  楼主 | 2023-5-11 19:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
高手看看,我这个程序中断可以进入,就是测的频率是乱的。单片机PICF18F65J90
==============================================================================//
//                                            CCP1中断处理函数
//                     CCP1扑捉工作于4M晶振
//===================================================================================//                                                     
void interrupt low_priority  CCP1int(void)  
{ if(!PIR3bits.CCP1IF)
     {PIE3bits.CCP1IE=1;
      GIEL=1;
          return;
         }
  if(CCP1gdflag)
     {CCP1CON=0x04;                                        //下降沿捕捉
      TMR1ON=0;                                          //定时器处理
      TMR1IF=0;
      TMR1H=0x00;
      TMR1L=0x00;                                                             //定时器延时
      TMR1ON=1;                                          //重开定时器     
      CCP1gdflag=0;
     
     }
  else
     {dy_cj.adre[0]=CCPR1L;
      dy_cj.adre[1]=CCPR1H;
      CCP1intflag=1;
  
     }
  PIR3bits.CCP1IF=0;            
  PIE3bits.CCP1IE=1;
}
void main(void)
{ CCP1CON=0x05;                                                               //上升沿捕捉
      
      CCP1gdflag=1;                                                             //上升沿标识位
      CCP1intflag=0;                                                            //下降沿中断标识位,置1表示产生了中断
      PIE3bits.CCP1IE=1;
      GIEL=1;GIEH=1;   
      
      loop=1000;
      while(--loop>0)
          {delayms(1);asm("clrwdt");
           if(CCP1intflag) break;
          }                                                                            //等待一次测量结束
      PIE3bits.CCP1IE=0;
      GIEL=0;GIEH=0;
      TMR1ON=0;                                                                 //定时器处理
      TMR1IF=0;
      TMR1H=0x00;
      TMR1L=0x00;
}   

使用特权

评论回复
沙发
guijial511| | 2023-5-11 20:05 | 只看该作者
仿真器跟一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

735

主题

7546

帖子

2

粉丝