- 打卡等级:常住居民I
- 打卡总天数:63
- 最近打卡:2026-03-13 11:14:15
超级版主
- 积分
- 2662
|
帮忙 请教:
设置高阻输入模式下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_();
}
}
}
}
|
|