IC代烧网


首页 -- IC代烧-- IC编程器-- 适配器座子-- 仿真器-- 相关知识解答 --关于我们
 
IC代烧网 >> 适配器座子 >> 当前位置

软件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;
 }
}

返回顶部


2013-2015 IC代烧网 All Rights Reserved.
如有任何问题和建议请联系:498187676@qq.com

深圳市星光芯电子有限公司 版权所有
深圳市龙岗区南湾街道平吉大道1号建昇大厦B栋1618(李朗软件园对面)
联系人:周工  手机:13713820066


站点地图

粤ICP备12084176号