基于stm32f10 ADS1115芯片模转换器 数据采集系统 源码

[复制链接]
查看16 | 回复0 | 2021-8-17 11:24:05 | 显示全部楼层 |阅读模式
1.png
ADS1115芯片介绍:

ADS1115 是具有 16 位分辨率的高精度模数转换器 (ADC),采用超小型的无引线 QFN-10 封装或 MSOP-10 封装。 ADS1115 在设计时考虑到了精度、功耗和实现的简易性。 ADS1115具有一个板上基准和振荡器。 数据通过一个 I2C 兼容型串行接口进行传输;可以选择 4 个 I2C 从地址。 ADS1115采用 2.0V 至 5.5V 的单工作电源。ADS1115能够以高达每秒 860 个采样数据 (SPS) 的速率执行转换操作。ADS1115 具有一个板上可编程增益放大器 (PGA),该 PGA 可提供从电源电压到低至 ±256mV 的输入范围,因而使得能够以高分辨率来测量大信号和小信号。 另外,ADS1115 还具有一个输入多路复用器 (MUX),可提供 2 个差分输入或 4 个单端输入。ADS1115可工作于连续转换模式或单触发模式,后者在一个转换完成之后将自动断电,从而极大地降低了空闲状态下的电流消耗。 ADS1115 具有-40℃ 至 +125℃ 的规定温度范围。
改源码设计是基于stm32f10芯片开发,将ADS1115采集到的数据正常的在tft液晶显示出来。

  1. int main(void)
  2. {      
  3.         float t1;
  4.     u16 t,result;
  5.         delay_init();                     //延时函数初始化         
  6.         NVIC_Configuration();          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  7.         uart_init(9600);                 //串口初始化为9600
  8.         LED_Init();                             //LED端口初始化
  9.         LCD_Init();                                
  10.     ADS1115_Init();
  11.         POINT_COLOR=RED;//设置字体为红色
  12.         LCD_ShowString(50,60,200,16,16,"Voltage1:00.000V");
  13.     LCD_ShowString(50,80,200,16,16,"Voltage2:00.000V");
  14.     LCD_ShowString(50,100,200,16,16,"Voltage3:00.000V");
  15.         LCD_ShowString(50,120,200,16,16,"Voltage4:00.000V");
  16.         //显示提示信息
  17.         POINT_COLOR=BLUE;//设置字体为蓝色
  18.         while(1)
  19.         {   
  20.                   //通道0
  21.                   result=lvbo(0xe3,0xc2);   
  22.                   t1=4.096*2*result/65535;     //转换成电压
  23.           LCD_ShowxNum(122,20,result,5,16,0x80);
  24.                     t=t1;
  25.                   LCD_ShowxNum(122,60,t,2,16,0x80);
  26.           result=(t1-t)*1000;
  27.                   LCD_ShowxNum(146,60,result,3,16,0x80);
  28.           //delay_ms(5);
  29.                   //通道1
  30.                   result=lvbo(0xe3,0xd2);   
  31.                   t1=4.096*2*result/65535;     //转换成电压
  32.           t=t1;
  33.                   LCD_ShowxNum(122,80,t,2,16,0x80);
  34.           result=(t1-t)*1000;
  35.                   LCD_ShowxNum(146,80,result,3,16,0x80);
  36.           //delay_ms(5);
  37.                   //通道2
  38.                   result=lvbo(0xe3,0xe2);   
  39.                   t1=4.096*2*result/65535;     //转换成电压
  40.           t=t1;
  41.                   LCD_ShowxNum(122,100,t,2,16,0x80);
  42.           result=(t1-t)*1000;
  43.                   LCD_ShowxNum(146,100,result,3,16,0x80);
  44.                   //delay_ms(5);
  45.                   //通道3
  46.                   result=lvbo(0xe3,0xf2);   
  47.                   t1=4.096*2*result/65535;     //转换成电压
  48.           t=t1;
  49.                   LCD_ShowxNum(122,120,t,2,16,0x80);
  50.           result=(t1-t)*1000;
  51.                   LCD_ShowxNum(146,120,result,3,16,0x80);
  52.           //delay_ms(100);
  53.         }
  54. }
复制代码
源码: ADS1115(stm32f10采集).zip (3.03 MB, 售价: 1 工控币)
1.jpg
回复

使用道具 举报

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

本版积分规则