打印
[疑难问答]

片内AD转换值不变是什么原因??

[复制链接]
1392|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
philein|  楼主 | 2012-6-8 14:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
unsigned int ADC_Convert(void)
{        unsigned int result,temp1,temp2;
        ADCDH=0;                       
        ADCDL=0;
        ADCON0= 0x80;
    delayms(1);
        ADCFG0 = 0x12;         /*全速模式*/
        ADCON0|= 0x08;
    while ((ADCON0 & 0x10) == 0 );    /*转换完成,ADC硬件会自动清除ADCS并且ADCI置位。ADCS或ADCI为”1”时将不会开始新的A/D转换。 */
    ADCON0 &= 0xE7;
        temp1=ADCDH;
        temp2=ADCDL;
        result = (temp1<<8) + temp2;   
        return(result);
}       

每次返回的result的值都不变,为什么啊,我直接量P10的AD口电压是在变化的。。可以变化的时候AD值不变。。。是程序哪里出问题了吗?
沙发
zhangli019| | 2013-3-11 12:53 | 只看该作者
holly,想想每次你得到的值是多少,这个值有没有什么意义

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

13

帖子

0

粉丝