5838|13

27

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

msp430g2553的有单通道程序,多通道怎么改 [复制链接]

5芯积分
求大神帮忙啊。。。。。
#include
#include "lcd12864.h"
float temp;
float voltage;
void main(void)
{
        unsigned char s2[] ={"MSP430GLAUNCHPAD"};
        WDTCTL = WDTPW+WDTHOLD; // 停止看门狗定时器
        P2SEL=0x00;//p2.6和p2.7管教默认的第一功能是外部晶体振荡器的接口,设置第二功能-通用IO口
        P2DIR |= BIT6+BIT7;//设置P2.6,P2.7位输出
        /*将内部DCO校准至1MHz*/
        BCSCTL1 |= CALBC1_1MHZ;
        DCOCTL |= CALDCO_1MHZ;
        BCSCTL2 |= SELM_0;//MCLK采用1M的内部DCO
        BCSCTL2 |= DIVS_2;//SMCLK采用250K的时钟
        Ini_Lcd();

        Disp_HZ(8, s2);
        ADC10AE0 |= BIT0;
        ADC10AE0|=0X1a;
        ADC10CTL0 |= SREF_1+REF2_5V+REFON+ADC10IE;//将AD10基准设置为2.5V 开启AD允许中断
        ADC10CTL0 |= ADC10SHT_0+MSC;//打开AD转换,过采样率设置为4个采样周期
        ADC10CTL1 |= ADC10SSEL_3+SHS_0;//选择250K的采样时钟,用ADC10SC触发采集
        ADC10CTL1 |= CONSEQ_2+INCH_0;//采样模式,通道0
        ADC10CTL0 |= ADC10ON;
        ADC10AE0  |= 0xFF;
        ADC10CTL0 |= ADC10SC+ENC;
        _EINT();//允许中断
        while(1)
        {
                float max[32];
                //float ma=0.;
                float dave=0;
                unsigned int i,j;
                //delay_ms(50);
                ADC10CTL0 |= ENC+ADC10SC;
                for(j=0;j<10;j++)
                {
                                temp = ADC10MEM;
                                max[j] = temp*25/10230;
                                dave += max[j]/10;
                }


                Disp_SZ1(16, (int)dave+'0');
                Disp_SZ1(17, '.');
                Disp_SZ1(18, (int)(dave*10)%10+'0');
                Disp_SZ1(19, (int)(dave*100)%10+'0');



        }
}
//AD中断服务程序
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR (void)
{
  __bic_SR_register_on_exit(LPM0_bits);//将SR里的CPUOFF位置0
}
//定时器输出单元
#pragma vector=TIMER0_A0_VECTOR
__interrupt void ta0_isr(void)
{
  TACTL = 0;
  __bic_SR_register_on_exit(LPM0_bits);//将SR里的CPUOFF位置0
}

最新回复

你是想用单通道 当多通道用吗?   详情 回复 发表于 2014-8-23 15:23
 
点赞 关注

回复
举报

27

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
这是AD采集的程序

点评

你是想用单通道 当多通道用吗?  详情 回复 发表于 2014-8-23 15:23
 
 

回复

2781

帖子

419

TA的资源

五彩晶圆(中级)

板凳
 

点评

这个签名好高级  详情 回复 发表于 2014-8-10 22:04
 
个人签名
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

4
 
看你这样不像希望实现是芯片手册上描述的“多通道”。
先看手册:
查看详情
查看详情
中文版539-542页,英文版540-543页。你确信是要使用这样的“多通道”?
我之前使用过的是两路通道交替采样转换(或者多通道交替采样转换),使用的是“单通道单次转换模式”,然后转换完成再换另外一路。
需要注意的是中文手册553页,英文手册555页,只有当ENC=0 时,ADC10CTL1中的第15-12位(INCHx 输入通道选择)才能被修改。而每次转换完毕ENC是=1的。

点评

我意思是,几个引脚一起采集模拟信号  详情 回复 发表于 2014-8-11 11:18
 
 
 

回复

172

帖子

3

TA的资源

一粒金砂(中级)

5
 
qinkaiabc 发表于 2014-8-10 21:28
http://blog.sina.com.cn/s/blog_6cd2030b01017x74.html

这个签名好高级
 
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

6
 
本帖最后由 qiushenghua 于 2014-8-11 10:24 编辑

重复发帖,此楼删除。
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

7
 
这是我的ADC10单通道转换32次的程序,调试来可以用的!

ADC10单通道多次.zip

32.72 KB, 下载次数: 15

售价: 2 分芯积分  [记录]

 
 
 

回复

27

帖子

0

TA的资源

一粒金砂(中级)

8
 
还是不能用啊
 
 
 

回复

27

帖子

0

TA的资源

一粒金砂(中级)

9
 
qiushenghua 发表于 2014-8-10 21:41
看你这样不像希望实现是芯片手册上描述的“多通道”。
先看手册:
http://www.ti.com.cn/cn/lit/ug/zhcu0 ...

我意思是,几个引脚一起采集模拟信号
 
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

10
 
本帖最后由 qiushenghua 于 2014-8-12 11:59 编辑
  1. while(1)
  2. {
  3. ADC10CTL1 = CONSEQ_2+INCH_0;//采样模式,通道0
  4. ADC10CTL0 |= ENC+ADC10SC;
  5. LPM0;
  6. temp = ADC10MEM;
  7. ADC10CTL0 &= ~ENC;
  8. ADC10CTL1 = CONSEQ_2+INCH_1;//采样模式,通道1
  9. ADC10CTL0 |= ENC+ADC10SC;
  10. LPM0;
  11. temp = ADC10MEM;
  12. ADC10CTL0 &= ~ENC;
  13. ADC10CTL1 = CONSEQ_2+INCH_2;//采样模式,通道2
  14. ADC10CTL0 |= ENC+ADC10SC;
  15. LPM0;
  16. temp = ADC10MEM;
  17. }
复制代码
 
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

11
 
楼上的代码漏了点东西,不知道你看出来没有,如果用这个代码,通道0将不能持续采样。
 
 
 

回复

447

帖子

0

TA的资源

纯净的硅(中级)

12
 
我用的是msp430f5438,芯片配的是ADC12

我将ADC12CTL0 |= ADC12SC;放到while(1)中,你参考下吧
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(初级)

13
 
单通道单次采集,每次切换通道,可采集多个单通道,或采用多通道单次采集,需要用到DTC
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(初级)

14
 
Asure1008 发表于 2014-8-10 21:24
这是AD采集的程序

你是想用单通道 当多通道用吗?
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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