6641|17

151

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

利用launchpad内部比较器实现电阻测量仪的程序 [复制链接]

这两天在做电阻测量仪,规定用430g2553内部的比较器去做,我把那节的内容全看了,也有了理解,但是到了写程序的时候,发现了很多问题,主要是比较器、定时器、捕获还有其中断的应用。现在头都大了,还望哪位做过的高人给个程序参考参考!或是有这方面的兴趣的朋友也去试试,在此先感谢各位了!

最新回复

程序有错啊  详情 回复 发表于 2012-8-20 11:19
 
点赞 关注

回复
举报

134

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

遇到同样的问题了。

朋友,我最近也在纠结这个问题,不知道你的进展怎么样。就是关于怎么把比较器输出提供给定时器捕获输入。

点评

对啊!就是这个的问题,我也没弄懂  详情 回复 发表于 2012-7-25 16:56
 
 

回复

151

帖子

0

TA的资源

纯净的硅(初级)

板凳
 

回复 沙发 abclixu123 的帖子

对啊!就是这个的问题,我也没弄懂

点评

我刚才突然弄出来了,原来只要设置定时器把捕获选择CCI1B就是了,自然就可以把比较器的输出实现捕获了。难怪关于比较器的寄存器里面没有设置这方面的东西,你看用户手册里面的那个实现检测电阻的那个图它那里画的就  详情 回复 发表于 2012-7-25 17:10
 
 
 

回复

134

帖子

0

TA的资源

一粒金砂(中级)

4
 

回复 板凳 lpmrzx 的帖子

我刚才突然弄出来了,原来只要设置定时器把捕获选择CCI1B就是了,自然就可以把比较器的输出实现捕获了。难怪关于比较器的寄存器里面没有设置这方面的东西,你看用户手册里面的那个实现检测电阻的那个图它那里画的就是CCI1B。

点评

朋友,还是没明白,方便把你的程序发给我参考下吗?  详情 回复 发表于 2012-7-25 18:20
 
 
 

回复

151

帖子

0

TA的资源

纯净的硅(初级)

5
 

回复 4楼 abclixu123 的帖子

朋友,还是没明白,方便把你的程序发给我参考下吗?

点评

int main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF) {  详情 回复 发表于 2012-7-25 19:20
 
 
 

回复

134

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 5楼 lpmrzx 的帖子

int main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)                                    
  {  
    while(1);                               // If calibration constants erased
                                          // do not load, trap CPU!!
  }
  //1Mhz
  BCSCTL1 = CALBC1_1MHZ;                    // Set range
  DCOCTL = CALDCO_1MHZ;                     // Set DCO step + modulation */
  
  P1DIR |= BIT6;
  //比较器设置
  CACTL1 = CAON + CAIES + CAIE;          //打开比较器 比较器中断 下降沿触发中断
  CACTL2 = P2CA4 + P2CA2 + CAF;    // 一个选择CA1 P1.1 正输入端 一个选择CA2 P1.2 负输入端
  
  //捕获的设置
  P2SEL |= BIT2;    //CCI1B 输入
  TA1CCTL1 |= CM_2 + CCIS_1 + SCS + CAP + CCIE;
  TA1CTL |= TASSEL_2 + MC_2 + TAIE;
  _BIS_SR(LPM0_bits + GIE);
     
}

#pragma vector = TIMER1_A1_VECTOR
__interrupt void TimerCapture(void)
{
  static uint16_t oldtime;
  uint16_t  temp, newtime;
   
if(CACTL2 & CAOUT)
{
   P1OUT |= BIT6;
  }
  else
{
    P1OUT &= ~BIT6;
}
}

点评

请问下是什么比赛?  详情 回复 发表于 2012-7-27 11:10

赞赏

1

查看全部赞赏

 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

7
 
我是菜鸟,还没搞清比较器的寄存器,哪位大神给发一下?
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

8
 
CACTL2 = P2CA4 + P2CA2 + CAF;    // 一个选择CA1 P1.1 正输入端 一个选择CA2 P1.2 负输入端
为什么 P2CA4 对应CA1 P1.1端?

点评

你自己去看数据手册,比较器那一张,还有把比较器的结构图好好看看你就明白了  详情 回复 发表于 2012-7-27 12:31
 
 
 

回复

50

帖子

0

TA的资源

一粒金砂(中级)

9
 

回复 6楼 abclixu123 的帖子

请问下是什么比赛?
 
 
 

回复

151

帖子

0

TA的资源

纯净的硅(初级)

10
 

回复 8楼 yiwusuorao 的帖子

你自己去看数据手册,比较器那一张,还有把比较器的结构图好好看看你就明白了
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

11
 
还是不懂,那个数据是430g2553的中文资料吗?我没有找到比较器的结构图
 
 
 

回复

151

帖子

0

TA的资源

纯净的硅(初级)

12
 
不是中文资料的那个,是这个:msp430x2xx+user+guider   你到网上搜一下,就是用户指南,
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

13
 
果断的顶
 
 
 

回复

38

帖子

0

TA的资源

一粒金砂(中级)

14
 
顶!!!
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(中级)

15
 
你好!这个程序是错的,一旦进入程序,不管比较器是否输出的是低电平还是高电平,都在产生中断,并且始终在中断。
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

16
 

回复 楼主 chenqizhou8 的帖子

有模拟比较器 控制寄存器详解么??
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

17
 
UP~~~
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

18
 
程序有错啊
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表