ads1115使用方法

AC-DC/DC-DC转换

116人已加入

描述

   ADS1113.ADS1114 和ADS1115 是具有16 位分旁粹率的高精度模数转换器(ADC),采用超小型的无引线QFN-10 封装或MSOP-10 封装。ADS1113/4/5 在设计时考虑到了精度、功耗和实现的简易性。ADS1113 14 /5 具有- -个板上基准和振荡器。数据通过-一个12C 兼容型串行接[ ]进行传输; 可以选择4 个|2C 从地址。ADS1113 /4 15 采用2.0V 至5.5V 的单工作电源。以下将是ads1115的操作指引:

        ADS1115 的使用操作是IIC,主要分为三部分:

  第一部分: write config register

  1 0X90 最后一位是R/VW位,高为读,低为写

  2 0X01 指向配置寄存器

  3 开始设置配置寄存器的参数,根据自己的需要

  第二部分: write to pointer register

  1  0X90 同上

  2  OXOO 指向转换寄存器

  第三部分: 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[i]); //将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[i]);//将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()读取转换的值即可

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分