求助, 用M16做充电器, 显示的数字一直在跳动
RT, 做的是两路的镍氢充电器, 12864显示, 在放了两节电池的情况下,检测电压准确, 但是如果放一节电池, 另外一个通道的电压就会毫无规律地跳动,而不会显示0mv(很多时候显示1023). 两个通道空着的时候也是跟放一节电池一样跳动. 请问有什么方法可以解决?附上AD函数,是用CVAVR自动生成的.
#define ADC_VREF_TYPE 0x00
uint read_adc(uchar adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
delay_us(10);
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
} 还有个问题, AD的输入阻抗大约有多大? 肯定的!
想想看,引脚悬空的时候到底0v呢还是5V呢,或者是2.5V呢 —— 结论是都有可能、不确定的。 应该没有悬空吧 确实不是悬空,但是要看它的硬件的,从表现上看,是弱上拉,所以显示满值。
因为是弱上拉,所以超出量程,而且不稳定。所以你读数肯定不稳定。
我所指的悬空,是指检测电池的电池位,不是指引脚!只是拿引脚举个例子。
想要显示 0mv, 你要拿个电线把它短路起来才行。 的确, 接了一个10K的电阻后就不跳动了 感谢以上各位... 有这个的制作资料吗?给一个啊.谢谢!jlw111@163.com 呵呵 超量程了 显示的东西是奇怪 嗯 monlika 给一个资料行吗!!!谢了 zwei9@163.com ./emotion/em172.gif
页:
[1]