求助关于ADS1232的复位使用问题

2020-01-27 11:29发布

请教各位大虾:
有谁玩过ADS1232?我现在有个问题,每次复位后,读数都不一样,比如这次复位后,读数是123.47,传感器不动,读数不变,但是关掉电源,传感器维持现状,重新启动后,读数就是145.35,每次重新复位后,就变了,主芯片是STC10F08XE,看了网上的ADS1232使用笔记,说是在复位后,设置参数前(GAIN,SPEED等参数),要将PDWN置低,然后设置参数,参数设置好后,然后将PDWN拉高,这样就好了,但是我的板子GAIN,SPEED这些参数都是由板子固定的,就是直接接地了,并不用我代码设置,此时如何复位呢?我在复位后,用代码先将PDWN置低,然后延时一段时间,再将PDWN拉高,无效。
急,谢谢!

部分原理图如下,ADS1232只有PDWN,DOUT,SCLK是连接在单片机芯片上由自己控制的。

ADS1232部分原理图 (原文件名:ADS1232.jpg)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
44条回答
aidby2004
2020-01-30 00:42
回复【楼主位】liuxing7851
-----------------------------------------------------------------------

兄弟!能否请教你个问题啊!
你用的 是什么传感器啊?
我用的力值采集的传感器  按ADS1232的文档里面是编码是偏移二级制编码:
0x7f 和0x80  可以用来判断方向
力值传感器拉的时候最高八位是0x7f的话,那么压的时候就应该是0x80
但是我现在采集的得到的最高八位的值分别是0x00和0xff
这是何故啊?
难道是读函数的问题?
能否把你的读函数程序分享下啊?
我采用的是STC12C5A60S2单片机
以下是我的读程序
uchar ReadAdcData()
{
        uchar i=0;
        uchar Data=0x00;       
        for(i=0;i<8;i++)
        {
                Data<<=1;       
                Sclk=1;
                if(Dout==1)                {Data=Data+1;}       
                Sclk=0;       
        }
        Sclk=1;
        Sclk=0;
        return(Data);       
}

一周热门 更多>