ilikemcu 发表于 2007-11-5 15:28:37

求电路图:最近用51做个东东,需要检测蓄电池电压,不需要很准确,但是51没AD,在google上搜到

软件A/D

/*软件A/D所能实现的精度有限,测量电压范围是2-15V,
而且速度低(约1KHz),但仅用一个电容和一个电阻的诱惑
力,我想大虾您会笑纳的。用于某些场合是有用的。
原理是利用470K电阻对1uF电容充电,利用P0.0口作为检测电压,
当电压低于1/3 VCC时,P0.0读入的I/O电平为0,当充电电压超过
1/3 VCC时,P0.0读入的I/O电平为1。通过测量此过程所用的时间,
就能判断输入电压(需要换算)。
程序的编写用定时器0实现
*/

//设计时需要计算过2V充电时测量的电压时间小于250ms,否则time溢出。
//如需要高精度,time,vol换成int,测量时间会长一点

sbit v_input=P0^0;
unsigned char time,vol,n;
unsigned int total;

void int_t0(void) interrupt 1 {
TL0+=24;TH0=0xfb; //1000个机器周期
time++;
if (v_input) {
v_input=0; //把电容电压放调
total+=time;
time=0;
if ((++n)>10) { //统计10次测量的时间
   n=0;
   vol=total/10; //vol的值为测量的电压(还没有转换)
   total=0;
}
v_input=1;
}
}

1a2b3c 发表于 2007-11-5 16:01:01

stc的不就是51的系列么,带ADC,8位10位的型号都有

ilikemcu 发表于 2007-11-5 18:48:12

1楼的朋友有所不知啊,STC带ADC的芯片FLASH容量最大的才12K,我用的是STC89C58,32K flash,刚刚够。

1a2b3c 发表于 2007-11-8 18:50:01

晕,89LE58AD不就是吗
你都买了他们芯片了都不多看一下选型手册,还有516AD,64KFLASH的

ilikemcu 发表于 2007-11-8 21:04:15

呵呵,楼上的朋友有所不知,那些带AD的是3.3V电压,而且都不带内部EE了,我要用5V电源的,而且使用内部大容量的FLASH DATA ,有29KB,呵呵,可以省略一个24C256了。

现在决定不用AD了,直接用个LM358当比较器用,对电池上下限作个监控,保证不过充不过放,再辅之于软件,应该可以了。

谢谢!
页: [1]
查看完整版本: 求电路图:最近用51做个东东,需要检测蓄电池电压,不需要很准确,但是51没AD,在google上搜到