[其它应用] adc的采集

[复制链接]
1598|19
 楼主| tian111 发表于 2022-11-5 20:48 | 显示全部楼层 |阅读模式
adc的采集,程序代码如下图所示。采集了50次数据。但是发现波动比较大。
zwll 发表于 2022-11-5 20:51 | 显示全部楼层
是不是本来这个芯片的精度就是这样
 楼主| tian111 发表于 2022-11-5 20:53 | 显示全部楼层
不是吧,是不是有的地方做的不合适,还有改进的地方?
stly 发表于 2022-11-5 20:55 | 显示全部楼层
程序和数据看看
 楼主| tian111 发表于 2022-11-5 20:57 | 显示全部楼层

#include<SH79F083.h>
#define   uint  unsigned int
#define uchar unsigned char
uint adc[50];
void main()
{
         uint  i,adc_data;
   uchar abc;
     
  adc_data=0;
      abc=0;
         ADCON        =        0x80;      
         ADT          =        0xeF;        
           ADCH         =  0x01;               
      
        for(i=0;i<250;i++);
     while(1)
     {
   
           ADCON       |=  0x01;        
           while(ADCON&0x01);
     adc=(ADDH<<2)+ADDL;
           i++;
     if(i>50)i=0;

jiajs 发表于 2022-11-5 21:03 | 显示全部楼层
采集了50次数据。但是发现波动比较大。很有可能是信号里的噪声的问题.
juventus9554 发表于 2022-11-5 21:05 | 显示全部楼层
采集了50次数据。但是发现波动比较大。很有可能是信号里的噪声的问题.
zwll 发表于 2022-11-5 21:07 | 显示全部楼层
嗯,从楼主的数据中看, 也是局部的振铃信号
dingy 发表于 2022-11-5 21:09 | 显示全部楼层
是的,非常可能是属于噪声的因素
 楼主| tian111 发表于 2022-11-5 21:11 | 显示全部楼层
谢谢大师指点,如果是噪声的因素,我又何处入手能进行改进呢???
renyaq 发表于 2022-11-5 21:14 | 显示全部楼层
用去最大最小平均值滤波试一下
yszong 发表于 2022-11-5 21:16 | 显示全部楼层
这个应该不是你的精度的问题了,可以减少采样时间,多次采集取平均值,找可能的干扰源了
chuxh 发表于 2022-11-5 21:18 | 显示全部楼层
是增大采样时间间隔
heweibig 发表于 2022-11-5 21:20 | 显示全部楼层
用示波器测量下adc采集入口处的电压,看是否有噪音(纹波),注意耐心的一级一级跟踪寻找。
jlyuan 发表于 2022-11-5 21:22 | 显示全部楼层
在看看有没有硬件滤波电路
dingy 发表于 2022-11-5 21:24 | 显示全部楼层
确认下使用的电阻,电容的精度
heweibig 发表于 2022-11-5 21:25 | 显示全部楼层
在看看你选的参考电压,adc 配置是否正确
stly 发表于 2022-11-5 21:29 | 显示全部楼层
软件做个数据滤波平滑处理
supernan 发表于 2022-11-5 21:31 | 显示全部楼层
参考电压稳定吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

797

主题

8878

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部