1原理
51系列单片机具有两个以上16位双通道定时器(TIME0和TIME1),每个通道可选择为输入捕获方式来测量脉宽。我们用片内16位的定时器外接运放、比较器实现双积分A/D转换。原理图如图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分压产生。
测量前,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。
源程序清单如下:
3工艺上应注意的问题
(1)充放电时间(T和t)一般不能超过2RC。超过时线性误差会增大。
(2)PCB板设计时模数电源的地要分开,单点相接;AD转换部分元件连线尽可能短,这部分元件应与数字部分元件分开;PCB板应采用较厚铜箔的板材。
(3)保持PCB板和元件的清洁,模拟部分应涂上防水胶。
(4)积分电容应采用漏电小的聚丙烯电容,基准分压电阻和积分电阻应采用温度系数和噪声较小的电阻。
关键字:单片机 电压 电容
编辑: 引用地址:一种廉价实用的双积分A/D转换器
推荐阅读最新更新时间:2023-10-12 20:12
单片机最小系统不能烧写程序的解决思路
现象:单片机晶振不起振,不能烧写程序
调查步骤:
1、怀疑晶振谐振电容等贴片有误 ,重新换上后,还是不能下载,排除;
2、怀疑单片机电源纹波过大,示波器测量发现纹波正常,排除;
3、怀疑单片机复位脚,用示波器测量发现复位脚为低,终于找到问题点;
4、复位脚为低,原因是硬件复位狗打开了,而刚开始下载的程序没有使能复位狗,故失效;
5、将复位狗用IO disable 后,单片机烧写正常。
620)this.width=620;" border=1>
复位狗电路
晶振完美波形~~~
620)this.width=620;" border=1>
晶振波形
620)th
[单片机]
单片机DIY小型电压表
这款电路简单制作容易的STC12C2052AD单片机0-9.9V电压表,电路简单,元件少,容易制作,PCB板为单面板,下面是制作好的实物。文后附有原理图、源程序等资料。 单片机源程序如下: #include STC12C2052AD.H //单片机头文件 #include intrins.h //51基本运算(包括_nop_空函数) #define uchar unsigned char #define uint unsigned int sbit temp=P1^7; sbit LED3=P3^0; //C sbit LED0=P1^4; // 小数点后一位 sbit LED1=P1^3;
[单片机]
针对高分辨率照相手机的LED闪光灯超级电容参考设计
手机正在变成终极集大成便携式消费电子平台。它的性能包括:捕捉高质量图像、Wi-Fi网络访问、清脆的音频、更长的通话时间、以及更长的电池寿命。不过,一个主要的设计挑战也正在浮现出来。为了适应高度复杂的移动应用,手机电池仍然需要费很大的力气才能提供足够的峰值功率,这就推动了可为高性能操作提供所需功率的电路的需求,这种电路可以在不过载电池的前提下在短时间内储存大电流。
对高级照相手机制造商来说,最重要的挑战就是提供高亮度相机闪光灯所需的大峰值电流。随着照相手机的分辨率增长到三百万像素及以上,产生高质量图像所需的光通量也已急剧提高。为了匹配数码相机的照片质量,必须以高达2A的电流驱动led闪光灯,或将氙气闪光管充电到330V
[电源管理]
平凡单片机教学 第二十三讲 动态扫描显示接口
动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。
在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数
[单片机]
51单片机延时程序分析
上一次课中,我们已经知道,程序中的符号R7、R6是代表了一个个的RAM单元,是用来放一些数据的,下面我们再来看一下其它符号的含义。 〈单片机延时程序〉 MOV:这是一条指令,意思是传递数据。说到传递,我们都很清楚,传东西要从一本人的手上传到另一本人的手上,也就是说要有一个接受者,一个传递者和一样东西。从指令MOV R7,#250中来分析,R7是一个接受者,250是被传递的数,传递者在这条指令中被省略了(注意:并不是每一条传递指令都会省的,事实上大部份数据传递指令都会有传递者)。它的意义也很明显:将数据250送到R7中去,因此执行完这条指令后,R7单元中的值就应当是250。在250前面有个#号,这又是什么意思呢
[单片机]
单片机值得学吗?会单片机能找什么工作?
我是在2011年自学的单片机,我本专业是电气工程,读了2年后整个系被学校强制安排成电梯专业。 临近毕业,我才知道这个专业有多坑,工作环境恶劣、体力活、出了事故要负责任、24小时待命的工作模式、最可悲的是工资还低的可怜。 辛辛苦苦读书20多年去做这种工作,我不甘心。 所以还没正式毕业,我就果断转行,后面无意间接触到嵌入式开发。 又从嵌入式开发了解到单片机,因为相对比较容易上手,学习的东西少。 也是从那个时候开始,解开了我对智能硬件到底是怎么做的这个疑问。 大概学了3个多月,把51开发板上的每个硬件都控制了一遍,并且基于开发板做了一个电子时钟的小项目。 然后就去找工作,因为是转行,又没项目经验,公司基本都不要。 后面在某宝买了一个智能
[单片机]
液晶显示模块与8031单片机的接口电路及编程
液晶显示器(LCD)具有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,近年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。LCD可分为段式LCD、字符式LCD和点阵式LCD。其中,段式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线以及汉字、动画,并且可以实现屏幕滚动、反转、闪烁等功能,用途十分广泛。本文主要阐述点阵式液晶显示模块QPYD-03与单片机8031的接口及编程方法。 QPYD-03液晶显示控制器是北京精电蓬远显示技术有限公司开发的液晶显示控制IC。其特点为: 控制彩色320*3*240
[单片机]
电容式液位传感器与浮球式液位开关的区别
工作原理: 浮球式液位开关根据浮球随着液位的上升下降而浮动时,浮球内的磁铁去吸引磁簧开关的接点,产生开与关的动作,随后给出通断信号。 电容式液位传感器通过测探介质的导电率或绝缘率决定是否有液体的存在,简单可以理解为根据所检测到电容值的变化来判断有水或无水,输出高低电平信号(0和1数字信号)。 外观: 浮球式液位开关结构松散,体积大。而电容式液位传感器结构较小。 检测精度: 浮球式液位开关是接触式传感器,本身的精度就不高,且时间久后产生水垢,水垢导致浮球增重后影响液位检测精度会不准。 电容式液位传感器不接触液体,不受液体特性影响,但需贴紧容器壁不能有空隙,否则会影响灵敏度。电容式液位传感器因为内部有芯片的问题,所以通
[测试测量]