新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 廉价实用的双积分A/D转换器

廉价实用的双积分A/D转换器

作者:时间:2009-10-19来源:网络收藏
1原理

  51系列单片机具有两个以上16位双通道定时器(TIME0和TIME1),每个通道可选择为输入捕获方式来测量脉宽。我们用片内16位的定时器外接运放、比较器实现双转换。原理图如图1所示(电源和5l单片机外围电路同常规电路),TL082是JFETINPUT运放;LM358作为比较器;MC4066是多路开关。51单片机P1口的P10、P11、P12作为输出,控制MC4066多路开关的输入选择;INT0作为中断输入口,捕捉LM358比较器的输出电平跳变。C1为电容,常取0.22μF左右的聚丙烯电容,R2为电阻,可取500k左右,U2A为积分运放,U2A、C1、R2构成了积分器,U2B是过零检测运放。VIN为输入电压,VREF为基准电压,AGND为的参考零点。VREF和参考零点以R9、R10、R11分压产生。

本文引用地址:http://www.eepw.com.cn/article/173587.htm

  测量前,TK3=1、TK2=0、TK1=0,打开U1C、U1D模拟开关,使积分器输入等于AGND,进入调零阶段,第一次启动转换的时间为300ms;启动以后调零时间为40ms。开始转换时,TK3=0、TK2=0、TK1=1,积分器输入接至输入电压,使VIN通过积分电阻R2向C1充电,设积分时间为T。然后,将TK3=0、TK2=1、TK1=0,即积分器输入接至基准电压VREF,电容C1开始通过R2向VREF逆向放电。当运放的输出低于C2电容电压时,比较器输出反转。然后,TK3=1、TK2=0、TK1=0,打开U1C、U1D模拟开关,又进入调零阶段。设逆向充电的时间为t,则有

  上式中VIN是被测电压,T是正向积分时间,t是反向积分时间,VREF是基准参考电压,AGND是的参考零点。积分器输出波形如图2所示。

2软件结构

  程序由初始化程序、输入捕捉中断服务程序、TIME0中断服务程序和调用该程序模块的接口程序组成。

  程序初始化时,置TK3=1、TK2=0、TK1=0,软件300ms延时,进行初始调零;进行正向积分时,关闭INT0,置TK3=0、TK2=0、TK1=1,开TIME0(设置TIME0工作在定时方式),进行定时正向积分;正向积分完毕,设置定时TIME0工作在输入捕获方式,打开INT0,置TK3=0、TK2=1、TK1=0,进行反向积分,TIME0进行计时,利用另一个寄存器来计数定时器溢出次数;当比较器输出反转、INT0中断产生时,单片机自动关断TIME0,完成一次双积分A/D转换。AD值(HEX)=寄存器计数值*100+TIME0。

  源程序清单如下:       

 


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭