采样问题

[复制链接]
2977|20
 楼主| 宋倩2010 发表于 2013-6-16 15:52 | 显示全部楼层 |阅读模式
void adc_init(void)
{ADCON=0x16;
ADT=0xA7;//0X87采样时间8us;转换时间20us;
ADCH=0xff; //全为ADC输入口    只要程序运行到这 电压就被拉到了0V,采样就不行了。请问这是怎么了。
ADCON=0x87;
}
电池采样尽然2V 快郁闷死了。那里必须那样设置啊 ,不然就采不了样了啊。速求问题所在
 楼主| 宋倩2010 发表于 2013-6-16 15:56 | 显示全部楼层
硬件本身电压3.7V
chenho 发表于 2013-6-16 15:57 | 显示全部楼层
不知道怎么回事,你接VDD看看是不是对的呢?
gongche 发表于 2013-6-16 15:59 | 显示全部楼层
哪颗IC?
 楼主| 宋倩2010 发表于 2013-6-16 16:00 | 显示全部楼层
SH79F166
 楼主| 宋倩2010 发表于 2013-6-16 16:02 | 显示全部楼层
是内部VDD啊 还没接外了
 楼主| 宋倩2010 发表于 2013-6-16 16:03 | 显示全部楼层
我的采样脚在AN4-AN7都不行,电压被拉到0V。但是改到AN0-AN3就可以了 版主解释下为什么啊
gongche 发表于 2013-6-16 16:04 | 显示全部楼层
ADCH只能一位为1;
huwr 发表于 2013-6-16 16:05 | 显示全部楼层
是不是LCD和ADC共用的问题?
P3.4~P3.7用作AN4~AN7时需要满足2个条件:
   1. CHx = 1;
   2. SCHx = 1;
   CHx = 1,SCHx = 0时,P3.4~P3.7会作为LCD口 。
 楼主| 宋倩2010 发表于 2013-6-16 16:09 | 显示全部楼层
有什么解决方案吗?
huanghuac 发表于 2013-6-16 16:10 | 显示全部楼层
把没有用到的通道设置为输入无上拉,ADCH[7:4]对应清0即可。
happy_10 发表于 2013-6-16 16:11 | 显示全部楼层
void adc_init(void)
{ADCON=0x06;
ADT=0xA7;
ADCH=0xff;
ADCON=0x87;
}
冰清玉洁 发表于 2013-6-16 16:12 | 显示全部楼层
LCD共享的问题
P3.4~P3.7用作AN4~AN7时需要满足2个条件:
   1. CHx = 1;
   2. SCHx = 1;
   CHx = 1,SCHx = 0时,P3.4~P3.7会作为LCD口 。
   解决方法:把没有用到的通道设置为输入无上拉,ADCH[7:4]对应清0即可。
   (就是说,开始转换的时候,才将该IO口设置成ADC口)
    正确切换通道举例如下:
     P3SS = 0X0F;
     P3CR = 0X00;
     P4CR = 0X00;

; AN4
      ADCON = 0X08;
      ADCH = 0X10;

;AN5
      ADCON = 0X0A;
      ADCH = 0X20;
happy_10 发表于 2013-6-16 16:13 | 显示全部楼层
ADCON=0x86;
这样更可靠点;试下呢
zhuhuis 发表于 2013-6-16 16:14 | 显示全部楼层
其实可以用内部采样口,就不会有问题了。
zhuhuis 发表于 2013-6-16 16:15 | 显示全部楼层
比如说PIC的AD有一个内部固定参考电压通道,就可以反算出PIC的供电电压了。
tian111 发表于 2013-6-16 16:16 | 显示全部楼层
这个方法有点不稳定
zhuhuis 发表于 2013-6-16 16:18 | 显示全部楼层
更重要的是,不用任何外部电路,就一个最简系统就可以完成。
chenho 发表于 2013-6-16 16:19 | 显示全部楼层
这个问题在说明书里应该说明下
gongche 发表于 2013-6-16 16:21 | 显示全部楼层
application note上有说明
您需要登录后才可以回帖 登录 | 注册

本版积分规则

322

主题

3217

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部