- UID
- 1062083
- 性别
- 男
|
基于stm32f10 ADS1115芯片模转换器 数据采集系统
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液晶显示出来。
- #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "lcd.h"
- #include "usart.h"
- //#include "adc.h"
- #include "ads115.h"
- int main(void)
- {
- float t1;
- u16 t,result;
- delay_init(); //延时函数初始化
- NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
- uart_init(9600); //串口初始化为9600
- LED_Init(); //LED端口初始化
- LCD_Init();
- ADS1115_Init();
- POINT_COLOR=RED;//设置字体为红色
- LCD_ShowString(50,60,200,16,16,"Voltage1:00.000V");
- LCD_ShowString(50,80,200,16,16,"Voltage2:00.000V");
- LCD_ShowString(50,100,200,16,16,"Voltage3:00.000V");
- LCD_ShowString(50,120,200,16,16,"Voltage4:00.000V");
- //显示提示信息
- POINT_COLOR=BLUE;//设置字体为蓝色
- while(1)
- {
- //通道0
- result=lvbo(0xe3,0xc2);
- t1=4.096*2*result/65535; //转换成电压
- LCD_ShowxNum(122,20,result,5,16,0x80);
- t=t1;
- LCD_ShowxNum(122,60,t,2,16,0x80);
- result=(t1-t)*1000;
- LCD_ShowxNum(146,60,result,3,16,0x80);
- //delay_ms(5);
- //通道1
- result=lvbo(0xe3,0xd2);
- t1=4.096*2*result/65535; //转换成电压
- t=t1;
- LCD_ShowxNum(122,80,t,2,16,0x80);
- result=(t1-t)*1000;
- LCD_ShowxNum(146,80,result,3,16,0x80);
- //delay_ms(5);
- //通道2
- result=lvbo(0xe3,0xe2);
- t1=4.096*2*result/65535; //转换成电压
- t=t1;
- LCD_ShowxNum(122,100,t,2,16,0x80);
- result=(t1-t)*1000;
|
|
|