打印

12F615的ADC可以采样内部1.2或0.6V通道吗

[复制链接]
2589|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Lx_mcu|  楼主 | 2011-10-6 20:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问一下,12F615的ADC可以采样1.2或0.6V通道吗? 我采样回来的数据为0  0.6V我使能了,我用比较器测试是可正常工作的,

下面是ADC拟通道选择位:
CHS<2:0>:模拟通道选择位
000 = 通道00 (AN0)
001 = 通道01 (AN1)
010 = 通道02 (AN2)
011 = 通道03 (AN3)
100 = CVREF
101 = 0.6V 参考电压
110 = 1.2V 参考电压
我主要是想确认电源电压是不是正常,想采样一下内部0.6或1.2V来确认,我用是的电源电压做参考,想提高一下ADC的精度,
沙发
xaq79| | 2011-10-12 13:55 | 只看该作者
可以采样

使用特权

评论回复
板凳
yewuyi| | 2011-10-12 14:59 | 只看该作者
既然101,110都已经写那么清楚了,那还有什么疑问的?

自然就是可以嘛。

使用特权

评论回复
地板
Lx_mcu|  楼主 | 2011-10-12 21:04 | 只看该作者
问题就是采样回来的数据为0

使用特权

评论回复
5
XIEYUANBIN| | 2011-10-13 08:04 | 只看该作者
你采样别的外部电压是0吗?看看你的AD设置

使用特权

评论回复
6
asspeed| | 2011-10-13 08:27 | 只看该作者
0.6V和1.2V内参需要使能吗?
你可以拿它们来修正VDD的偏差,
但是它们自身的误差大概为百分之十几,
所以如果你VDD本身浮动范围如果在百分之十以内,那么这种方法没有意义,
除非你自己对每个芯片的内参做标定,然后进行补偿,那么可以减少误差。
其实最好用好一点的LDO或者用外部参考源反而方便些,
但是可能整体成本就。。。。。

使用特权

评论回复
7
Lx_mcu|  楼主 | 2011-10-23 21:30 | 只看该作者
在外出差,不好意思,
其它ADC是OK的,就是内部0.6或1.2V采样为0

int ADC(unsigned char channel)                //AD转换.
{
        while(GODONE);   
        switch(channel)
        {
                case 0x00:        ADCON0=0x81;        break;        //AN0.
                case 0x01:        ADCON0=0x85;        break;        //AN1.
                case 0x02:        ADCON0=0x89;        break;        //AN2.
                case 0x03:        ADCON0=0x8d;        break;        //AN3.
                case 0x04:        ADCON0=0x95;        break;        //0.6
                case 0x05:        ADCON0=0x99;        break;        //1.2               
                default :        ADCON0=0x81;        break;
        }
        GODONE = 1;
    while(GODONE);      
    return (ADRESH<<8)+ADRESL;
}

使用特权

评论回复
8
Lx_mcu|  楼主 | 2011-10-23 21:31 | 只看该作者
它们自身的误差大概为百分之十几??
有这么大吗,我查下datasheet看看

使用特权

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

本版积分规则

11

主题

30

帖子

0

粉丝