STC单片机AD转换问题

如下图:1、此电AD硬件检测电路接入XPT2046再进入单片机,显示正常,大概为5V的55%2、此硬件电路如下图接入单片机,显示为5V的90%,此时,单片机的P10端口接... 如下图:1、此电AD硬件检测电路接入XPT2046再进入单片机,显示正常,大概为5V的55%2、此硬件电路如下图接入单片机,显示为5V的90%,此时,单片机的P10端口接GND显示为0,接5V也可以显示5V。但不按硬件电路分压的2.6V左右显示。当硬件电路中的电阻值发生变化时,显示值也变化。就是不按硬件分压来显示。3、单片机为STC12C5A60S2,自10位AD转换。P1M1和P1M0在程序中设置为高阻或是开漏都是这样的结果。4、请大家帮忙分析一下,问题 出现在哪里?
void GETAD()
{
P1M0|=0x00;
P1M1|=0x01;
AUXR1|=0x04;
ADC_CONTR |= ADC_POWER; //打开AD转换电源
delay1ms();
ADC_RES=0; //
ADC_RESL=0; //ADC转换结果寄存器清0
P1ASF=0x01; //设置相应的I/O口为ADC模拟通道 P1.0
delay1ms();
ADC_CONTR=ADC_POWER|ADC_START|ADC_SPEEDLL|0x00;
_nop_();_nop_();_nop_();_nop_(); //Must wait before inquiry
while (!(ADC_CONTR&ADC_FLAG)); //Wait complete flag
ADC_CONTR&=0x00; //Close ADC
batvol=ADC_RES*256+ADC_RESL; //Return ADC result
}
展开
 我来答
DoramiHe
2018-02-26 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59545
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
你在AD中断函数读取转换结果就行了,开了AD中断而没有中断函数的话会出问题的。
追问
我用的是查询方式啊!没有用中断!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式