STC12C5A60S2 的AD转化问题。电压偏移。

使用STC12C5A60S2的单片机自带AD转化功能来检测分压电阻的电压值,程序正常,端口配置正确(高阻态)如图所示Vntc=R1/(R1+R2)*VCC.我的电阻是10... 使用STC12C5A60S2的单片机自带AD转化功能来检测分压电阻的电压值,程序正常,端口配置正确(高阻态)如图所示Vntc=R1/(R1+R2)*VCC. 我的电阻是10K,NTC是25摄氏度下10K,VCC为5V。当不接入P1口(P1.1)时,假如用万用表测量Vntc是2.5V,但一接入P1.1,电压会升到3.7V,软件测试是3.7V,用万用表测试也是3.7V,证明这时电压确实是3.7V。改变温度,万用表测试值与软件计算值一致。断开P1.1口,电压又回到正常的分压值,如2.5V。不知道为什么会这样?
我相信很多人都有这样的问题,只是没有发现。因为当你接上转化端口,仪器(万用表或示波器)电压确实和单片机检测的一致,断开单独测试却不一样。这是单片机内部电路结构导致的,虽然设置为高阻态,但实际还是有电阻接入外部AD输入电路。
这个问题,我昨天解决了,方法增加一个运放电压跟随器,彻底断绝后端AD输入对前端输出影响。前端分压接运放输入,运放为电压跟随器接法,输出接入P1口AD转化。现在,断开P1口,仪器测试电压,和接入P1口仪器测试电压,单片机计算电压,全部一致。
展开
 我来答
GUEL86
2018-12-13 · TA获得超过5856个赞
知道大有可为答主
回答量:5538
采纳率:86%
帮助的人:2733万
展开全部
STC单片机AD转换,检测AD的端口应该设置为模拟量输入(端口为高阻态),从状态数据看显然是设置有问题,如P1.1端口为AD输入端,应该设置 P1ASF = 0000 0010,如
sfr P1ASF = 0x02; // P1.1端口模拟量输入
可以检查一下程序是否有这一项,可以修改一下试试。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式