TI论坛
直播中

杨春林

8年用户 992经验值
私信 关注
[问答]

在调节AD623的5脚电压时,显示的AD数就是调不到1000字?这是为什么?


  • TLC2543采集值不对,在基准位2.447V(电压表测出来的),7脚是信号输入,外部信号通过AD623数据放大再输入,在输入为零时,AD623的5脚电压作为输入信号;
    在做实验时输入为零,AD623的5脚加一个0.5878—0.6172V,那么数码管上应该显示984—1033字显示,可是在调节AD623的5脚电压时,显示的AD数就是调不到1000字?这是为什么?
    TLC2543驱动函数:
    sbit _CS=P3^5;
    sbit CLOCK=P3^6;
    sbit EOC=P3^7;
    sbit DA_IPUT=P2^4;
    sbit DA_OUT=P2^3;

    unsigned int AD_out()
    {  
    unsigned char i;  
    unsigned int AD_value=0;
    _CS=0;
    CLOCK=0;
    for(i=0;i<12;i++)
    {   DA_OUT=1;  
    _nop_();_nop_();_nop_();  
    CLOCK=1;  
    _nop_();_nop_();  
    AD_value*=2;  
    if(DA_OUT) AD_value++;  
    CLOCK=0;  }  
    _CS=1;
    CLOCK=0;  
    wait(5);  
    if(AD_value>=2)AD_value-=2;
    return(AD_value);
    }
    void INIT_2543(unsigned char com)
    {  unsigned char n;
      _CS=0;
    CLOCK=0;
    for(n=0;n<12;n++)
    {   CLOCK=0;  
    if(n<8)
       {  
      DA_IPUT=(bit)(com&0x80);  
      com=com<<1;
      }
      CLOCK=1;
      }
    _nop_();_nop_();
    CLOCK=0;
    _CS=1;  
    DA_IPUT=0;
    }
    unsigned int TLC2543(unsigned char com)
    {  EOC=1;
    _nop_();_nop_();
    INIT_2543(com);
    wait(5);  
    while(!EOC);
    return AD_out();
    }

回帖(2)

李远

2025-1-15 09:18:45
 你可以用示波器看下读写时序,看下读写是否正常。
然后再检查程序。
举报

尚文清

2025-1-16 09:50:46
根据您的描述,您在使用AD623和TLC2543进行数据采集时遇到了问题。AD623的5脚电压调节无法达到预期的1000字显示值。以下是可能的原因和解决方案:

1. **AD623配置问题**:
   - 确保AD623的配置正确,包括增益设置、电源电压等。
   - 检查AD623的数据手册,确认5脚(输出电压)的预期范围和您的设置是否匹配。

2. **TLC2543配置问题**:
   - 检查TLC2543的配置,确保其工作在正确的模式下,比如单端或差分输入模式。
   - 确认TLC2543的参考电压(Vref)是否设置正确,因为这直接影响到ADC的输出值。

3. **代码问题**:
   - 检查您的TLC2543驱动函数,确保没有逻辑错误,特别是在读取ADC值的部分。
   - 确认您的代码是否正确地初始化了TLC2543,并且正确地处理了EOC(结束转换)信号。

4. **硬件连接问题**:
   - 检查所有连接是否牢固,包括AD623和TLC2543之间的连接。
   - 确保没有短路或开路的情况。

5. **电源和地线问题**:
   - 检查电源是否稳定,地线是否接好,这可能会影响模拟信号的稳定性。

6. **校准问题**:
   - 如果您的系统需要校准,确保已经进行了正确的校准步骤。

7. **代码示例分析**:
   - 您提供的代码片段不完整,但您应该检查`AD_out`函数中的逻辑,确保在读取ADC值时没有错误。特别是,您需要确保在读取数据之前,TLC2543已经完成了转换,并且您正确地读取了数据。

8. **调试建议**:
   - 使用示波器检查AD623的输出电压,确保它在预期的范围内变化。
   - 使用逻辑分析仪检查TLC2543的SPI通信,确保数据传输没有问题。

如果以上步骤都无法解决问题,您可能需要提供更详细的代码和硬件连接图,以便进一步分析问题所在。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分