6552|12

71

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

ADS1115转换程序解说 [复制链接]

研究ADS1115一段时间了,终于搞定啦,其实操作还是蛮简单的,主要分为三部分的步骤,本次列子是模拟IIC操作的哦。。。。。
其实主要分为三部分,
第一部分:write config register
1   0x90   最后一位是R/W位,高为读,低为写
2  0x01    指向配置寄存器
3  开始设置配置寄存器的参数,根据自己的需要
第二部分:write to pointer register
1  0x90  同上
2  0x00  指向转换寄存器
第三部分:read conversion register
1 0x91  同上
2 应答转换寄存器的MSB
3 应答转换寄存器的LSB

具体程序如下:

//配置ads1115
void Confige1115 ()
{
    unsigned char  i;
    table[0] = 0x90;//CMD_Write;
    table[1] = 0x01;//指向配置寄存器
    table[2] = 0xc2;//设置配置寄存器的高八位1100 0101,即AINp=AIN0,AINn=GND;满量程FS=+-4.096;连续转换模式
    table[3] = 0xe3;//设置配置寄存器的低八位1100 0101,即
    start();//发送起始信号
    for(i=0;i<4;i++)
    {   
      shout(table);//将table里面的数写入ads1115
      delay(15);
    }
    stop();//发送停止信号
}
//指向ADS1115指针寄存器用于准备读取数据
void PointRegister (void)
{
    unsigned char i;
    table[0] = 0x90;//写指令
    table[1] = 0x00;//指针指向转换寄存器
    start();//发送起始信号
    for(i=0;i<2;i++)
    {
      shout(table);//将table里面的数写入ads1115
      delay(15);
    }
    stop();//发送停止信号
}
//读转换寄存器里面的值
uint read()
{  
    uint result,resulth,resultl;
    start();
    delay(10);
    shout(0x91); //读指令
    resulth = shin();  //高八位赋给resulth               
    resultl = shin(); //底八位赋给resultl
    stop();
    result=(resulth)<<8|resultl;//高八位右移8与上底八位组成16位result
    return result;   
}
//获取最终模数转换之后的结果
uint getad()
{
    uint value;
    Confige1115();  
    delay(20);
    PointRegister();
    delay(20);
    value=read();
    return value;
}
最后通过getad()读取转换的值即可

最新回复

请教您一个问题,你调通了吗?读数据的时候怎么读呢,如果只按手册上的配置输出的是7ffff啊,不知道怎么做了   详情 回复 发表于 2015-4-27 12:06
 
点赞 关注(1)

回复
举报

30

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

芯片手册里面有啊,不过楼主说的也不错

芯片手册里面有啊,不过楼主说的也不错
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
shout是什么内容····

点评

就是传说中的write_byte  详情 回复 发表于 2012-8-12 13:36
 
 
 

回复

29

帖子

0

TA的资源

一粒金砂(初级)

4
 
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(高级)

5
 

回复 板凳 hpy168888 的帖子

就是传说中的write_byte
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

6
 

1115的一些问题。

请问楼主,被测电压应接入AIN0到AIN3的哪一端?还有就是基准电压应接入哪里?感谢了感谢了!!!!

QQ截图20130811233459.jpg (69.86 KB, 下载次数: 1)

QQ截图20130811233459.jpg

点评

请教您一个问题,这个alert,接到哪里呢?还有读数据的时候怎么读呢,如果只按手册上的配置输出的是7ffff啊,不知道怎么做了  详情 回复 发表于 2015-4-27 12:05
还有就是我读出来的都是65535,其值都没有变过。  详情 回复 发表于 2013-8-11 23:38
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 6楼buyashenshi1993 的帖子

还有就是我读出来的都是65535,其值都没有变过。

点评

我也是,我看有人说1115没读到值的时候就输出的是满值  详情 回复 发表于 2013-8-13 23:12
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

8
 

回复 7楼buyashenshi1993 的帖子

我也是,我看有人说1115没读到值的时候就输出的是满值

点评

请教您一个问题,你调通了吗?读数据的时候怎么读呢,如果只按手册上的配置输出的是7ffff啊,不知道怎么做了  详情 回复 发表于 2015-4-27 12:06
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(初级)

9
 
收获良多  谢谢
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

10
 
现在在用这个ADS1115,有个问题,读取数据的时候不需要寄存器吗?所谓的MSB和LSB指的是多少?

点评

你说的对啊,我也分析这个问题呢,你解决了吗  详情 回复 发表于 2015-4-27 12:02
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(中级)

11
 
吴刚 发表于 2015-4-24 15:22
现在在用这个ADS1115,有个问题,读取数据的时候不需要寄存器吗?所谓的MSB和LSB指的是多少?

你说的对啊,我也分析这个问题呢,你解决了吗
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(中级)

12
 
buyashenshi1993 发表于 2013-8-11 23:37
请问楼主,被测电压应接入AIN0到AIN3的哪一端?还有就是基准电压应接入哪里?感谢了感谢了!!!!

请教您一个问题,这个alert,接到哪里呢?还有读数据的时候怎么读呢,如果只按手册上的配置输出的是7ffff啊,不知道怎么做了
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(中级)

13
 
偶尔瞌睡 发表于 2013-8-13 23:12
我也是,我看有人说1115没读到值的时候就输出的是满值

请教您一个问题,你调通了吗?读数据的时候怎么读呢,如果只按手册上的配置输出的是7ffff啊,不知道怎么做了
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表