msp430f2618捕获方波

/*======================================================
程序名称:TIMERA_CAP
编者    :xxniuren
日期    :2013 7 31
程序目的:用TACCR0定时器来捕获脉宽 
========================================================*/
#include "msp430x26x.h"
#include "clock.h"
#include "12864.h"


#define uchar unsigned char
#define uint unsigned int
uint sum_L,sum_H,sum;//




void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  XT2_Init();
  init_LCD12864();
  P1DIR &= ~BIT1;                           //
  P1SEL |= BIT1;                           //INITIAL P1.1
  TACTL |= TASSEL_2 +MC_2 + TACLR ;  //16M


  TACCTL0 |= CM_1 + CCIS_0  + CAP + CCIE + SCS;   //rising edge capture
  _EINT();
  while(1)
  {
       sum = sum_L - sum_H;
       sum = (int)(16000000.0/sum);
       display_data(sum);
   }
}


#pragma vector = TIMERA0_VECTOR
__interrupt void TIMERA(void)
{  
      if(TACCTL0 & CM_1)
      {
        TACTL |= TACLR;
        TACCTL0 = ((TACCTL0 & (~CM_1))| CM_2);
        sum_H = TAR;
      }
      else if(TACCTL0 & CM_2)
      {
        TACCTL0 = (TACCTL0 & (~CM_2))|CM_1;
        sum_L = TAR;
      }

}


直接上程序   误差10k 有几十hz  需要程序加qq:705249212

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值