芯LYS 发表于 2026-1-22 14:33:21

STC12C5A60S2的P1口作为ADC输入,应用的一些疑问 请教

帮忙 请教:

设置高阻输入模式下P1.0-P1.7口都有3.65-3.68V(悬空测量)
设置推换输出低电平:P1.0-1.7=0.06-0.08V(悬空测量)

STC12C5A60S2的P1口作为ADC输入,配置为高阻输入时,悬空所有P1口,有3.6几V-3.7V电压,这是正常的吗?该怎么解决?
下面是测试代码。


#include "STC12C5A60S2.h"
#include <intrins.h>

void delay_seconds(unsigned char seconds);

void main(void)
{
    unsigned int i;

    while(1)
    {
      /* 高阻输入 */
      P1M0 = 0x00;
      P1M1 = 0xFF;
      P1 = 0x00;

      /* 保持5秒,测量P1.0-P1.7电压:实际测量是3.62-3.70V */
      delay_seconds(5);

      /* 准双向口 */
      P1M0 = 0x00;
      P1M1 = 0x00;
      P1 = 0x00;

      /* 保持5秒,测量P1.0电压:实际测量是0.08V */
      delay_seconds(5);

      /* 推挽 */
      P1M0 = 0xFF;
      P1M1 = 0x00;
      P1 = 0x00;

      /* 保持5秒,测量P1.0电压:实际测量是0.08V */
      delay_seconds(5);
    }
}

void delay_seconds(unsigned char seconds)
{
    unsigned int i, j, k;

    for(k = 0; k < seconds; k++)
    {
      for(j = 0; j < 1000; j++)
      {
            for(i = 0; i < 810; i++)
            {
                _nop_();
            }
      }
    }
}

DebugLab 发表于 2026-1-22 21:54:15

高阻悬空电压是随机数是正常的,测量高阻悬空电压无意义

海阔天空任我飞 发表于 2026-1-25 14:51:22

DebugLab 发表于 2026-1-22 21:54
高阻悬空电压是随机数是正常的,测量高阻悬空电压无意义

现在无法读数,有什么解决方案?

DebugLab 发表于 2026-1-25 17:20:49

海阔天空任我飞 发表于 2026-1-25 14:51
现在无法读数,有什么解决方案?

高阻,外部接入待测电路,禁止开路
页: [1]
查看完整版本: STC12C5A60S2的P1口作为ADC输入,应用的一些疑问 请教