找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8213|回复: 0
打印 上一主题 下一主题
收起左侧

MSP430F169定时器捕获模式

[复制链接]
跳转到指定楼层
楼主
ID:82083 发表于 2015-6-6 23:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      当TACCTLx中的CAP为1时进入捕获模式
      MSP430F169支持三种捕获模式由TACCTLx中的CM_x控制
      x=0:不捕获  x=1:上升沿捕获 x=2:下降沿捕获  x=3:上升下降沿都捕获
     有四种捕获来源由TACCLx中的CCIS_x控制
      x=0:CCIxA x=1:CCIxB x=2:GND x=3 :VCC
     可以与定时时钟同步捕获也可以异步捕获由TACCTLx中的SCS控制
     0:异步捕获  1:同步捕获
     TACCTLx中的SCCI和CCI可以查询输入的电平高低,区别是CCI是捕获输入的瞬时值,而SCCI为经时钟同步后锁存的捕获值.
     捕获模式有两个中断源TACCR0和TAIV,其中TACCR0是一个单元中断,TAIV为多元中断,均为可屏蔽中断,由SR中的GIE控制
      当TACCTLx中的CCIE置位时捕获中断使能,中断标志位为TACCTLx中的CCIFG。
      TACCTL0控制的TACCR0中断向量为TIMERA0_VECTOR,中断服务之后CCIFG由硬件自动清零。
      TACCTL1,TACCR2控制下的TACCR1,TACCR2和Timer overflow 中断公用TAIV中断,中断为TIMERA1_VECTOR,中断同时发生时较高优先级的中断标志自动清零,然后进入低优先级中断。
中断优先级TACCR1最高,Timer overflow最低。中断标志分别为CCIFG CCIFG TAIFG。
#include
unsigned int cap=0;
void main()
{
  WDTCTL=WDTPW+WDTHOLD;
P1SEL=0X02;
P2DIR=0X01;
BCSCTL1=DIVA_3;
CCTL0=CM_1+SCS+CCIS_0+CAP+CCIE;

TACTL=TASSEL_2+MC_2;
_BIS_SR(LPM0_bits+GIE);
}
#pragma vector=TIMEA0_VECTOR     __interrupt void TimerA0(void)
{cap=TACCR0;}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表