使用ADS1251做数据采集
现在MCU供电使用的是3.3V,为了避免做电平匹配的问题,ADS1251我想也使用3.3V供电,不知是否可行?
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
使用ADS1251做数据采集
现在MCU供电使用的是3.3V,为了避免做电平匹配的问题,ADS1251我想也使用3.3V供电,不知是否可行?
谢谢
请问该IC的CLK,SCLK以及DOUT直接和3.3V供电的MCU IO相连是否可行呢?谢谢
Hi
不可以直接相连,或可以采用增加电平转换器等方式来实现。
请问有没有关于ADS1251的例程呢?
或者看看我现在使用的读ADS1251的程序是否正确呢?
MCU:ATC89C52
void Read_chip(void) { unsigned char data i; unsigned char data temp1; // temp1=0x01; temp1=0x80; SCLK=0; CPU_CLK=0; //DRDY 模式 for(i=0;i<48;i++) CPU_CLK=~CPU_CLK; //t4 for(i=0;i<12;i++) CPU_CLK=~CPU_CLK; //t2 for(i=0;i<12;i++) CPU_CLK=~CPU_CLK; //t3 //DOUT 模式 //在SCLK 的下降沿获取数据 // CPU_CLK=1; // CPU_CLK=0; SCLK=1; CPU_CLK=1; CPU_CLK=0; if(Dout==1) ads_data3+=temp1; temp1=(temp1>>1); for(i=0;i<7;i++) { //SCLK=1; SCLK=0; CPU_CLK=1; CPU_CLK=0; CPU_CLK=1; //CPU_CLK=0; SCLK=1; SCLK=0; CPU_CLK=1; CPU_CLK=0; if(Dout==1) ads_data3+=temp1; // temp1=(temp1<<1); // ads_data3=(ads_data3<<1); CPU_CLK=1; CPU_CLK=0; temp1=(temp1>>1); } // temp1=0x01; temp1=0x80; for(i=0;i<8;i++) { //SCLK=1; SCLK=0; CPU_CLK=1; CPU_CLK=0; CPU_CLK=1; CPU_CLK=0; SCLK=1; //SCLK=0; CPU_CLK=1; CPU_CLK=0; if(Dout==1) ads_data2+=temp1; // temp1=(temp1<<1); // ads_data3=(ads_data2<<1); CPU_CLK=1; CPU_CLK=0; temp1=(temp1>>1); } // temp1=0x01; temp1=0x80; for(i=0;i<8;i++) { //SCLK=1; SCLK=0; CPU_CLK=1; CPU_CLK=0; CPU_CLK=1; CPU_CLK=0; SCLK=1; //SCLK=0; CPU_CLK=1; CPU_CLK=0; if(Dout==1) ads_data1+=temp1; // temp1=(temp1<<1); // ads_data3=(ads_data1<<1); CPU_CLK=1; CPU_CLK=0; temp1=(temp1>>1); } SCLK=0; for(i=0;i<176;i++) CPU_CLK=~CPU_CLK; for(i=0;i<176;i++) CPU_CLK=~CPU_CLK; for(i=0;i<176;i++) CPU_CLK=~CPU_CLK; }